Float Abschnitte der LI-Elemente innerhalb eines UL mit CSS
Habe ich eine Serie von LI innerhalb eines UL wie diese:
<ul>
<li class="section left"></li>
<li>I want to float this on the left</li>
<li>I want to float this on the left</li>
<li>I want to float this on the left</li>
<li class="section right"></li>
<li>I want to float this on the right</li>
<li>I want to float this on the right</li>
<li>I want to float this on the right</li>
</ul>
Dieser HTML-Code erzeugt, die von php und ich kann nicht verändern, der HTML -, auf der anderen Seite habe ich die Funktion zum zuweisen von Klassen zu einzelnen LI-Elemente. Die UL und LIs enthalten form Elemente, die will ich verteilen in zwei Abschnitte, schwimmende einige Inhalte (einige LIs) auf der linken Seite und einige Inhalte (andere LIs) auf der rechten Seite.
Wenn ich könnte nest ULs innerhalb der wichtigsten UL-dies wäre viel einfacher, die Behandlung der inneren ULs als Blöcke, aber ich kann das nicht hier.
Wie zu erreichen das gleiche Ergebnis mit CSS gegeben, die HTML-Einschränkungen, die oben erwähnt? Ich meine ja, ich könnte weisen floating-Klassen individuell zu jedem LI, aber ich hoffte auf eine elegantere Lösung hier.
danke
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie die folgenden CSS3 code:
Verwenden Sie diese mit deinem vorgeschlagenen code, und Sie werden bekommen, was Sie brauchen (zumindest in anständigen Browsern). JSFiddle Demo /Demo mit kleiner Schriftgröße (siehe Wirkung)
Update: IE7+ - kompatible version (einfach ohne
:not
):not
(nicht notwendig, wie oben beschrieben), funktioniert es auf IE7+, FF3+ Saf4+, Chrome4+ Opera10.10+... (siehe quirksmode.org/css/contents.html#t30)+
... Aber falls wir beide falsch sind... Arme Oma. Werde hart arbeiten, in der Microsoft Minen :D.Nicht sicher, wie genau Sie wollen die Liste zu schauen... Aber wenn Sie zuweisen können, einen Recht Klasse auf die Elemente der Liste, können Sie die CSS-entlang der Linien, die unten gezeigt zu positionieren:
Hm, etwas schwierig.
Ist die Menge der Elemente, die befestigt?
Wenn also, erste Sache, die kommt auf Gedanken-ist mit dem benachbarten Geschwister-Selektor (+).
Gleiche für die float-Recht-Elemente ...
Ansonsten würde ich versuchen und verwenden Sie jquery um die Elemente und Klassen zuweisen, um Sie.
Ich denke, die beste Lösung für dieses Problem ist das erstellen der Liste, die Sie haben, wie diese:
Dann in der CSS gibst du alle LI ein float left und style Sie.(Ich meine die Breite, Höhe und so weiter)
Danach bauen Sie ein kleines div um es und geben Sie es ein max und Sie wollen, Sie werden (werden Sie sicher, dass der LI passen Sie innerhalb es in den Zeilen 2.)
Könnte dies eine Lösung sein, aber ich weiß nicht, wie viel HTML können Sie verändern.