标签:com 内容 set htm 组成 不能 字体 权重 title
首发日期:2018-05-01
层叠性主要遵循的原则是就近原则,在不考虑优先级的情况下,在多个样式中最终生效的样式是离标签最近的样式。【这里要注意只覆盖同样的不可重复的样式属性,不会覆盖不重复的属性,不重复的属性会合并下来(包括那些允许设置多个值的属性也会合并,比如text-shadow)。】
依据层叠性的就近原则,第一个div的背景色为蓝色,第二个div的背景色为绿色。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Document</title> <style> div{ background-color: red; } div{ background-color: blue; } </style> </head> <body> <div>123</div> <!-- 最终背景颜色是蓝色 --> <div style="background-color: green;">123</div> <!-- 最终背景颜色是绿色 --> </body> </html>
可继承的属性比如有字体类属性(字体颜色、字体大小之类的)、文本类属性(行高之类的)、背景类属性(背景颜色之类的)(要注意子标签不会继承父标签的宽度、高度、边距属性。)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Document</title> <style> div{ font-size:70px; background-color: #CCC; color:skyblue; } </style> </head> <body> <div> <p>p继承div的样式</p> </div> </body> </html>
下面的代码可以从上到下,依次注释选择器来测试优先级。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Document</title> <style> /* 从上到下,依次注释选择器来测试优先级 */ div{ color:green!important; } #id1{ color:red; } .class{ color: blue; } div{ color:purple; } </style> </head> <body> <div>!import优先级</div> <div style="color:red">行内样式优先级</div> <div id="id1">id选择器优先级</div> <div class="c1">类选择器优先级</div> <div>标签选择器优先级</div> </body> </html>
上面的规则!important和行内样式毫无疑问,但如果多个选择器混杂来定义样式的时候如何判断他们的优先级?答案是依据权重来判断。
权重相同时,考虑就近原则:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Document</title> <style> div .p1{ background-color:blue; } p.p1{ background-color:green; } </style> </head> <body> <div> <p class="p1">123</p> <!-- 最终颜色为绿色 --> </div> </body> </html>
权重不同时,权重大的生效:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Document</title> <style> p.p1:first-child{ background-color:green; } div .p1{ background-color:blue; } </style> </head> <body> <div> <p class="p1">123</p> <!-- 最终颜色为绿色 --> </div> </body> </html>
标签:com 内容 set htm 组成 不能 字体 权重 title
原文地址:https://www.cnblogs.com/progor/p/8976436.html