0

以下のコードを手伝っていただけないでしょうか。色のスタイルが継承されていることは理解していますが、何らかの理由で期待どおりの結果が得られません。たとえば、'category 5' で始まるリストを見ると、これは青で表示され、サブカテゴリ ef は緑で表示されます。青である必要がある「new_list」としてスタイルを設定しましたが、これはサブカテゴリ EH の他の ul アイテムにリストを継承していません。乾杯

<style>
.new_list   {color:blue;}

.all_list   {color:red;}

ul      {color:green;}
</style>



<ul class='all_list'>
    <li>Category1
        <ul class='sub_list'>
            <li>SubCategoryA</li>
            <li>SubCategoryB</li>
            <li>SubCategoryC</li>
            <li>SubCategoryD</li>
        </ul>
    </li>
    <li>Category2</li>
    <li>Category3</li>
    <li>Category4</li>

</ul>




<ul class='new_list'>
    <li>Category5
        <ul>
            <li>SubCategoryE</li>
            <li>SubCategoryF</li>
            <li>SubCategoryG</li>
            <li>SubCategoryH</li>
        </ul>
    </li>
    <li>Category6</li>
    <li>Category7</li>
    <li>Category8</li>

</ul>
4

1 に答える 1

2

同じ要素に適用される矛盾するルールがあります。

と を定義ul:green.new_list:blueます。のクラスのメイン UL の場合。new_listクラス ルールはより具体的であるため、要素ルールよりも優先されます。これは、クラスを持たない子 UL の場合には当てはまりません。したがって、一般的な定義がデフォルトの継承された色よりも優先され、それ自体が継承によって LI の子に渡されます。.new_listul:green

つまり、継承は暗黙のデフォルトであり、明示的なルールによってオーバーライドされます

于 2012-12-15T12:59:56.810 に答える