2011-01-10 2 views
2

以下のHTMLリストについては、外側のリストのLIのみに背景イメージを追加する必要があります。 (クラス "メニューMLID-594 DHTMLメニュー拡大スタート-崩壊した" と1別名)CSSの外側ULリストから継承しない内部ULリストを作る方法

HTMLコード は以下のとおりです。

<li class="menu-mlid-594 dhtml-menu expanded start-collapsed "> 
    About the Collection 
    <ul class="menu"> 
     <li class="leaf first dhtml-menu ">By Theme</li> 
     <li class="leaf last dhtml-menu ">By Individual</li> 
    </ul> 
</li> 

はどのように私はそれを行うことができますか?

ありがとうございました。

答えて

1

種類を持っているのli要素に適用されていますが、一般的に」します通常、カスケーディング規則に頼る必要でしょう:私はあなたが参照することができ、最も外側のULのIDまたはクラスがあることが、ここで想定しています

#outerULIdentifier li { 
    background-image: url('someImage.jpg'); 
} 
#outerULIdentifier li li { 
    background-image: none; 
} 

。この後者のバージョンは(非常によくCSSセレクタで単一の要素に複数のクラスをサポートしていない)IE 6での問題を抱えているかもしれませんが

li.dhtml-menu { 
    background-image: url('someImage.jpg'); 
} 
li.dhtml-menu.leaf { 
    background-image: none; 
} 

:別の方法として、あなたのような何かを行うことができます。

+0

私はあなたが_li.dhtml-menu.leaf_ – Flack

+0

を意味したと思います。うん、それはうまくいけばIE6の問題を回避するだろう。私はとてもスマートです。 –

+0

Duh、私はいくつかのコードが引用されています。それでも私は親ルールでオーバーライドすることをお勧めします。 – Flack

3
li.menu-mlid-594 { your css rules here } 

上記だけでこれほど少ないの文脈情報と連携するかを言うのは難しいのクラスメニューMLID-594

+0

ありがとうございました。しかし、私はこのようなLI要素がたくさんあり、クラスが異なっているので(menu-mlid-xxx)、このようにすることはできません。私はすべてのLI要素で同じである他のクラスで作業する必要があります。 –

+0

um追加のCSSルールを追加できないのですか? – Adrian

+0

技術的にはできます。しかし、私はそれをしないことを好む。それは自動的にDrupalによって生成されるメニューツリーです。 CSSルールを追加したり、HTMLコードを変更するには、デフォルト関数を上書きする関数を記述する必要があります。ありがとうございました。 –

0
ul li {background:#F00;} /* First level */ 
ul li li {background:#FFF;} /* Second level */ 
関連する問題