1,选择器一样的情况下后面的会覆盖前面的属性。比如:

p { color: red; }

p { color: blue; }

p元素的元素将是蓝色,因为遵循后面的规则。

2,使用嵌套选择器

遵循嵌套选择器的实际特性原则。

实际特性计算公式:基本的,使用ID选择器的值是100,使用class选择器的值是10,每个html选择器的值是1。它们加起来就可以计算出特性的值。比如:

p的特性是1(一个html选择器)

div

p的特性是2(两个html选择器)

.tree的特性是10(1个class选择器)

div

p.tree的特性是1+1+10=12,(两个html选择器,一个class选择器)

#baobab的特性是100(1个ID选择器)

body

#content .alternative

p的特性是112(两个html选择器,一个ID选择器,一个类选择器)

按照上面的规则,div

p.tree的特性比div p高,body #content .alternative p又比它们两个都高。

3,css优先级的四大原则:

原则一:继承不如指定

样式是继承来的永远不如具体指定的优先级高

例子1:

CODE:

*{font-size:20px}

.class3{ font-size: 12px; }

–>

我是多大字号?

运行结果:.class3{ font-size: 12px; }

例子2:

CODE:

#id1 #id2{font-size:20px}

.class3{font-size:12px}

–>

我是多大字号?

运行结果:.class3{

font-size: 12px; }

注意:后面的几大原则都是建立在“指定”的基础上的。

原则二:

#ID >.class >标签选择符

例子:

CODE:

#id3 { font-size: 25px; }

.class3{ font-size: 18px; }

span{font-size:12px}

–>

我是多大字号?

运行结果:#id3 { font-size: 25px; }

原则三:越具体越强大

解释:当对某个元素的CSS选择符样式定义的越具体,层级越明确,该定义的优先级就越高。

CODE:

.class1 .class2 .class3{font-size: 25px;}

.class2 .class3{font-size:18px}

.class3 { font-size: 12px; }

–>

我是多大字号?

运行结果:.class1 .class2 .class3{font-size: 25px;}

原则四:标签#id >#id ; 标签.class >.class

span#id3{font-size:18px}

#id3{font-size:12px}

span.class3{font-size:18px}

.class3{font-size:12px}

–>

我是多大字号?

我是多大字号?

运行结果:span#id3{font-size:18px} | span.class3{font-size:18px}

*四大原则的权重

四大原则的权重就是: 原则一 >原则二 >原则三 >原则四

解释:

首先遵循原则一

有指定开始使用下面的原则,无指定则继承离他最近的定义。

然后开始原则二

1、比较最高优先级的选择符

例子:

CODE:

#id3{font-size:18px}

.class1 .class2 .class3{font-size:12px}

.class3{font-size:18px}

div p span{font-size:12px}

–>

我是多大字号?

运行结果:#id3{font-size:18px}

删掉上面CSS中的前两行可以得出,如果没有最高级别的#ID会寻找.class 即使后面的CSS按照“原则二”

描述的再具体也无法突破原则一。

2、如果两条CSS的如果最高选择符优先级一样,则比较他们的数量

.class1 #id3{font-size:12px}

.class1 .class2 #id3{font-size:14px}

–>

我是多大字号?

运行结果:.class1 .class2 #id3{font-size:14px}

3、如果最高选择符级别和数量都一样,则按照原则二比较他们下一级,以此类推。

#id1 .class2 .class3{font-size:14px}

div .class2 #id3{font-size:12px}

–>

我是多大字号?

[color=Orange]

运行结果:#id1 .class2 .class3{font-size:14px}

*最高级选择符的位置没有高下之分,论证:[code]CODE:

#id1 .class2 .class3{font-size:18px}

.class1 #id2 .class3{font-size:14px}

.class1 .class2 #id3{font-size:12px}

–>

我是多大字号?

上例中更换3条CSS的先后可以得出,哪条位于最后,哪条起作用。说明他们的级别一样,后面的将覆盖前面的。

*将原则四归入原则二的不合理性,论证:

CODE:

.class1 span#id3{font-size:14px}

#id1 .class2 .class3{font-size:12px}

–>

*最高级选择符的位置没有高下之分,论证:[code]CODE:

#id1 .class2 .class3{font-size:18px}

.class1 #id2 .class3{font-size:14px}

.class1 .class2 #id3{font-size:12px}

–>

我是多大字号?

上例中更换3条CSS的先后可以得出,哪条位于最后,哪条起作用。说明他们的级别一样,后面的将覆盖前面的。

*将原则四归入原则二的不合理性,论证:

CODE:

.class1 span#id3{font-size:14px}

#id1 .class2 .class3{font-size:12px}

–>

–>

我是多大字号?

上例中可以看出,如果将原则四并入原则三,将span.class3看作两层,那么应该和.class2

.class3层级一样多,那么应该显示12px,而事实不是这样。

