ich beiß mir hier die Zähne aus und nach einer halbe Stunde googeln komme ich auch nicht weiter. Ich habe eine sehr lange Liste (UL), die ich an sich horizontal in mehreren Spalten darstellen will, jedoch sollen die einzelnen Listenelemente (LI) vertikal dargestellt werden.
Also nicht:
A B C
D E F
Sondern
A C E
B D F
Ist das mit reinem CSS möglich? An das HTML kann ich nicht dran. Danke für Eure Hilfe.
@MrMurphy besten Dank für den Beispielcode. So ähnlich hatte ich mir das inzwischen auch zurecht gefrickelt, ist aber eher schlecht als recht die Lösung. Die Listen werden aus einem System generiert und können unterschiedlich lang sein. Da kann ich nicht bei jeder Änderung das CSS anpassen
Da kann ich nicht bei jeder Änderung das CSS anpassen
Da wird dir nichts anderes übrig bleiben. CSS ist keine Programmiersprache und HTML / CSS gehen davon aus, das man auf den kompletten Quelltext Zugriff hat. Wenn das nicht gegeben ist kann man nur Krücken bauen.
P. S. Wenn du gleich mitgeteilt hättest, das die Liste mengenmäßig unterschiedliche Einträge haben kann hätte ich mir die Arbeit auch gleich sparen können. Es macht keinen Spaß an Aufgaben zu arbeiten, die man nicht lösen kann, weil einem wichtige Informationen fehlen.
Ich habe geschrieben, dass es sehr lange Liste ist. Ich kann schon ans HTML, ich will aber nicht. Wenn ich das übers HTML steuere habe ich ja das selbse Problem, bei jeder Änderung die die Länge der Liste beeinflusst auch den Quelltext anpassen zu müssen. Mit CSS funktioniert es ja eigentlich super, die Höhe flexibel die Breite fix und die Liste läuft schön in einer gewünschten Spaltigkeit rein und kann schön dynamisch bleiben. Nur halt doof, dass die Listen-Elemte neben- und nicht untereinander stehen. Hätte nicht gedacht, dass es nicht möglich ist das mittels CSS zu lösen.
So kann er auch die Reihenfolge der Ausgabe bestimmen. Somit sind auch keine CSS-Tricks nötig.
EDIT:
Wenn die Listenelemente die untereinander stehen sollen im Zusammenhang stehen, kannst du deine Liste natürlich verschachteln, was am einfachsten ist.
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<head>
<title></title>
<style>
ul {
margin:0;
padding:0;
list-style:none;
background:#dad;
}
li {
float:left;
background:#ada;
width:100px;
}
li ul li {
display:block;
background:#add;
}
</style>
</head>
<boy>
<ul>
<li>A<ul><li>B</li></ul></li>
<li>C<ul><li>D</li></ul></li>
<li>E<ul><li>F</li></ul></li>
</ul>
</body>
</html>