CSS ID选择器不使用span,a,p等

时间:2013-12-27 06:56:21

标签: html css css-selectors

最初我使用两种不同的样式表来设计我的网站。一个用于首页,另一个用于其余部分(样式和功能完全不同)。我决定将两者合并在一起,只需在原始样式表类上添加一个#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;

}

所以基本上它是这个组中包含的任何内容。我错过了为什么它继承了适当的选择器并且根本没有选择器的类?提前谢谢。

2 个答案:

答案 0 :(得分:2)

html,body,div,span,object,iframe,h1 ......此选择器是一个通用元素选择器,它将以逗号分隔的所有元素为目标,因此它会应用选择器的属性以及另一个属性。

这些选择器通常用于重置样式表,这个选择器#home .nav ul li a无论如何都比元素选择器更具体,但是那些你没有在{{1}中声明的属性}将从元素选择器中选取。

因此,除了在#home .nav ul li a中再次声明相同的属性外,您只能覆盖它们。

答案 1 :(得分:0)

我认为防止这种情况的唯一方法是设置#home选择器中的所有设置以覆盖常规设置。