我不明白是否应该在它修改的标签之前或之后指定类。
我的样式表中的以下内容适当地修改了 div:
div.idea {
margin: 0.1cm;
}
以下没有:
.idea div {
margin: 0.1cm;
}
但是,以下内容不会修改我的锚点:
a.idea {
color: Orange;
}
以下是:
.idea a {
color: Orange;
}
解释?
div.idea
意味着div
一个类idea
.idea div
表示div
在具有类的元素内idea
他们针对不同的元素。如果没有看到您的 HTML,就无法解释为什么您会看到您认为不寻常的行为。
一个空间非常重要。一个空格的意思是“孩子”的。没有空格意味着“和”。
所以:
div.idea
: 一个带有类的 dividea
<DIV class="idea"></DIV>
div .idea
:具有“idea”类的子级,其父级是 div(在其上方的任何位置)
<DIV>
<DIV class="idea"></DIV>
</DIV>
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"
在使用类选择器之前你不需要指定任何元素——它只是增加了一层特殊性。
你的第一个例子:
div.idea {
margin: 0.1cm;
}
这首先选择所有 div 元素,然后将它们限制为具有 class 的元素idea
。
你的第二个例子:
.idea div {
margin: 0.1cm;
}
选择所有具有 class 的元素idea
,然后选择这些元素的所有子元素。
这两个表达式等同于不同的事物:
div.idea
选择具有类想法的 div
.idea div
选择作为 div 的元素的子idea
元素
实际上,空间使您选择孩子
你的 CSS 选择器假设如下
div.idea {边距:0.1cm;}
<div class="idea" id="iGetStyled">...
.idea div {边距:0.1cm;}
<div class="idea"><div id="iGetStyled">...
a.idea {颜色:橙色;}
<a class="idea" id="iGetStyled">...
.idea {颜色:橙色;}
<div class="idea"><a id="iGetStyled">...
id="iGetStyled"
向您显示哪些项目将被样式化