0

我想知道您是否可以帮助使用下面的代码,我知道颜色样式是继承的,但由于某种原因我没有得到预期的结果。例如,查看以“类别 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,情况并非如此.new_list,因此一般ul:green定义优先于默认继承的颜色,并且本身通过继承传递给 LI 子级。

换句话说:继承是一个隐式默认值,它被任何显式规则覆盖

于 2012-12-15T12:59:56.810 回答