CSS样式不是';级联';?

CSS样式不是';级联';?,css,hyperlink,Css,Hyperlink,我正在更新某人的网站。他们选择标记的标记如下: #wrapper a{color: red;} 这很好。但是如果我在包装器中创建一个,并给它标签,我自己的样式例如: .mydiv a{color: white;} 它根本不起作用-我的中的颜色:白色被包装中的颜色:红色覆盖,即使.mydiv css位于我的外部样式表上的#包装css下面。更重要的是,所有其他样式-背景色、边框等-都很好用 这就是所谓的 具有id属性的选择器比具有class属性的选择器更具体(前者指向单个元素,而后者指向多个元素

我正在更新某人的网站。他们选择
标记的标记如下:

#wrapper a{color: red;}
这很好。但是如果我在包装器中创建一个
,并给它
标签,我自己的样式例如:

.mydiv a{color: white;}
它根本不起作用-我的
中的
颜色:白色被包装中的颜色:红色覆盖,即使.mydiv css位于我的外部样式表上的
#包装
css下面。更重要的是,所有其他样式-背景色、边框等-都很好用

这就是所谓的

具有
id
属性的选择器比具有
class
属性的选择器更具体(前者指向单个元素,而后者指向多个元素),因此具有
id
属性的选择器优先于您的选择器,而不考虑顺序

您的选择器需要更具体,以便覆盖其他选择器:

#wrapper .mydiv a{color: white;}

CSS规则被覆盖的原因是样式规则的优先级在很大程度上取决于它们定义的特殊性


.myClass a
不如
#myID a
具体,因为类选择意味着受规则影响的元素范围比ID更广。要确保您的规则优先于旧规则,只需使用
#wrapper.mydiv a
作为选择器,从而增强您规则的特殊性,以超越旧规则

谢谢,这样做的诀窍-应该想到这一点之前