最初我使用两种不同的样式表来设计我的网站。一个用于首页,另一个用于其余部分(样式和功能完全不同)。我决定将两者合并在一起,只需在原始样式表类上添加一个#home选择器。
因此,在合并它们之后说,我可以告诉任何标准类(span,a,p,h1,h2)都不是工作。他们正在为他们添加两种风格。 #home选择器和没有样式的那些。这是一个例子:
当我在导航菜单中使用'a'时,它应该只使用这种风格:
#home .nav ul li a {
color: #ccc;
text-decoration: none;
padding: 20px;
}
虽然它也是这样添加的:
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite {
border:0;
font-size:100%;
font:inherit;
vertical-align:baseline;
margin:0;
padding:0;
}
所以基本上它是这个组中包含的任何内容。我错过了为什么它继承了适当的选择器并且根本没有选择器的类?提前谢谢。
答案 0 :(得分:2)
html,body,div,span,object,iframe,h1 ......
此选择器是一个通用元素选择器,它将以逗号分隔的所有元素为目标,因此它会应用选择器的属性以及另一个属性。
这些选择器通常用于重置样式表,这个选择器#home .nav ul li a
无论如何都比元素选择器更具体,但是那些你没有在{{1}中声明的属性}将从元素选择器中选取。
因此,除了在#home .nav ul li a
中再次声明相同的属性外,您只能覆盖它们。
答案 1 :(得分:0)
我认为防止这种情况的唯一方法是设置#home选择器中的所有设置以覆盖常规设置。