Aujourd'hui, nous devrions simplement utiliser Flexbox .
ANCIENNE RÉPONSE :
OK, bien que j'ai upvoted à la fois les font-size: 0;
et le not implemented CSS3 feature
réponses, après avoir essayé, j'ai découvert que aucune d'entre elles n'est une véritable solution .
En fait, il n'existe même pas de solution de rechange sans effets secondaires importants.
Puis J'ai décidé d'enlever les espaces (ce corrigé traite de cet argument) entre le inline-block
de mon HTML
source ( JSP
), en tournant ça :
<div class="inlineBlock">
I'm an inline-block div
</div>
<div class="inlineBlock">
I'm an inline-block div
</div>
à ce
<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ère mes divs à l'intérieur de 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 envisageable de mettre tout ça en ligne, cela signifierait que
<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>
Ce n'est pas lisible, difficile à maintenir et à comprendre, etc.
La solution que j'ai trouvée :
utilisez les commentaires HTML pour relier la fin d'un div au début du suivant !
<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>
Vous obtiendrez ainsi un code lisible et correctement indenté.
Et, comme un effet secondaire positif, le HTML source
bien qu'infesté de commentaires vides, sera correctement indenté ;
Prenons le premier exemple. A mon humble avis, ceci :
<div class="inlineBlock">
I'm an inline-block div
</div><!--
--><div class="inlineBlock">
I'm an inline-block div
</div>
est meilleur que ça :
<div class="inlineBlock">
I'm an inline-block div
</div><div class="inlineBlock">
I'm an inline-block div
</div>
0 votes
Voir ma réponse à cette question pour un ensemble complet d'options pertinentes maintenant : stackoverflow.com/questions/14630061/
0 votes
Références supplémentaires : 1. davidwalsh.nom/remove-whitespace-inline-block 2. css-tricks.com/fighting-the-space-between-inline-block-elements
0 votes
En rapport : stackoverflow.com/a/59357436/104380