关于CSS样式优先级

article/2025/5/18 12:12:51

 设定Li 当中的a链接样式的时候,设了几次没成功。考虑跟优先级有关。转载这篇文章,供自己记录学习,与新手们讨论交流

一般情况下:

[1位重要标志位] > [4位特殊性标志] > 声明先后顺序

!important > [ id > class > tag ]  

使用!important可以改变优先级别为最高,其次是style对象,然后是id > class >tag ,另外,另外在同级样式按照申明的顺序后出现的样式具有高优先级。

­
先来看下!important 这个诡异的东西。

1  <style type="text/css"> 
2   div { background :  red !important ;  background: blue }
3  </style> ­

除了IE6,其他浏览器都会显示背景为 红色,正是 !important的作用,意思就是只要我在这里我就是最重要的啦,任何东西都不能取代我,没看见都是一个 !外加一个英文单词 important 吗?很形象,很贴切了。IE6这里会显示背景为 蓝色,并不是IE6不支持 !important,而是它会按照样式声明顺序后出现的覆盖前面的,此时它已经不认识 !important了,它六亲不认了。这正是广为流传的IE6 hack之一。而如果这样写会正常显示背景为 红色

1  <style type="text/css"> 
2  div { background :  blue ;  background :  red !important ;   }
3  </style> ­



再来看下4位特殊性标志 [0.0.0.0]

从左至右,每次给某一个位置+1,前一段对后一段具有无可辩驳的压倒性优势。无论后一位数值有多大永远无法超过前一位的1。

1,内联样式 [1.0.0.0] 

A:<span id="demo" style="color:red "></span>
B:还有就是JS控制的内联样式style对象,document.getElementById("demo").style.color="red";
这两者属于同一级别,不过一般情况是JS控制的内联样式优先级高,这与先后顺序申明有关系与本质无关,因为往往DOM操作是在DOM树加载完毕之后。

2,ID选择器 [0.1.0.0]
3,类,属性,伪类 选择器 [0.0.1.0]
4,元素标签,伪元素 选择器 [0.0.0.1]

关于CSS选择器可以查看W3C或者CSS的手册,不啰嗦了。
注意下 伪类选择器

LVHA伪类,样式按 LVHA优先级顺序从右至左覆盖,不同的顺序会产生不同的效果。
a:link - 默认链接样式
a:visited - 已访问链接样式
a:hover - 鼠标悬停样式
a:active - 鼠标点击样式
最后写下关于JS控制内联样式 带!important的现象:

看下正常的Demo1:  
1  <style type="text/css"> 
2  div { background :  red !important ;  height : 20px ; }  
3  #demo1 {  background :  green ; }  
4  .demo1 {  background : blue ; }  
5  </style> ­

1  < div  class ="demo1"  id ="demo1"  style ="background: yellow" ></ div >

1 < script type = " text/javascript " >
2 document.getElementById( " demo1 " ).style.background = " black "
3 < / script> 

­最终显示背景为 红色,这应该不会有什么问题, !important 放到哪都会改变优先级的,而后面的JS代码也不会改变优先级。

­
另外一个Demo2:

1  <style type="text/css">
2  div { background :  red !important ;  height : 200px ; }
3  #demo2 {  background :  green ; }
4  .demo2 {  background :  blue ; }
5  </style>
6 
1  < div  class ="demo2"  id ="demo2"  style ="background: yellow !important" ></ div >
­
1  < script type = " text/javascript " >
2  document.getElementById( " demo2 " ).style.background = " black " ;
3  < / script>
­

IE6,7        显示 红色
FF2+        显示 黄色
Opera9+   显示 红色
Safari       显示 黄色



­Demo3:

1  ­<style type="text/css">
2  div { background :  red !important ;  height : 200px ; }
3  #demo3 {  background :  green ; }
4  .demo3 {  background :  blue ; }
5  </style>

1  < div  class ="demo3"  id ="demo3"  style ="background: yellow !important" >   </ div >
­
1  ­ < script type = " text/javascript " >
2  document.getElementById( " demo3 " ).style.background = " black !important " ;
3  < / script>

­
IE6,7       显示 红色
FF2+       显示 黄色
Opera9+  显示 黑色
Safari      显示 黑色

­


­解释下上面两个例子:

­JS控制的style对象 实际就是内联样式style,这个没错
­
但是对于 JS控制style对象属性值里增加的!important 三个浏览器却给出了不同的结果:

