CSS样式定义的优先级顺序总结

层叠优先级是:

浏览器缺省 < 外部样式表 < 内部样式表 < 内联样式

其中样式表又有:

类选择器 < 类派生选择器 < ID选择器 < ID派生选择器

派生选择器以前叫上下文选择器,所以完整的层叠优先级是:

浏览器缺省 < 外部样式表 < 外部样式表类选择器 < 外部样式表类派生选择器 < 外部样式表ID选择器 < 外部样式表ID派生选择器 < 内部样式表 < 内部样式表类选择器 < 内部样式表类派生选择器 < 内部样式表ID选择器 < 内部样式表ID派生选择器 < 内联样式...共12个优先级

为了说明该问题,请参见下面的例子说明。

  1. <html>
  2. <head>
  3. <title></title>
  4. <style type="text/css">
  5. div { color: #00FF00 } /* 绿色 */
  6. .a1 { color: #0000FF } /* 蓝色 */
  7. .a1 div { color: #00FFFF } /* 青色 */
  8. .a2 { color: #FF0000 } /* 红色 */
  9. #a2 { color: #FFFF00 } /* 黄色 */
  10. #a2 div { color: #FF00FF } /* 紫色 */
  11. </style>
  12. </head>
  13. <body>
  14. <div>我是绿色,内部样式表优先于浏览器缺省</div>
  15. <div class="a2">我是红色,类选择器优先于内部样式表</div>
  16. <div class="a2" id="a2">我是黄色,ID选择器优先于类选择器</div>
  17. <div class="a1">
  18. <span>我是蓝色,类选择器优先于内部样式表</span>
  19. <div>我是青色,类派生选择器优先于类选择器</div>
  20. <div class="a2">我还是青色,类派生选择器优先于所有类选择器</div>
  21. <div id="a2">
  22. <span>我是黄色,ID选择器优先于类派生选择器</span>
  23. <div>我是紫色,ID派生选择器优先于类派生选择器</div>
  24. <div class="a1">我还是紫色,ID派生选择器优先于所有类选择器</div>
  25. <div class="a1" id="a1">我还是紫色,ID派生选择器优先于所有ID选择器</div>
  26. <div class="a1" id="a1" style="color:#000000;">我是黑色,内联样式驾到闲杂人等退下</div>
  27. </div>
  28. </div>
  29. </body>
  30. </html>

运行后的效果图:

另外,如果同一个元素在没有其他样式的作用影响下,其Class定义了多个并以空格分开,其优先级顺序为:

一个元素同时应用多个class,后定义的优先(即近者优先),加上!important者最优先!

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title></title>
  6. <style type="text/css">
  7. .a2 {
  8. font-size: 18pt;
  9. color: #0000FF!important;
  10. }
  11. .a1 {
  12. font-size: 9pt;
  13. color: #FF0000;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <br />
  19. <span class="a1">a1</span><br />
  20. <span class="a2">a2</span><br />
  21. <span class="a2 a1">a2 a1</span><br />
  22. <span class="a1 a2">a1 a2</span><br />
  23. </body>
  24. </html>

运行后的效果图:

CSS样式定义的优先级顺序总结的更多相关文章

  1. css样式 浏览器的读取顺序

    css样式 浏览器的读取顺序 例: tbody tr td{} 浏览器是先查找td,然后去找td tr,然后去找td tr tbody div p{}和div>p{}的区别 .div p{} 是 ...

  2. 三种css样式表及其优先级

    1.行内样式 body内: <p style="text-indent: 2em;color: red"> 我是行内样式 </p> 2.内部样式表 body ...

  3. css 样式表的书写顺序

    display || visibility list-style : list-style-type || list-style-position || list-style-image positi ...

  4. 28. 表单css样式定义格式

    form>table>tbody>tr>td{padding:5px;font-size:14px;font-family:"Microsoft YaHei" ...

  5. 各大门户网站全局CSS样式定义

    1.网易 body { text-align: center; font-family:"宋体", arial;margin:0; padding:0; background: # ...

  6. CSS三大特性之优先级顺序

    id选择器>类选择器>标签选择器>通配符>继承>浏览器默认

  7. CSS样式优先级

    关于CSS样式优先级 一般情况下: [1位重要标志位] > [4位特殊性标志] > 声明先后顺序 !important > [ id > class > tag ] 使用 ...

  8. 关于CSS样式优先级

    一般情况下: [1位重要标志位] > [4位特殊性标志] > 声明先后顺序 !important > [ id > class > tag ] 使用!important可 ...

  9. 用JS查看修改CSS样式(cssText,attribute('style'),currentStyle,getComputedStyle)

    CSS样式定义方法 大家都知道,在为HTML设置样式的时候,通常有三种方法:内联样式,内部样式表,外部样式表. 1.内联样式: 内联样式表就是在HTML元素中的行内直接添加style属性. <d ...

随机推荐

  1. 解决jquery绑定click事件出现点击一次执行两次问题

    问题定位:通过浏览器F12定位到点击一次出现两次调用. 问题复现: $("#mail_span").on("click",function(){        ...

  2. Java基础知识你知道多少?

    Java虚拟机基础知识你知道多少? Java并发基础知识你知道多少? Java数据结构基础知识你知道多少? java序列化与反序列化 https://github.com/zhantong/inter ...

  3. EF CodeFirst(三) 并发处理

    并发分为两种,一种叫做悲观并发,一种叫乐观并发. 名字挺文艺 悲观并发 悲观并发是什么呢? 就拿我们常用的代码版本控制来说. 有一个文档,A和B都要 获取这个文档并进行修改, 如果当A在读取这个文档数 ...

  4. ubuntu下安装 Sublime Text 3 及 PlantUML 绘图插件

    ubuntu下只想做C++的程序代码编写,最开始选择了codeblock,主要目的是安装简单,集成度高,还可以调试,但是用的时候老是无故退出,改了半天的代码就这样丢失,挺苦恼的,可能跟自己装的系统比较 ...

  5. APP中内嵌H5页面为什么不能下载?

    在APP中内嵌H5页面,若页面上存在下载链接,没有任何反应,为什么呢? 原因是app中内嵌的H5页面是WebView解析的,什么是WebView呢? 在Android手机中内置了一款高性能webkit ...

  6. 只有mdf文件的恢复方法

    EXEC sp_attach_single_file_db @dbname = 'AdventureWorksDW2012_Data',@physname = 'D:\Program Files (x ...

  7. as 打包报错

    错误:Android Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease' ...

  8. 【Redis】Redis学习(五) Redis cluster模式详解

    一般情况下,使用主从模式加Sentinal监控就可以满足基本需求了,但是当数据量过大一个主机放不下的时候,就需要对数据进行分区,将key按照一定的规则进行计算,并将key对应的value分配到指定的R ...

  9. 【Redis】Redis学习(二) master/slave、sentinel、Cluster简单总结

    项目中用到Redis,所以准备学习一下,感觉Redis的概念还是很多的,什么主从模式.sentinel模式.集群模式的,一下子都晕了,我觉得还是有必要先理清这些基本概念再说. 一.单节点实例 单节点实 ...

  10. Hive Serde - CSV、TSV

    CSV hive-0.14.0内置支持CSV Serde,以前的版本需要引入第三方库的jar包(http://https://github.com/ogrodnek/csv-serde) 现在有个文本 ...