css样式的优先级-CSS样式优先级

有一个属性color:red,那么这个属性就会是

继承,即

还有属性颜色:红色。

从上面可以看出,当网页复杂且HTML结构嵌套较深时,某个标签的样式会受到其祖先标签样式的影响。

受影响的规则是:

CSS 优先规则 1:最近的祖先样式优先于其他祖先样式。

示例1:

如果我们将标签从其祖先继承但自身没有的属性称为“祖先样式”css样式的优先级,那么“直接样式”就是标签直接拥有的属性。 还有以下规则:

CSS优先规则2:“直接样式”比“祖先样式”具有更高的优先级。

示例2:

选择器优先级

之前,我们讨论了标签从其祖先继承的属性,现在我们讨论标签本身的属性。 在讨论 CSS 优先级之前,我们先来谈谈 CSS7 基本选择器:

ID选择器,例如#id{}

类选择器,例如 .class{}

属性选择器,如 [href="segmentfault.com"]{}

伪类选择器,如:hover{}

伪元素选择器,例如 ::before{}

标签选择器,例如 span{}

通配符选择器,例如 *{}

CSS优先规则3:优先关系:内联样式>ID选择器>类选择器=属性选择器=伪类选择器>标签选择器=伪元素选择器

示例3:

//HTML

样式优先级顺序_样式优先级最低的是_css样式的优先级

//CSS

#内容 ID{

红色;

.内容类{

颜色: 蓝色;

div{

颜色: 灰色;

最终颜色为黑色,因为内联样式比其他选择器具有更高的优先级。

所有CSS选择器都是由上述七个基本选择器或组合组成css样式的优先级,组合有以下三种:

后代选择器:.father.child{}

子选择器:.father>.child{}

相邻选择器:.bro1+.bro2{}

当一个标签同时被多个选择器选择时,我们需要确定这些选择器的优先级。 我们有以下规则:

CSS优先规则4:估计选择器(a)中ID选择器的数量,估计选择器(b)中类选择器、属性选择器和伪类选择器的数量总和,估计选择器(b)中标签选择器的数量选择器 选择器和伪元素选择器的数量之和 (c)。 按照a、b、c的顺序比较大小,较大的优先级较高,相等则比较下一个。 如果最后两个选择器中的a、b、c都相等,则按照“就近原则”进行判断。

示例4:

//HTML

//CSS

#con-idspan{

红色;

div.con-span{

颜色: 蓝色;

从规则4可以看出, 的颜色是红色。

样式优先级最低的是_css样式的优先级_样式优先级顺序

如果外部样式表和内部样式表中的样式冲突,会发生什么情况? 这与样式表在 HTML 文件中的位置有关。 应用的样式越低,优先级越高,尽管这总是可以用规则 4 来解释。

实施例5:

//HTML

//样式链接.css

div {

背景:石灰;

//样式导入.css

div {

背景:灰色;

从顺序上看,内部样式排在最后,引用的是最新的,所以

背景颜色为蓝色。

里面的代码中,@import语句必须出现在内部样式之前,否则文件导入无效。 事实上,不建议使用@import的形式来引用外部样式文件。 原因参见另一篇博客:CSS导入表单。

CSS还提供了一种完全忽略上述规则的方法。 您可以在必要时使用此技术,必须确保显示特定属性。

CSS 优先级规则 5:在属性后插入 !important 的属性具有最高优先级。 如果同时插入!important,则优先级由规则3和4决定。

//HTML

//CSS

p {

背景:红色!重要;

。父子{

背景:蓝色;

虽然.father.son残差较高,但是选择器p中的background属性是用!important插入的,所以

背景是红色的。