­IE:JS控制style对象属性值完全覆盖内联style属性值,不支持Element.style.property="value !important",将报错:参数无效。

FF2+:不完全支持Element.style.property="value !important" : !important无效,不会报错, 如果内联style属性值无!important,则完全覆盖,有!important 则内联style属性优先级最高,不会受JS控制style的任何影响。

Opera9+ :JS控制style对象属性值完全覆盖内联style属性值,支持Element.style.property="value !important"。

Safari:支持Element.style.property="value !important" ,如果内联style属性值无!important,则完全覆盖,有!important 则内联style属性优先级最高,不会受JS控制style的任何影响。
                                                                                                                                                               --------------转载自Kiisun,原文地址:http://www.cnblogs.com/qieqing/articles/1224085.html


http://chatgpt.dhexx.cn/article/FQ1DgqFH.shtml

相关文章

JavaWeb_CSS(5)_样式优先级

本系列博客汇总在这里&#xff1a;JavaWeb_CSS 汇总 目录 样式优先级示例 样式优先级 由上到下&#xff0c;由外到内。优先级由低到高。 示例 CSS 文件1p {text-align: center;color: red; }CSS 文件2p {text-align: center;color: green; }/*div 表示 p 标签往内一层*/ d…

CSS 样式优先级权重

CSS的样式优先级可分为四大类&#xff1a; 1、&#xff01;important 无论何种引入方式和选择器&#xff0c;优先级都是最高的&#xff1b; 2、行内样式 style"" 行内样式的优先级要高于嵌入和外链&#xff0c;嵌入和外链如果使用的选择器相同就看他们在页面中插…

html中css样式的优先级规则

CSS2.1 中规定了关于 CSS 规则 Specificity&#xff08;特异性&#xff09;的计算方式&#xff0c;用一个四位的数字串&#xff08;注&#xff1a;CSS2 中是用三位&#xff09;来表示&#xff0c;最后以 Specificity 的高低判断 CSS 的优先权。Specificity 具体的计算规则&…

WEB前端--CSS样式优先级

出处&#xff1a; http://xugang.cnblogs.com 样式的优先级 多重样式&#xff08;Multiple Styles&#xff09;&#xff1a;如果外部样式、内部样式和内联样式同时应用于同一个元素&#xff0c;就是使多重样式的情况。 一般情况下&#xff0c;优先级如下&#xff1a; &#…

CSS的样式与优先级

上节我们学习了三种CSS修饰html的三种方式&#xff1a;内部样式-外部样式-行内样式 那他们有没有优先级之分那&#xff1f;是有的&#xff0c;我们可以了解一下他们同时修改样式是怎么样的优先级 首先在书写的格式上我们的书写顺序排序是&#xff1a;行内-外部-内部 一般都要按…

【三】CSS之样式的优先级

【三】CSS之样式的优先级 1 css样式的优先级 css在使用过程中&#xff0c;因为很多的选择符有具有批量查找的特点&#xff0c;所以很容易出现样式污染的问题。样式污染出现的原因是因为css代码编写过程中&#xff0c;因为引入方式、书写先后顺序以及选择符的优先级等问题导致的…

【CSS】样式优先级

找了好多资料&#xff0c;真是什么样的答案都有&#xff0c;所以自己收集整理了一下。 优先级从高到低如下&#xff1a; &#xff01;important行内样式id选择器类选择器属性选择器伪类选择器标签选择器伪元素选择器 参考&#xff1a;CSS 样式优先级 | 菜鸟教程 (runoob.com)…

HTML样式表优先级最低的是,css的样式优先级

前几天做百度的笔试题&#xff0c;第一题就是关于css优先级的&#xff0c;虽然知道一些规则&#xff0c;但碰上把各条规则相互组合就懵逼了&#xff0c;所以还是得来好好总结一下的。 首要原则 就两条&#xff1a; 优先级高的样式覆盖优先级低的样式 同一优先级的样式&#xff…

#IT界大佬告诉你,程序员接私活的7大平台利器

今天小编在网上汇集了一些国内程序员接私活的平台&#xff0c;希望对大家能够有用。 1、程序员客栈&#xff1a;程序员的经纪人 2、快码众包-让互联网产品开发更快速&#xff01;认准域名Kuai.ma 3、Coding 码市 - 基于云技术的软件外包服务平台 coding码市 4、开源中国众包平…

2020年 9 大程序员接私活的网站

