我不明白是否应该在修改标签之前或之后指定课程。
我的样式表中的以下内容适当地修改了div:
div.idea {
margin: 0.1cm;
}
以下内容不是:
.idea div {
margin: 0.1cm;
}
然而,以下不修改我的锚:
a.idea {
color: Orange;
}
以下是:
.idea a {
color: Orange;
}
解释
答案 0 :(得分:5)
div.idea
表示div
类idea
.idea div
表示具有类div
idea
他们瞄准不同的元素。如果没有看到您的HTML,就无法解释为什么您正在目睹您解释为异常的行为。
答案 1 :(得分:3)
空间非常重要。空间意味着“孩子”。没有空间意味着“和”。
所以:
div.idea
:类idea
<DIV class="idea"></DIV>
div .idea
:具有“想法”类的孩子,父母是div(在其上方的任何地方)
<DIV>
<DIV class="idea"></DIV>
</DIV>
答案 2 :(得分:2)
CSS选择器:
div.idea { ... // a div that has a class="idea"
.idea div { ... // any div, that has a parent (or ancestor) that has a class="idea"
a.idea { ... // an <a> element which has a class="idea" ( <a class="idea">text</a> )
.idea a { .. // an <a> element which has a parent (or ancestor) of any element type (not only div) which has a class="idea"
答案 3 :(得分:2)
在使用类选择器之前,你没有需要来指定任何元素 - 它只是增加了一层特异性。
你的第一个例子:
div.idea {
margin: 0.1cm;
}
这将首先选择所有div元素,然后将它们限制为具有类idea
的元素。
你的第二个例子:
.idea div {
margin: 0.1cm;
}
选择类idea
的所有元素,然后选择这些元素的所有子元素。
这两个表达式等同于不同的东西:
div.idea
选择具有类想法的div
.idea div
选择idea
元素为div的子元素
实际上,空间会让您选择孩子
答案 4 :(得分:1)
你的css选择器假设以下
div.idea {margin:0.1cm;}
<div class="idea" id="iGetStyled">...
.idea div {margin:0.1cm;}
<div class="idea"><div id="iGetStyled">...
a.idea {color:Orange;}
<a class="idea" id="iGetStyled">...
.idea a {color:Orange;}
<div class="idea"><a id="iGetStyled">...
id="iGetStyled"
会向您显示要设置样式的项目