最终对决原则四

如果还分不出结果,则开始原则四的比较:

例子1:

CODE:

.class1 p.class2 .class3{font-size:14px}

.class1 .class2 .class3{font-size:12px}

–>

我是多大字号?

.class1 p.class2 .class3{font-size:14px}

先看是否描述到该元素,再看最高级别的等级和数量(#id>class,html#id>#id),同级级别&数量一致时,再看下一级属性。

HTML将div层级升到最高,CSS层级嵌套关系详解相关推荐

  1. DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)

    css中cursor属性详解-鼠标移到图片变换鼠标形状 语法:  cursor : auto | all-scroll | col-resize| crosshair | default | hand ...

  2. CSS浏览器兼容性问题详解总结

    CSS浏览器兼容性问题详解总结 2009-11-12 11:39 对css缩写的支持问题: 不论是ie 还是ff对css的缩写都有一小点问题 比如 border: 0xp solid #fff;两个浏 ...

  3. (图文详细)最通俗易懂的CSS 浮动float属性详解

    (图文详细)最通俗易懂的CSS 浮动float属性详解 声明:本文属于搬砖大神的文章到自己的博客上,原文地址为:https://www.cnblogs.com/iyangyuan/archive/20 ...

  4. CSS相对定位和绝对定位详解

    CSS相对定位和绝对定位详解 如果,说浮动, 关键在一个 "浮" 字上面, 那么 我们的定位,关键在于一个 "位" 上. PS: 定位是我们CSS算是数一数二难 ...

  5. css动画相关属性详解

    css动画相关属性详解 文章目录 css动画相关属性详解 什么是CSS动画? 一.@keyframes规则 二.延迟动画-animation-delay 三.设置动画应运行多少次animation-i ...

  6. css样式继承规则详解

    css样式继承规则详解 一.总结 一句话总结:继承而发生样式冲突时,最近祖先获胜(最近原则). 1.继承中哪些样式不会被继承? 多数边框类属性,比如象Padding(补白),Margin(边界),背景 ...

  7. css中float详解,CSS浮动属性Float详解?史上最全Float详解

    我们在学习css样式的时候,都知道css是盒概念,并且每一个盒子都是一个元素,下面我们就对CSS浮动属性Float进行详解,让你彻底了解Float. 一:什么是Float浮动? Float浮动是css ...

  8. html 自定义打印模板,HTML+CSS入门 自定义模板详解

    本篇教程介绍了HTML+CSS入门 自定义模板详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门.< 首先总的stylecss和大模板都是当初angel_Kitty学姐的,嗯, ...

  9. 我的学习笔记——CSS背景渐变(Gradients)详解

    我的学习笔记--CSS背景渐变(Gradients)详解 一.线性渐变(Linear Gradients) 1.语法 background-image: linear-gradient(directi ...

  10. html内容折叠,HTML+CSS入门 文本折叠详解

    本篇教程介绍了HTML+CSS入门 文本折叠详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 先看效果: 收缩状态 展开状态 源代码: html> 文本折叠测试 ...

最新文章

  1. 3、python中的字符串
  2. php header运用细节
  3. mysql多表查询详解_MySQL多表查询详解上
  4. Duplicate standby database from active database
  5. 【数据库基础知识】oracle client安装及配置
  6. Java案例:利用JDBC连接Oracle数据库
  7. 15寸计算机显示器,苹果确认15寸RMBP支持全球首款5K显示器
  8. 路由跳转的时候地址栏的地址变了 但是页面不变_斐讯路由器如何设置上网 斐讯路由器设置上网方法【图文】...
  9. Redis教程:常见问题分析
  10. python访问webservice接口
  11. 高速计算机的应用领域概括,河北计算机一级考试题-MS模拟试题
  12. anaconda prompt提示系统找不到指定的路径
  13. Python高级第2课——飞机大战(只读课堂)
  14. fits文件读取代码
  15. python怎么判断实数_检查python对象是否可以解释为实数[python]
  16. Phoenix FD Maya 软件插件
  17. 2022中国汽车测试及质量监控博览会
  18. java打印任意边长的菱形
  19. 后台缓存收回进程无法释放上下文[/BUSINESS的缓存的[10]%-请考虑增加缓存的最大大小
  20. 宅公司 宅家里 养生锻炼必备的少林八段锦

热门文章

  1. flash动画有几种文件格式
  2. 桌面图标有阴影的解决方法
  3. sap采购定价过程配置
  4. 【英语】考研英语红宝书单词——必考词
  5. 谈谈笔者是怎么拿到HFish社区活动仅有的500京东E卡
  6. MATLAB之微分方程求解(十一)
  7. 如何写好一份用户需求说明书
  8. 关于RHCE考证的那些事
  9. post man以Content-type: application/octet-stream方式请求api
  10. vue:不同环境配置不同打包命令