Nav: Vererbung beenden

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.

  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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.

      1. 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.

        [CSS2 §6.4]

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  2. 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

  3. 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".

    --
    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
    Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
    1. 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

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. 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

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. 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.

        --
        Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
        Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
        1. 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

          --
          „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
          1. 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

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes