编辑:
今天,我们应该只使用Flexbox。
旧答案:
好的,尽管我同时对font-size: 0;
和not implemented CSS3 feature
答案都进行了投票,但在尝试后我发现它们都不是真正的解决方案。
实际上,甚至没有一种没有严重副作用的解决方法。
然后,我决定inline-block
从HTML
源(JSP
)中删除 div 之间的空格(此答案是关于该参数的),将其变为:
<div class="inlineBlock">
I'm an inline-block div
</div>
<div class="inlineBlock">
I'm an inline-block div
</div>
对此
<div class="inlineBlock">
I'm an inline-block div
</div><div class="inlineBlock">
I'm an inline-block div
</div>
很难看,但是可以用。
但是,等一下...如果我发生什么在我的div的Taglibs loops
(Struts2
,JSTL
,等...)?
例如:
<s:iterator begin="0" end="6" status="ctrDay">
<br/>
<s:iterator begin="0" end="23" status="ctrHour">
<s:push value="%{days[#ctrDay.index].hours[#ctrHour.index]}">
<div class="inlineBlock>
I'm an inline-block div in a matrix
(Do something here with the pushed object...)
</div>
</s:push>
</s:iterator>
</s:iterator>
内联所有这些东西绝对是不可思议的,这意味着
<s:iterator begin="0" end="6" status="ctrDay">
<br/>
<s:iterator begin="0" end="23" status="ctrHour"><s:push value="%{days[#ctrDay.index].hours[#ctrHour.index]}"><div class="inlineBlock>
I'm an inline-block div in a matrix
(Do something here with the pushed object...)
</div></s:push></s:iterator>
</s:iterator>
难以阅读,难以维护和理解等...
我发现的解决方案:
使用HTML注释将一个div的结尾连接到下一个div的开头!
<s:iterator begin="0" end="6" status="ctrDay">
<br/>
<s:iterator begin="0" end="23" status="ctrHour"><!--
--><s:push value="%{days[#ctrDay.index].hours[#ctrHour.index]}"><!--
--><div class="inlineBlock>
I'm an inline-block div in a matrix
(Do something here with the pushed object...)
</div><!--
--></s:push><!--
--></s:iterator>
</s:iterator>
这样,您将获得可读且正确缩进的代码。
而且,作为积极的副作用HTML source
,尽管出现了空注释,但会正确缩进;
让我们来看第一个例子。以我的拙见,这是:
<div class="inlineBlock">
I'm an inline-block div
</div><!--
--><div class="inlineBlock">
I'm an inline-block div
</div>
比这更好:
<div class="inlineBlock">
I'm an inline-block div
</div><div class="inlineBlock">
I'm an inline-block div
</div>