РЕДАКТИРОВАТЬ:
сегодня мы должны просто использовать Flexbox .
СТАРЫЙ ОТВЕТ:
Хорошо, хотя я проголосовал и за, font-size: 0;
и за not implemented CSS3 feature
ответы, после попытки я обнаружил, что ни один из них не является реальным решением .
На самом деле, нет даже одного обходного пути без сильных побочных эффектов.
Затем я решил удалить пробелы (это ответы об этом аргументе) между inline-block
div-ами из моего HTML
источника ( JSP
), превратив это:
<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 с началом следующего!
<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>