HTML将div层级升到最高,CSS层级嵌套关系详解
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层级嵌套关系详解相关推荐
- DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)
css中cursor属性详解-鼠标移到图片变换鼠标形状 语法: cursor : auto | all-scroll | col-resize| crosshair | default | hand ...
- CSS浏览器兼容性问题详解总结
CSS浏览器兼容性问题详解总结 2009-11-12 11:39 对css缩写的支持问题: 不论是ie 还是ff对css的缩写都有一小点问题 比如 border: 0xp solid #fff;两个浏 ...
- (图文详细)最通俗易懂的CSS 浮动float属性详解
(图文详细)最通俗易懂的CSS 浮动float属性详解 声明:本文属于搬砖大神的文章到自己的博客上,原文地址为:https://www.cnblogs.com/iyangyuan/archive/20 ...
- CSS相对定位和绝对定位详解
CSS相对定位和绝对定位详解 如果,说浮动, 关键在一个 "浮" 字上面, 那么 我们的定位,关键在于一个 "位" 上. PS: 定位是我们CSS算是数一数二难 ...
- css动画相关属性详解
css动画相关属性详解 文章目录 css动画相关属性详解 什么是CSS动画? 一.@keyframes规则 二.延迟动画-animation-delay 三.设置动画应运行多少次animation-i ...
- css样式继承规则详解
css样式继承规则详解 一.总结 一句话总结:继承而发生样式冲突时,最近祖先获胜(最近原则). 1.继承中哪些样式不会被继承? 多数边框类属性,比如象Padding(补白),Margin(边界),背景 ...
- css中float详解,CSS浮动属性Float详解?史上最全Float详解
我们在学习css样式的时候,都知道css是盒概念,并且每一个盒子都是一个元素,下面我们就对CSS浮动属性Float进行详解,让你彻底了解Float. 一:什么是Float浮动? Float浮动是css ...
- html 自定义打印模板,HTML+CSS入门 自定义模板详解
本篇教程介绍了HTML+CSS入门 自定义模板详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门.< 首先总的stylecss和大模板都是当初angel_Kitty学姐的,嗯, ...
- 我的学习笔记——CSS背景渐变(Gradients)详解
我的学习笔记--CSS背景渐变(Gradients)详解 一.线性渐变(Linear Gradients) 1.语法 background-image: linear-gradient(directi ...
- html内容折叠,HTML+CSS入门 文本折叠详解
本篇教程介绍了HTML+CSS入门 文本折叠详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 先看效果: 收缩状态 展开状态 源代码: html> 文本折叠测试 ...
最新文章
- 3、python中的字符串
- php header运用细节
- mysql多表查询详解_MySQL多表查询详解上
- Duplicate standby database from active database
- 【数据库基础知识】oracle client安装及配置
- Java案例:利用JDBC连接Oracle数据库
- 15寸计算机显示器,苹果确认15寸RMBP支持全球首款5K显示器
- 路由跳转的时候地址栏的地址变了 但是页面不变_斐讯路由器如何设置上网 斐讯路由器设置上网方法【图文】...
- Redis教程:常见问题分析
- python访问webservice接口
- 高速计算机的应用领域概括,河北计算机一级考试题-MS模拟试题
- anaconda prompt提示系统找不到指定的路径
- Python高级第2课——飞机大战(只读课堂)
- fits文件读取代码
- python怎么判断实数_检查python对象是否可以解释为实数[python]
- Phoenix FD Maya 软件插件
- 2022中国汽车测试及质量监控博览会
- java打印任意边长的菱形
- 后台缓存收回进程无法释放上下文[/BUSINESS的缓存的[10]%-请考虑增加缓存的最大大小
- 宅公司 宅家里 养生锻炼必备的少林八段锦