iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >css样式优先级及层叠顺序排序的示例分析
  • 442
分享到

css样式优先级及层叠顺序排序的示例分析

2023-06-08 03:06:20 442人浏览 薄情痞子
摘要

这篇文章主要介绍CSS样式优先级及层叠顺序排序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一般情况下: [1位重要标志位] > [4位特殊性标志] > 声明先后顺序 !important &g

这篇文章主要介绍CSS样式优先级及层叠顺序排序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一般情况下
[1位重要标志位] > [4位特殊性标志] > 声明先后顺序
!important > [ id > class > tag ]
使用!important可以改变优先级别为最高,其次是style对象,然后是id > class >tag ,另外,另外在同级样式按照申明的顺序后出现的样式具有高优先级。
­
先来看下!important 这个诡异的东西

代码如下:


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


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

代码如下:


<style type="text/css">
div{background: blue; background: red !important; }
</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

代码如下:


<style type="text/css">
div{background: red !important; height:20px;}
#demo1{ background: green;}
.demo1{ background:blue;}
</style>

代码如下:


<div class="demo1" id="demo1" ></div>

代码如下:


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


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

代码如下:


<style type="text/css">
div{background: red !important; height:200px;}
#demo2{ background: green;}
.demo2{ background: blue;}
</style>

代码如下:


<div class="demo2" id="demo2" ></div>

代码如下:


<script type="text/javascript">
document.getElementById("demo2").style.background="black";
</script>


IE6,7 显示 红色
FF2+ 显示 黄色
Opera9+ 显示 红色
Safari 显示 黄色
--------------------------------------------------------------------------------
&shy;Demo3:

代码如下:


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

代码如下:


<div class="demo3" id="demo3" > </div>&shy;

代码如下:


<script type="text/javascript">
document.getElementById("demo3").style.background="black !important";
</script>


IE6,7 显示红色
FF2+ 显示黄色
Opera9+ 显示黑色
Safari 显示黑色
--------------------------------------------------------------------------------
&shy;解释下上面两个例子
&shy;JS控制的style对象 实际就是内联样式style,这个没错
&shy;
但是对于 JS控制style对象属性值里增加的!important 三个浏览器却给出了不同的结果:
&shy;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的任何影响。

css样式优先级是按照样式表中出现顺序还是按照元素中class或者id值的声明顺序呢?
以前一直以为是class中声明的迟的值优先级高,其实是根据样式表中出现的顺序来的。
代码:

代码如下:


<style type="text/css">
div{ height: 200px; width: 200px; background: red; }
.b{ background: green; }
.a{ background: blue;}
</style>
</head>
<body>
<div class="a b" 2>
</div>
</body>


div的样式会显示blue的样式颜色。
学透前端行业所有技术,玩遍北京周边所有城市。然后我会回到那个生我养我的地方,因为有亲人的地方才是家。

以上是“css样式优先级及层叠顺序排序的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: css样式优先级及层叠顺序排序的示例分析

本文链接: https://www.lsjlt.com/news/251567.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • css样式优先级及层叠顺序排序的示例分析
    这篇文章主要介绍css样式优先级及层叠顺序排序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一般情况下: [1位重要标志位] > [4位特殊性标志] > 声明先后顺序 !important &g...
    99+
    2023-06-08
  • CSS层叠样式的示例分析
    这篇文章给大家分享的是有关CSS层叠样式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   CSS层叠性   CSS层叠性就是浏览器处理冲突的一个特性,如果一个属性...
    99+
    2024-04-02
  • css样式优先级顺序是什么
    这篇文章主要讲解了“css样式优先级顺序是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css样式优先级顺序是什么”吧!   更好地理解哪些css样式...
    99+
    2024-04-02
  • css样式优先级知识点的示例分析
    这篇文章将为大家详细讲解有关css样式优先级知识点的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、“载” 这里的“载”,是载体,即样式表。对于开发人员来说,经常涉及到的只是“载”之一,除此之外...
    99+
    2023-06-08
  • CSS样式继承和层叠的示例分析
    这篇文章主要介绍CSS样式继承和层叠的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一:基本选择器 标签选择:根据页面当中标签名字进行选择,直接把样式应用到指定的标签上。特点...
    99+
    2024-04-02
  • html中层叠次序的示例分析
    小编给大家分享一下html中层叠次序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 样式表允许以多种方式规定样式信息...
    99+
    2024-04-02
  • CSS中优先级的示例分析
    这期内容当中小编将会给大家带来有关CSS中优先级的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。计算优先级优先级是根据由每种选择器类型构成的级联字串计算而成的。他...
    99+
    2024-04-02
  • 网页css优先级的示例分析
    这篇文章主要为大家展示了“网页css优先级的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“网页css优先级的示例分析”这篇文章吧。在讲CSS优先级之前,我们得要了解什么是CSS,CSS是...
    99+
    2023-06-08
  • css优先级计算的示例分析
    这篇文章主要为大家展示了“css优先级计算的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css优先级计算的示例分析”这篇文章吧。主要的css选择器有i...
    99+
    2024-04-02
  • css样式的继承性、层叠性 、优先级有什么作用
    这篇文章主要讲解了“css样式的继承性、层叠性 、优先级有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css样式的继承性、层叠性 、优先级有什么作用”吧! 一、css样式的继承性:...
    99+
    2023-06-05
  • CSS书写规范和顺序的的示例分析
    这篇文章将为大家详细讲解有关CSS书写规范和顺序的的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。CSS书写顺序 1.位置属性(position, to...
    99+
    2024-04-02
  • Shell中管道及执行顺序的示例分析
    这篇文章主要介绍Shell中管道及执行顺序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、基本概念 a、I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9; b、常用FD有3个,为0(...
    99+
    2023-06-09
  • node中IO以及定时器优先级的示例分析
    这篇文章主要介绍node中IO以及定时器优先级的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!事件循环node著名的基于eventloop 的单线程事件循环处理模型,高效的异...
    99+
    2024-04-02
  • golang中goroutine顺序输出方式的示例分析
    这篇文章将为大家详细讲解有关golang中goroutine顺序输出方式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。golang适合做什么golang可以做服务器端开发,但golang很适合做...
    99+
    2023-06-14
  • 微信小程序中css样式media标签的示例分析
    这篇文章主要介绍微信小程序中css样式media标签的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序 基础知识css样式media标签前言:微信小程序中我遇到了一个...
    99+
    2024-04-02
  • js中解析顺序、作用域、严格模式的示例分析
    小编给大家分享一下js中解析顺序、作用域、严格模式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、javascrip...
    99+
    2024-04-02
  • mysql中转换函数以及排序问题的示例分析
    这篇文章主要为大家展示了“mysql中转换函数以及排序问题的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中转换函数以及排序问题的示例分析”这...
    99+
    2024-04-02
  • 微信小程序Radio选中样式切换的示例分析
    这篇文章主要介绍微信小程序Radio选中样式切换的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果如下:原理主要是通过判断一个radio-group中哪个被选中,就让它加上...
    99+
    2024-04-02
  • 使用rownum分页排序前后几次查询数据不一样的示例分析
    这篇文章主要介绍使用rownum分页排序前后几次查询数据不一样的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1.环境:创建一个表create ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作