ÉDITER:
aujourd'hui, nous devrions simplement utiliser Flexbox .
ANCIENNE RÉPONSE:
D'accord, même si j'ai voté à la fois font-size: 0;
pour les not implemented CSS3 feature
réponses et pour les réponses, après avoir essayé, j'ai découvert qu'aucune d'entre elles n'était une vraie solution .
En fait, il n'y a même pas une solution de contournement sans effets secondaires puissants.
Ensuite, j'ai décidé de supprimer les espaces (cette réponse concerne cet argument) entre les inline-block
divs de ma HTML
source ( JSP
), en tournant ceci:
<div class="inlineBlock">
I'm an inline-block div
</div>
<div class="inlineBlock">
I'm an inline-block div
</div>
pour ça
<div class="inlineBlock">
I'm an inline-block div
</div><div class="inlineBlock">
I'm an inline-block div
</div>
c'est moche, mais ça marche.
Mais, attendez une minute ... Et si je générer mes divs intérieur Taglibs loops
( Struts2
, JSTL
, etc ...)?
Par exemple:
<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>
Il n'est absolument pas pensable d'inclure tout ça, cela signifierait
<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>
qui n'est pas lisible, difficile à maintenir et à comprendre, etc ...
La solution que j'ai trouvée:
utilisez les commentaires HTML pour connecter la fin d'une div au début de la suivante!
<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>
De cette façon, vous aurez un code lisible et correctement en retrait.
Et, comme effet secondaire positif, le HTML source
, bien qu'infesté par des commentaires vides, résultera correctement en retrait;
prenons le premier exemple. À mon humble avis, ceci:
<div class="inlineBlock">
I'm an inline-block div
</div><!--
--><div class="inlineBlock">
I'm an inline-block div
</div>
c'est mieux que ça:
<div class="inlineBlock">
I'm an inline-block div
</div><div class="inlineBlock">
I'm an inline-block div
</div>