Bearbeiten:
Ich möchte display:inline-block oder overflow:hidden nicht entfernen, dies ist ein vereinfachtes Beispiel, um das Problem zu veranschaulichen, aber in meinem echten Layout brauche ich beide. Ich möchte nur verstehen, warum diese zusätzliche Höhe erscheint. Steht irgendwo, dass es so sein soll? Ist es eine Folge einer anderen CSS-Funktion?
Ich denke, dieser Beitrag wird Ihre Frage vollständig beantworten. stackoverflow.com/questions/9273016/…
– Max Nowitsch
1. Dezember 2013 um 9:36 Uhr
Verwenden Sie einfach Inline und nicht Inline-Block und Ihr Problem wird gelöst jsfiddle.net/w8dfU/1
–San
1. Dezember 2013 um 9:39 Uhr
Die technische Antwort lautet: overflow:hidden verschiebt die Grundlinie des Inline-Blocks. Die Strebe der Line-Box ist standardmäßig darauf beschränkt, auf derselben Baselne wie der Inline-Block zu sitzen, also müssen die Line-Box und das sie enthaltende div in der Höhe zunehmen, um die Unterlänge der Strebe aufzunehmen. Aber die Top-Antwort unter dem Link, den Maksym Stepanenko gibt, erklärt das Problem viel klarer.
– Alohci
1. Dezember 2013 um 10:08 Uhr
@MaksymStepanenko danke, die Antworten auf diese Frage haben das Problem für mich tatsächlich geklärt.
– strals
1. Dezember 2013 um 10:37 Uhr
@Alohci dein Kommentar war auch sehr hilfreich, wenn du darauf antwortest, werde ich es akzeptieren
– strals
1. Dezember 2013 um 10:38 Uhr
Ich hatte dieses Problem beim Erstellen eines horizontalen Schiebereglers. Ich habe es mit vertical-align:top auf meinen Inline-Block-Elementen behoben.
Ich hasse CSS so sehr. Es ist absolut und völlig unsinnig, dass dieses Verhalten auftritt. Vielen Dank für diese Arbeit, und ich hoffe, dass wir gemeinsam die Schöpfer von CSS in die tiefsten, unausweichlichen Tiefen der Hölle verbannen können.
– BT
25. Juli 2015 um 9:10 Uhr
Dies funktioniert nicht auf IE. Irgendwelche Ideen, wie man es dort löst?
– Buzinas
20. April 2016 um 5:07 Uhr
Stralsi
Die akzeptierte Antwort oben ist richtig, gibt aber nicht die Erklärung, nach der ich gesucht habe. Eine gute Erklärung lieferte @Alohci in seinem Kommentar.
Erläuterung in wenigen worten:
Der Wert für vertical-align ist baselinedaher wird das untergeordnete div an der Grundlinie des Textes ausgerichtet.
Diese Textgrundlinie ist nicht dasselbe wie die untere Zeile. Es ist etwas höher, um Buchstaben mit Unterlängen aufzunehmen: p, q, g.
Aus diesem Grund wird das Problem durch die Einstellung behoben vertikale Ausrichtung: oben.
Obwohl dieser Code die Frage möglicherweise beantwortet, bietet er zusätzlichen Kontext bzgl warum und/oder wie Es beantwortet die Frage und würde seinen langfristigen Wert erheblich verbessern. Bitte bearbeiten Sie Ihre Antwort, um eine Erklärung hinzuzufügen.
– Toby Speight
20. April 2016 um 13:46 Uhr
Nandu Hulsure
Dieser zusätzliche Raum kommt von overflow:hidden der Kinderklasse. Entfernen Sie diese Eigenschaft und überprüfen Sie, ob Sie sie wirklich verwenden möchten overflow:hidden Eigenschaft dann negative Marge für die untergeordnete Klasse verwenden. Sie können dieses zusätzliche Leerzeichen entfernen.
12522800cookie-checkoverflow:hidden on inline-block fügt dem übergeordneten Element Höhe hinzuyes
Ich denke, dieser Beitrag wird Ihre Frage vollständig beantworten. stackoverflow.com/questions/9273016/…
– Max Nowitsch
1. Dezember 2013 um 9:36 Uhr
Verwenden Sie einfach Inline und nicht Inline-Block und Ihr Problem wird gelöst jsfiddle.net/w8dfU/1
–San
1. Dezember 2013 um 9:39 Uhr
Die technische Antwort lautet:
overflow:hidden
verschiebt die Grundlinie des Inline-Blocks. Die Strebe der Line-Box ist standardmäßig darauf beschränkt, auf derselben Baselne wie der Inline-Block zu sitzen, also müssen die Line-Box und das sie enthaltende div in der Höhe zunehmen, um die Unterlänge der Strebe aufzunehmen. Aber die Top-Antwort unter dem Link, den Maksym Stepanenko gibt, erklärt das Problem viel klarer.– Alohci
1. Dezember 2013 um 10:08 Uhr
@MaksymStepanenko danke, die Antworten auf diese Frage haben das Problem für mich tatsächlich geklärt.
– strals
1. Dezember 2013 um 10:37 Uhr
@Alohci dein Kommentar war auch sehr hilfreich, wenn du darauf antwortest, werde ich es akzeptieren
– strals
1. Dezember 2013 um 10:38 Uhr