<head>
<link href="scribble.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<a> text </a>
<p class="para">
<ul>text</ul>
<a>text1 </a>
</p>
</body>
我的css是这样的:
*{background-color:#ccc;}
.para{background-color:red;}
由于某些原因,只有通用选择器被应用,所有背景都是灰色的。为什么?类不应该优先于通用选择器吗?
考虑一下它在做什么
<p class="para">
<ul>text</ul>
<a>text1</a>
</p>
只有.para
具有red
的背景色,所以只有特定元素将接收该属性。然而,通用选择器显式地告诉所有其他项目具有#ccc
的背景色。由于ul
/a
元素不使用该类,这意味着这些元素将遵循通用选择器background-color:#ccc;
。CSS会假设你的意思是:
ul, a {background-color:#ccc;}
如果你要添加任何文本到.para
,然而,它将具有red
的背景色,例如
* {
background-color: #ccc;
}
.para {
background-color: red;
}
<p class="para">
Hello
<ul>text</ul>
<a>text1</a>
</p>
同样让这些元素使用.para
类将使它们成为红色。
* {
background-color: #ccc;
}
.para {
background-color: red;
}
<p class="para">
<ul class="para">text</ul>
<a class="para">text1</a>
</p>