Woher kommt das? Wie man es ohne negative Ränder loswird (weil sie sich auf einigen Bildschirmen überlappen können).
Das liegt an der Nichtübereinstimmung zwischen der Höhe von .rectangle und der Rahmenbreite von .triangle. Sie können es anpassen, um den Abstand zwischen den divs zu entfernen
– Yaser Ali Peedikakkal
22. Juli 2016 um 9:08 Uhr
Der Grund, warum Sie diesen Platz haben, ist die unterschiedliche vertikale Ausrichtung Ihrer Inline-Blöcke – ziehen Sie in Betracht, dieselbe zu verwenden, und das Problem wird behoben.
– Anton Borizkiy
22. Juli 2016 um 12:44 Uhr
Martijn
Die anderen Antworten liefern Lösungen, aber nicht die warum das passiert:
Some given funny joke
-----^---------^-^
In dieser Zeichenfolge habe ich drei Zeichen markiert. Diese drei haben so genannte ‘Decender‘ (zB: die Schleife unter dem G, die Beine unter dem Y und J).
Wenn du etwas erklärst inline-blockerhält es die Eigenschaften von beiden block und inline Elemente. Die Inline-Elemente sind oft Text (z.B a oder span), haben also Decender, also Ihr div hat Platz für Decender.
Das ist warum Einstellung line-height:0; font-size:0; macht den Trick.
Nur Lösung 1 ist gut. Lösung 3 ist schlecht, weil Sie ein Textproblem nicht mit einem fest codierten Rand beheben sollten, sobald die Schriftgröße zunimmt, wird dies falsch sein. Oder wenn eine Schriftart unterschiedlich dargestellt wird (z. B. verschiedene Browser).
– Martijn
26. Juli 2016 um 13:28 Uhr
Und bitte auch nicht 4 verwenden, das ist sehr verwirrend. Ich habe verpasst, was los war, ich hätte es “repariert” und das Design damit gebrochen.
– Martijn
26. Juli 2016 um 13:29 Uhr
Lösung 0 und 2 sind in diesem Fall auch nicht die Lösung. Das Zusammenkleben der Elemente ist gut, wenn Sie sie nebeneinander haben möchten, aber untereinander ist eine andere Geschichte.
– Martijn
26. Juli 2016 um 13:30 Uhr
Sie können CSS-Pseudoelemente verwenden :after in diesem Fall.
Das liegt an der Nichtübereinstimmung zwischen der Höhe von .rectangle und der Rahmenbreite von .triangle. Sie können es anpassen, um den Abstand zwischen den divs zu entfernen
– Yaser Ali Peedikakkal
22. Juli 2016 um 9:08 Uhr
Der Grund, warum Sie diesen Platz haben, ist die unterschiedliche vertikale Ausrichtung Ihrer Inline-Blöcke – ziehen Sie in Betracht, dieselbe zu verwenden, und das Problem wird behoben.
– Anton Borizkiy
22. Juli 2016 um 12:44 Uhr