2011-11-11 9 views
12

>または他のコンビネータを使用すると、CSSセレクタのspecificityには影響しませんなぜ私は好奇心が強い、つまりなぜdiv span(どこか divの内側スパンをマッチング)とdiv > span(div要素の直接の子であるスパンをマッチング)特異性に関しては等しいとみなされる。なぜ 'foo bar'と 'foo> bar'はCSSで同じ特異性を持っていますか?

私はコンビネータの使用法が特異性とは完全に無関係だが、それにはある理由があるのだろうかと思う。

+0

「div」の子孫である「span」と「div」の子である「span」のように、それぞれが特定のものであると仮定しています。 "、" div "の子であるクラス名を持つ" span "のような、より具体的なものではありません。 –

+0

まあ、divの中のいくつかのスパンはdivの* immediate *子のスパンほど具体的ではないと主張することができます – ThiefMaster

+0

ええ、本当です。良い質問! –

答えて

8

これは実際には、作業グループメーリングリストに戻ってきました。ところで、this threadにあります。

基本的に、直感的に言えば、コンビネータを使ったセレクタがより具体的に見えますが、これを念頭に置いて現在のアルゴリズムを拡張したアルゴリズムは、現在使用されている「シンプルな」トリプレットよりはるかに複雑になります。それは人のためにかなり混乱しています。

最後に、

 
While this could have been the case, this is one of the few things in CSS2 
that have been interoperably implemented for years, and therefore won't 
change in CSS2.1. 

は "それが壊れていない場合は、それを修正しないでください。"最終的な呼び出しであるように見えました。

関連する問題