Vererbung beenden
Nav
- css
Hi, folgender Code:
<ul id="out">
<li>Diese Liste hat eine Breite von 30em
<ul>
<li>Diese Liste erbt nicht die Breite aus der unteren Liste</li>
</ul>
</li>
</ul>
Kann man es irgendwie anstellen, dass die Werte für #out nur an die unterste Liste vergeben werden?
Also im Klartext hieße dies:
#out { width: 30em }
wird nicht angewendet auf:
#out li ul
Gibts da auch eine Lösung die Gecko und IE gleichermaßen befriedigt?
Man müsste irgendwie ein Stop-Zeichen setzen können, für nur eine Ebene.
Hi,
Kann man es irgendwie anstellen, dass die Werte für #out nur an die unterste Liste vergeben werden?
ja, sicher doch.
Also im Klartext hieße dies:
#out { width: 30em }
wird nicht angewendet auf:
#out li ul
Also musst Du mit genau diesem Selektor was tun?
Man müsste irgendwie ein Stop-Zeichen setzen können, für nur eine Ebene.
Das Stichwort lautet nicht "Stop-Zeichen", weil es etwas derartiges nicht gibt. Es lautet "Kaskade".
Cheatah
Wenn du selber auch nicht weisst was zu tun ist, hätteste dir die Antwort auch sparen können.
Solche Sprüche wie "Dann musst du genau was tun?" bringen mich auch nicht weiter.
Und Kaskaden erst recht nicht.
Hello out there!
Wenn du selber auch nicht weisst was zu tun ist, hätteste dir die Antwort auch sparen können.
Wenn ich eins über Cheatah weiß, dann das, dass er _immer_ weiß, wovon er spricht.
Solche Sprüche wie "Dann musst du genau was tun?" bringen mich auch nicht weiter.
Das ist schade, denn hier ist SELF mitdenken angesagt.
Und Kaskaden erst recht nicht.
See ya up the road,
Gunnar
Kann man es irgendwie anstellen, dass die Werte für #out nur an die unterste Liste vergeben werden?
Also im Klartext hieße dies:
#out { width: 30em }
wird nicht angewendet auf:
#out li ul
Man müsste irgendwie ein Stop-Zeichen setzen können, für nur eine Ebene.
Stop-Zeichen gibt es nicht, denn HTML und CSS sind keine Programmiersprachen.
Du kannst höchstens im Selektor
#out li ul
andere Werte für die Eigenschaften deklarieren.
Wegen der höheren Spezifität überschreibt das dann wieder die, die bei '#out' vergeben wurden.
gaby
Kann man es irgendwie anstellen, dass die Werte für #out nur an die unterste Liste vergeben werden?
Ja, kann man.
Also im Klartext hieße dies:
#out { width: 30em }wird nicht angewendet auf:
#out li ul
Und was hindert dich nun, dort andere Breitenangaben zu machen (beispielsweise das Wiederherstellen der ohne die obige Regel geltenden Breite)?
Man müsste irgendwie ein Stop-Zeichen setzen können, für nur eine Ebene.
Es gibt kein "Stop-Zeichen". Übrigens hat Vererbung (siehe Titel) *nichts* mit dem zu tun, was hier gefragt ist. Vererbung tritt in CSS nur in Form des Wertes "inherit" auf! Das Stichwort für deinen Fall heißt "Kaskade".
Hi,
Übrigens hat Vererbung (siehe Titel) *nichts* mit dem zu tun, was hier gefragt ist.
das ist richtig.
Vererbung tritt in CSS nur in Form des Wertes "inherit" auf!
Das ist falsch. Es hängt von der Eigenschaft ab, ob sie auch ohne dieses Keyword vererbt wird oder nicht.
Cheatah
hi,
Vererbung tritt in CSS nur in Form des Wertes "inherit" auf!
Das ist falsch. Es hängt von der Eigenschaft ab, ob sie auch ohne dieses Keyword vererbt wird oder nicht.
Wobei im hier vorliegenden Fall also keine Vererbung vorliegt, denn width wird ohne explizite Angabe von inherit nicht vererbt.
Da der Frager für seine innere Liste keine width-Angabe gemacht hat, ist der Wert gleich dem Initialwert auto.
Der Frager hat also gar kein Vererbungsproblem - das weiss er nur noch nicht :-)
Dass bei width:auto dann der computed value für die innere Liste dem zur Verfügung stehenden Platz entspricht (und den hat er durch die explizite width-Angabe für die äussere Liste begrenzt), ist ein weiterer vermutlich unbekannter Umstand, welchen wir dem Frager schonend beibringen sollten.
gruß,
wahsaga
Vererbung tritt in CSS nur in Form des Wertes "inherit" auf!
Das ist falsch. Es hängt von der Eigenschaft ab, ob sie auch ohne dieses Keyword vererbt wird oder nicht.
Stimmt. Vielleicht sollte ich die Spezifikation doch ausdrucken und regelmäßig auf der Toilette lesen. Dann wäre mir auch der Unterschied zwischen der generellen Vererbung einiger Eigenschaften und der expliziten Vererbung via "inherit" aufgefallen.
Hello out there!
Stimmt. Vielleicht sollte ich die Spezifikation doch ausdrucken und regelmäßig auf der Toilette lesen.
Die schon gelesenen Blätter kannste ja denn anderweitig weiterverwenden. ;-)
See ya up the road,
Gunnar
Hi,
Stimmt. Vielleicht sollte ich die Spezifikation doch ausdrucken und regelmäßig auf der Toilette lesen.
Die schon gelesenen Blätter kannste ja denn anderweitig weiterverwenden. ;-)
ich unterstütze den Antrag.
A propos: Warum findet man auf den Toiletten deutscher Ämter immer dreilagiges Klopapier?
Na, ist doch klar: Die brauchen einfach von jedem Sch**ß zwei Durchschläge! ;-)
Chea "Benutzen Sie Ihr Klopapier beidseitig. Der Erfolg liegt auf der Hand." tah