HTML, Überlauf: scroll und float

8

Ich habe ein div, das viele ungeordnete Listen (ul) einkapselt. Ich habe jede ul auf "float: left" gesetzt. Und ich habe auch das Eltern-Div, das sie enthält, auf "overflow-x: scroll" gesetzt. Was passiert, ist, dass die Zeilenumbrüche umgebrochen werden, wenn sie den Rand der Seite berühren und nicht Seite an Seite bleiben, um die Scroll-Eigenschaft des Eltern-Divs zu nutzen (die Bildlaufleisten sind dort). Warum? Wie kann ich das beheben?

Danke für jede Hilfe.

    
s2cuts 08.05.2011, 06:55
quelle

4 Antworten

6

Sie müssen diese Uls in ein anderes div einfügen, zu dem Sie width = [Breite von ul] * [Anzahl von Uls] geben werden.
Ссылка oder zähle die Gesamtbreite von Uls Ссылка

    
seler 08.05.2011, 07:57
quelle
6

Sie können Ihre Listenelemente so einstellen, dass sie angezeigt werden: Inline-Block, dann verwenden Sie white-space: nowrap. Funktioniert in den meisten modernen Browsern.

Ссылка

    
ddlshack 21.04.2012 17:02
quelle
5

Da Sie die ULs floaten, existieren sie nicht mehr im Dokumentenfluss, sodass sie das Eltern-Div nicht erweitern (daher das Wrapping.)

Versuchen Sie, eine explizite Breite für das übergeordnete div festzulegen, sodass alle nebeneinander existieren können.

Auch wenn Sie die ULs im Eltern-Div nicht löschen, werden Sie wahrscheinlich auch dort Probleme haben, vertikale. Stellen Sie sicher, dass Sie Ihre Floats löschen:)

    
Tim 08.05.2011 07:09
quelle
0

Sie müssen:

  1. Lassen Sie das <li> ebenfalls float.
  2. Setzen Sie für jedes <ul> eine feste Breite.
  3. Setzen Sie eine feste Breite auf das enthaltende <div> , genug, um alle Listen zu halten.

Zum Beispiel:

%Vor%

Testfall .

    
Shadow Wizard 08.05.2011 07:18
quelle