Linho: Vererbung bei Listenelementen

Hallo Community,

folgendes Problem: Ich habe eine verschachtelte Liste.

  
<ul>  
   <li class="aktiv">Erster Punkt  
      <ul>  
         <li>Erster Unterpunkt</li>  
         <li>Zweiter Unterpunkt</li>  
      </ul>  
   </li>  
   <li>Zweiter Punkt</li>  
   <li>Dritter Punkt</li>  
</ul>  

Im Stylesheet sieht das auszugsweise so aus:

  
ul li.aktiv {  
      background-image:img(bild.jpg);  
}  

Das Problem ist nun, dass das Hintergrundbild (ein einfacher Farbverlauf) nun auch auf die Unterpunkte vererbt wird.

Auch wenn ich das explizit im Stylesheet auszuschließen versuche, werden auch die beiden Unterpunkte mit dem Hintergrundbild versehen:

  
ul li ul li {  
      background-image:none;  
}  

Kann ich die Vererbung irgendwie verhindern?

Ich habe es bereits versucht, indem ich den UL-Elementen verschiedene Klassen zugewiesen habe, aber auch so hat es nicht funktioniert.

Ich bin über jeden Tipp dankbar!

Viele Grüße,
Linho

  1. Hi,

    ul li.aktiv {
          background-image:img(bild.jpg);
    }

    
    >   
    > Das Problem ist nun, dass das Hintergrundbild (ein einfacher Farbverlauf) nun auch auf die Unterpunkte vererbt wird.  
      
    Nein, Vererbung ist hier nicht das Problem.  
      
    
    > Auch wenn ich das explizit im Stylesheet auszuschließen versuche, werden auch die beiden Unterpunkte mit dem Hintergrundbild versehen:  
    >   
    > ~~~css
      
    
    > ul li ul li {  
    >       background-image:none;  
    > }  
    > 
    
    

    Und wenn ein Element keinen Hintergrund hat, was sieht man dann durch?
    Riiichtig, den Hintergrund der Vorfahrenelemente.

    Und was ist das Vorfahrenelement deiner List-Items auf zweiter Ebene, und welchen Hintergrund hat das? Riiichtig ...

    Ich habe es bereits versucht, indem ich den UL-Elementen verschiedene Klassen zugewiesen habe, aber auch so hat es nicht funktioniert.

    Wenn du willst, dass bei einem Element der Hintergrund der Vorfahrenelemente nicht zu sehen ist, dann gebe ihm einen eigenen Hintergrund.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Nein, Vererbung ist hier nicht das Problem.

      wenn es dennoch ein problem mit der vererbung wäre, könnte man es mit dem kind-selektor lösen - den versteht der internet exploder 6 allerdings nicht

    2. Nein, Vererbung ist hier nicht das Problem.

      Und wenn ein Element keinen Hintergrund hat, was sieht man dann durch?
      Riiichtig, den Hintergrund der Vorfahrenelemente.

      Und was ist das Vorfahrenelement deiner List-Items auf zweiter Ebene, und welchen Hintergrund hat das? Riiichtig ...

      Rein interessehalber: Was ist es dann, wenn es keine Vererbung ist? Du sprichst doch auch von Vorfahrenelementen?

      Wenn du willst, dass bei einem Element der Hintergrund der Vorfahrenelemente nicht zu sehen ist, dann gebe ihm einen eigenen Hintergrund.

      Auf jeden Fall besten Dank für deinen Hinweis, ich habe den Fehler erkannt und mittels eines 1px großen weißen JPGs gelöst :-))

      1. Auf jeden Fall besten Dank für deinen Hinweis, ich habe den Fehler erkannt und mittels eines 1px großen weißen JPGs gelöst :-))

        don't use jpg, use png ...

      2. Hallo

        Und was ist das Vorfahrenelement deiner List-Items auf zweiter Ebene, und welchen Hintergrund hat das? Riiichtig ...

        Rein interessehalber: Was ist es dann, wenn es keine Vererbung ist? Du sprichst doch auch von Vorfahrenelementen?

        Mach dir klar, dass die zweite Liste *innerhalb* [1] der ersten Liste liegt. Es handelt sich also nicht um Vererbung, sondern du siehst durch den transparenten Hintergrund der inneren Liste hindurch den der äußeren.

        [1] Technisch gesehen ist sie innerhalb, optisch liegt sie oben drauf (falls nicht mittels Positionierung eine Anzeige irgendwo anders erzwungen wird).

        Tschö, Auge

        --
        Die deutschen Interessen werden am Liechtenstein verteidigt.
        Veranstaltungsdatenbank Vdb 0.2
      3. Hi,

        Rein interessehalber: Was ist es dann, wenn es keine Vererbung ist?

        Ganz normales Verhalten: Wenn du einem Element keinen Hintergrund gibst, dann bekommt es auch keinen, also scheint das dahinter liegende durch.

        Du sprichst doch auch von Vorfahrenelementen?

        Ja, und?

        Vererbung kommt bspw. zum Zuge, wenn du einem Textabsatz rote Schriftfarbe gibst, und ein in diesem liegendes anderes Element ohne explizite Formatierung der Schriftfarbe diese uebernimmt - weil color vom Browser als Defaultwert inherit bekommen hat.
        background-color/-image haben aber transparent bzw. none als Defaultwerte - wenn du also keine eigenen Angaben dazu machst, findet hier auch keine Vererbung statt.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“