This question already has answers here:
How are the points in CSS specificity calculated
                                
                                    (7个答案)
                                
                        
                                2年前关闭。
            
                    
如果问题很基本,请原谅我,但是我正在通过在线教程和模板学习CSS,但我无法解决这个疑问。

我有一些具有相同ID /类树的对象的标头后代。我想专门针对其中之一来更改他的格式。更具体地说,我的代码是:

<aside id="id-one" class="js-classone">
    <div class="class-two js-classone">
        <ul class="class-three">
            <li>
                <div class="class-four"></div>
                <div class="class-five">
                <div class="class-six  js-classone">
                <div class="class-seven">
                    <h2 id="id-target">Targeted h2</h2>
                    <p class="class-eight">some text</p>
                </div>
                </div>
                </div>
            </li>
        </ul>
    </div>
</aside>


在网络的其他部分(不是同一文件.html,一个不同的文件),h2不是目标对象(因此,没有id),但是它们位于id和class的相同父/树下。

我的模板带有一些应用于此标头的style.css

#id-one .class-two .class-six > .class-seven .class-eight {
  color: #fff;
}


如果现在添加到我的style.css中

#id-target {
  color: #000;
}


由于某种原因,我不明白第一个CSS代码会覆盖#id-target的颜色。因此,我的问题是:



#id-one .class-two .class-six>.class-seven .class-eight {
  color: #fff;
}

#id-target {
  color: #000;
}

<aside id="id-one" class="js-classone">
  <div class="class-two js-classone">
    <ul class="class-three">
      <li>
        <div class="class-four"></div>
        <div class="class-five">
          <div class="class-six  js-classone">
            <div class="class-seven">
              <h2 id="id-target">Targeted h2</h2>
              <p class="class-eight">some text</p>
            </div>
          </div>
        </div>
      </li>
    </ul>
  </div>
</aside>





问题:您知道为什么#id-target不适用吗?为了格式化目标h2,有人应该更改什么?

在此先感谢您,并请更正此问题中任何未充分提出的问题。

最佳答案

哦,男孩,有几个问题。


您的p标签没有结束标签。
您已关闭h2标记两次。
您已将color: white;应用于p标记。
您正在尝试将color: #000;应用于您的h2标记。


为了让您正确看到结果


正确嵌套您的代码。
关闭您打开的所有标签。
CSS中没有过度指定的选择器,即#id-one .class-two .class-six > .class-seven .class-eight可以简单地写为.class-eight(这是一个段落)。
同样好的做法是给您的类和ID有意义的名称,以便它们描述您希望如何使用它们。


希望能有所帮助。

07-24 19:29
查看更多