Leerzeichen zwischen <img> tags
wenn ich diesen code verwenden (mit Leerzeichen zwischen den beiden tags):
<img src="....." style="border:0px;margin:0px" />
<img src="....." style="border:0px;margin:0px" />
gibt es 4 Pixel zwischen den Bildern. wenn ich dieses verwenden:
<img src="....." style="border:0px;margin:0px" /><img src="...." style="border:0px;margin:0px" />
den Raum zwischen den Bildern verschwinden, die auf allen Browsern!
Warum????????
- Jede Menge leerer Raum (aka " white space) gerendert, die einem Raum Charakter, wahrscheinlich seine Standard-Breite von 4 Pixel. Neue-Zeile-Zeichen ist als leerer Raum.
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://jsfiddle.net/JNWc7/
Das ist, weil der weiße Raum ist bedeutsam für inline-Elemente. Sie können immer schwimmen Ihre Bilder, wenn Sie wollen müssen Sie line-up.
Bearbeiten: Wie gewünscht, hier ein einfaches Beispiel:
CSS:
HTML:
Aus dem gleichen Grund, es ist ein Leerzeichen zwischen den Buchstaben a und b dieses Absatzes:
Jede Art von Raum in HTML behandelt wird, als ein Raum (und brach in ein einzelnes Leerzeichen).
Der Grund für dieses ist, weil HTML behandelt ein neue-Zeile-Zeichen wie Leerzeichen und Leerzeichen gedruckt.
Dies geschieht, weil Ihre newline gerendert wird als ein Raum.
Um dies zu vermeiden, stellen Sie sicher, es gibt keine Leerzeichen zwischen den tags.
Hier ' s was ich normalerweise tun:
Sicher, es ist hässlich. Aber es ist der beste Weg, damit umzugehen.
Anmerkung zu den anderen Antworten: die Schwimmer haben alle Arten von verschiedenen Effekten, die Sie wahrscheinlich nicht wollen (die meisten wichtiger ist, treiben Sie neben Ihren anderen Inhalten). Wenn Sie nur wollen, inline-Bilder, dies ist Ihre Lösung.
Wenn Sie don ' T haben jeden text in diesem div mit Bildern, font-size:0; behebt auch dieses Problem
Gibt es so viele gute Antworten auf diese Frage, aber ich denke, es ist die chance, dies könnte nützlich sein für alle, die gekommen sind, um dies in Zukunft.
<img>
Elemente fließen wie inline-text, aber auch eine Breite und Höhe wie der block-Elemente. In CSS können Sie festlegen, dass ein elementdisplay: inline-block
zu machen, repliziert das Verhalten der Bilder, so wäre es schön zu denken<img>
s alsinline-block
s (Browser technisch verwendendisplay: inline
aber Sie geben eine Besondere Behandlung, um Bilder wieinline-block
Elemente).Also, wenn Sie hinzufügen von weißen Flächen, die wie
zwischen Ihnen ist eine Lücke angezeigt.
Je nach der situation, die Sie können verwenden Sie eine der folgenden Methoden, um loszuwerden, der die Lücke:
margin-left
Entfernen Sie die Leerzeichen zwischen den Elementen, die getan werden kann:
1 - Setzen Sie ein Thema in einer Linie
2 - Entfernen Sie das Leerzeichen
3 - Verwenden Sie HTML-Kommentare
4 - Überspringen der schließende tag (im Falle es ist wie
li
). (HTML5-only)5-
font-size: 0
auf das parent-element