html中标签属性的优先级,浏览器对于CSS不同类中的同属性不同值优先级问题

本文通过实例探讨了CSS中样式优先级的决定因素,包括类的顺序、文件加载顺序以及`!important`的权重。总结了浏览器解析CSS时,同一属性值如何根据声明位置和加载顺序选取,以及`!important`的优先级规则。
摘要由CSDN通过智能技术生成

自己做点小程序的时候发现在一个标签中的不同两个类给同一属性设定了不同值的时候,最终属性取值的特点:

上面这句话有够拗口的,用例子说明一切吧。

csstest.html:

复制代码代码如下:

CSStest

aaaaaaa

bbbbbbb

ccccccc

ddddddd

eeeeeee

fffffff

1.css

复制代码代码如下:

.a{

cursor: pointer;

font-size: 1em;

}

.b{

cursor: move;

font-size: 2em;

}

.c{

cursor: crosshair;

font-size: 3em;

}

.d{

cursor: help;

font-size: 4em !important;

}

2.css

复制代码代码如下:

.e{

cursor: progress;

font-size: 5em;

}

最后在浏览器审查元素的时候发现:

1、第一第二段落中,鼠标样式都为move,字体大小都为2em,仅类b发挥了作用。

则说明:无论在标签中class属性里类的顺序如何,最终相同的属性值取css文件中声明位置最后的那个。

2、第三第四段落中,鼠标样式都为progress,字体大小都5em,仅类e发挥了作用,而在加载html页面的时候,先加载1.css,再加载2.css。

则说明:无论在标签中class属性里类的顺序如何,最终相同的属性值取最后加载的css文件中声明位置最后的那个。

3、第五第六段落中,鼠标样式都为progress,字体大小都4em,类e起效,类d由于设定了!important,也起效。

则说明:设定了!important的值会优先被选取。

后来我又测试了一下,把e中的font-size也加上!important之后,字体大小会变为5em,则对于都设定了!important的属性值来说,遵循上面的规律。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值