点击“开发者技术前线”&#xff0c;选择“星标????” 在看|星标|留言, 真爱 2019互联网圈不好混&#xff0c;不是每个公司都能像腾讯云每人一部iPhone 11&#xff0c;不少公司今年已经没了年终奖&#xff0c;不要抱怨&#xff0c;因为有的小伙伴估计工作都没了。师长今天…

好起来了!程序员副业接私活网站分享~

来源&#xff1a;网络 1、程序员客栈&#xff1a;程序员的经纪人2、快码众包-让互联网产品开发更快速3、开源中国众包平台 oschina众包4、Coding 码市 - 云技术众包平台5、我爱方案网-电子方案开发&#xff0c;供应链平台6、码易-高质量软件众包交付服务平台7、人人开发 -让管理…

程序员可接私活的10个平台和一些建议,别掉坑里!

点击上方“码农突围”&#xff0c;马上关注&#xff0c;每天上午8:50准时推送 这里是码农充电第一站&#xff0c;回复“666”&#xff0c;获取一份专属大礼包 真爱&#xff0c;请设置“星标”或点个“在看” 作者&#xff1a;程序员新视界 来源&#xff1a;http://suo.im/4tacf…

程序员接私活的6个网站,你有技术就有钱!

点击上方“Python高校”&#xff0c;关注 未未干货立马到手 作者&#xff1a;发哥 链接&#xff1a;GitHubDaily 本篇文章会向大家推荐国内外几个接外包比较靠谱的平台&#xff0c;主旨是贵精不贵多。因此&#xff0c;像「猪x戒」这种会让程序员自贬身价&#xff0c;扰乱市场规…

程序员养家活口接私活必备网站(顺便用技术改变世界)

程序员接私活的原因很多种(挣钱、养家糊口、提升技术等等)。下面整理了一下网站送给最有潜能的你。 提前准备好自己的笔记本和技术呦。 1.码客帮:https://www.make8.com/ 码客帮是一个基于众包的互联网软件技术服务平台,建立项目需求方与技术大牛的连接。帮助需求方快速找到靠…

2020年,给你7个程序员接私活必备网站!

2020互联网圈不好混&#xff0c;不是每个公司都能像蚂蚁金服一样这么大气&#xff0c;不少公司今年因为疫情已经开始裁员&#xff0c;不要抱怨&#xff0c;加油干就完事了&#xff01; 今天给大家推荐几个赚钱养家的好渠道&#xff0c;一起来看看吧&#xff01; 1、程序员客栈…

分享10个接私活的网站

1. 程序员客栈&#xff1a;程序员的经纪人 https://www.proginn.com/ 2. 开源中国众包平台 oschina 众包 https://zb.oschina.net/ 3. 码市&#xff1a;来码市&#xff0c;找人才/任务快人一步 https://codemart.com/ 4. 我爱方案网&#xff1a;电子方案开发&#xff0c;供应…

程序员多赚20k的接私活必备网站

为什么都是程序员&#xff0c;就有人能多赚20k&#xff1f;那是因为副业搞得那么溜啊&#xff01; 今天分享一些程序员搞钱必备的接私活网站&#xff0c;让更多程序员们在工作之余能有另外一份收入。 1.程序员客栈&#xff1a;http://proginn.com 专为程序员服务的软件外包对…

程序员国内外最受好评的接私活6大网站,有技术就不怕赚不到钱!

本篇文章会向大家推荐国内外几个接外包比较靠谱的平台&#xff0c;主旨是贵精不贵多。因此&#xff0c;像「猪x戒」这种会让程序员自贬身价&#xff0c;扰乱市场规则的网站&#xff0c;便不会出现在下方推荐列表中。 下面开始进入正题。 国外篇 如果你打算接国外的软件外包&…

166、锐捷交换机如何配置?一步步详解,交换机配置再也不难了

本期内容共分为两部分,第一部分是vlan的基础配置命令,第二部分是锐捷交换机的配置实例,我们一起来看下,如何一步步的连接及配置锐捷交换机。 一、连接及远程登陆 用一台计算机作为控制台和网络设备相连,通过计算机对网络设备进行配置。 1、硬件连接: 把Console线一端连…

精心整理!锐捷交换机配置信息查看十大命令,会用不迷路

关于锐捷交换机的使用&#xff0c;一直都有不少朋友问起&#xff0c;本期阿城就给大家整理下常用的10大锐捷交换机的配置查看命令&#xff0c;希望可以帮助到各位老铁&#xff0c;记得点赞在看呀。 1、Ruijie#show version 这个命令可以查看交换机具体型号、软件版本、硬件版本…