Heute sollten wir einfach die Flexbox .
ALTE ANTWORT:
OK, obwohl ich sowohl die font-size: 0;
und die not implemented CSS3 feature
Antworten, Nach einigen Versuchen fand ich heraus, dass keine von ihnen ist eine echte Lösung .
Tatsächlich gibt es nicht einmal eine Abhilfe ohne starke Nebenwirkungen.
Dann Ich habe beschlossen, die Leerzeichen zu entfernen (in dieser Antwort geht es um diesen Streit) zwischen der inline-block
divs aus meinem HTML
Quelle ( JSP
), dreht dies:
<div class="inlineBlock">
I'm an inline-block div
</div>
<div class="inlineBlock">
I'm an inline-block div
</div>
hierzu
<div class="inlineBlock">
I'm an inline-block div
</div><div class="inlineBlock">
I'm an inline-block div
</div>
das ist hässlich, aber es funktioniert.
Aber, warten Sie eine Minute... was, wenn ich meine divs innerhalb generieren Taglibs loops
( Struts2
, JSTL
etc...) ?
Zum Beispiel:
<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>
Es ist absolut nicht denkbar, all diese Dinge zu integrieren, denn das würde bedeuten
<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>
Das ist nicht lesbar, schwer zu pflegen und zu verstehen, usw.
Die Lösung habe ich gefunden:
Verwenden Sie HTML-Kommentare, um das Ende eines Divs mit dem Anfang des nächsten Divs zu verbinden!
<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>
Auf diese Weise erhalten Sie einen lesbaren und korrekt eingerückten Code.
Und, als positiver Nebeneffekt, die HTML source
obwohl sie von leeren Kommentaren überschwemmt wird, korrekt eingerückt werden;
Nehmen wir das erste Beispiel. Meiner bescheidenen Meinung nach, dies:
<div class="inlineBlock">
I'm an inline-block div
</div><!--
--><div class="inlineBlock">
I'm an inline-block div
</div>
ist besser als dies:
<div class="inlineBlock">
I'm an inline-block div
</div><div class="inlineBlock">
I'm an inline-block div
</div>