Wie verhindert man, dass Inline-Divs in die nächste Zeile innerhalb eines Elternteils springen?

7

Ich habe zwei Inline-divs, die die Breite der Eltern in der Breite überschreiten. Daher springt das zweite Div zur nächsten Zeile: Ссылка

Wie kann ich beide Divs auf der gleichen Linie halten?

Das Hinzufügen von overflow:hidden; zu div.a blendet einfach das zweite div.

aus     
TheOne 26.12.2012, 18:50
quelle

4 Antworten

6

Sie können dafür position: absolute; verwenden, sonst keine andere Möglichkeit als die Containerbreite zu erhöhen oder nowrap

zu machen

Demo

Verwenden Sie z-index Demo

CSS

%Vor%     
Mr. Alien 26.12.2012, 18:55
quelle
8

Theres ein paar Möglichkeiten, dies zu tun. Zuallererst können Sie display: inline-block; oder float: left; verwenden, um die divs nebeneinander zu setzen. Sie arbeiten anders, also achten Sie darauf, den richtigen für Ihren Fall zu verwenden.

Zweitens wird keiner von beiden funktionieren, es sei denn, das enthaltende div (a) ist groß genug, um beide Divs in derselben Zeile zu enthalten. Oder Sie können overflow: hidden; für das enthaltende div (a) verwenden.

Bearbeiten:

Ich habe Ihr Beispiel aktualisiert: Ссылка

Ich musste white-space: nowrap; verwenden, da die inneren divs umschlossen waren.

Hier ist eine weitere Antwort, die auch Ihre Frage beantwortet: CSS: Wie kann man verhindern, dass Text mehr als eine Zeile aufnimmt?

Beachten Sie, dass die Verwendung von display: inline-block das Element grundsätzlich als Text behandelt, so dass die meisten css-Eigenschaften für Textformatierung darauf angewendet werden.

    
Christopher Harris 26.12.2012 18:54
quelle
4

Inline-Elemente verhalten sich ähnlich wie Text. Wenn Sie das Umbrechen verhindern möchten, entfernen Sie entweder den Leerraum, den Sie für die Formatierung verwendet haben, oder fügen Sie white-space:nowrap; zur Regel für .a hinzu.

Hier ist eine Demonstration: Ссылка

    
Asad Saeeduddin 26.12.2012 18:54
quelle
3
%Vor%

Macht das, was Sie wollen?

    
Matt 26.12.2012 18:53
quelle

Tags und Links