Редагувати:
сьогодні ми просто повинні використовувати Flexbox .
СТАРИЙ ВІДПОВІДЬ:
Гаразд, хоча я підтримав font-size: 0;
і not implemented CSS3 feature
відповіді, і відповіді, після спроби з'ясував, що жодна з них не є справжнім рішенням .
Насправді не існує навіть жодного рішення без сильних побічних ефектів.
Тоді я вирішив видалити пробіли (ця відповідь стосується цього аргументу) між inline-block
дівами з мого 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>
це некрасиво, але працює.
Але, стривайте ... що , якщо я генерувати мої діви всередині 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, щоб підключити кінець одного діва до початку наступного!
<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>