This question already has answers here:
How are the points in CSS specificity calculated
(7个答案)
2年前关闭。
如果问题很基本,请原谅我,但是我正在通过在线教程和模板学习CSS,但我无法解决这个疑问。
我有一些具有相同ID /类树的对象的标头后代。我想专门针对其中之一来更改他的格式。更具体地说,我的代码是:
在网络的其他部分(不是同一文件.html,一个不同的文件),h2不是目标对象(因此,没有id),但是它们位于id和class的相同父/树下。
我的模板带有一些应用于此标头的style.css
如果现在添加到我的style.css中
由于某种原因,我不明白第一个CSS代码会覆盖#id-target的颜色。因此,我的问题是:
问题:您知道为什么#id-target不适用吗?为了格式化目标h2,有人应该更改什么?
在此先感谢您,并请更正此问题中任何未充分提出的问题。
(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有意义的名称,以便它们描述您希望如何使用它们。
希望能有所帮助。