2012-01-23 14 views
1

私はリスト内の最初の子の子孫/子を扱おうとしています。例:最初の子の子孫

「ul li:first-child」のような最初の子を使用すると、liにのみ影響し、子孫には影響しません。私は最初の子供の子供をフォーマットしようとしています。

おそらく "ul + li a"か何か、しかし明らかにそれも覚醒していません。

+1

あなたは 'ul> li:first-child> a'を意味しますか? – ordag

答えて

0

私はあなたがしたいと考えている:

ul li:first-child > * { 

は、これが最初の<li>のすべての直接の子と一致します。

常にリンクされている場合は、aの場合は*を代入できます。

0

最初のリスト項目の下にあるすべてのアンカー:

ul li:first-child a { … } 

またはいずれかの子孫のために:

ul li:first-child * { … } 

それともだけ子供のための(などない孫、子孫):

ul li:first-child > * { … } 
+2

ここで最初に提案したのはずっと最高です。グローバルセレクタ( '*')を使うのは非常に遅いです。 – piersadrian

+0

@Piersこの声明を引用してバックアップしてください。 – Phrogz

+2

Googleは@PiersMainwaringの主張をバックアップしています:http://code.google.com/speed/page-speed/docs/rendering.html#UseEfficientCSSSelectors – AlienWebguy

3
ul li:first-child a { 
    background-color:black; 
} 

http://jsfiddle.net/UbuAx/

+0

これは機能しています!なんらかの理由で、これは早く動作していませんでした。間違っていたことは間違いありません:-) – wlknsn

0

あなたは、具体的言った:私は*グローバルセレクタが非最適であることについて同意するものの

/* a list's */ 
ul 

/* first child's */ 
> li:first-child 

/* descendant or child */ 
* 

または

ul > li:first-child * 

は不思議なことに、他の回答のどれも、あなたが要求したまさにあなたを与えるありません。あなたが指定できるなら、それは良いかもしれません。