CSS的继承性和层叠性

作者: Demo_Yang | 来源:发表于2017-03-21 14:19 被阅读123次

继承性

有一些属性,当给自己设置的时候,自己的后代都继承上了,这个就是继承性。
哪些属性能继承?
color、 text-开头的、line-开头的、font-开头的。
这些关于文字样式的,都能够继承; 所有关于盒子的、定位的、布局的属性都不能继承
这些关于文字样式的,都能够继承; 所有关于盒子的、定位的、布局的属性都不能继承

1    body{
2    color:gray;
3    font-size:14px;
}

继承性是从自己开始,直到最小的元素。

层叠性

很多公司如果要笔试,那么一定会考层叠性。

层叠性:就是css处理冲突的能力。 所有的权重计算,没有任何兼容问题!
CSS像艺术家一样优雅,像工程师一样严谨。


当选择器,选择上了某个元素的时候,那么要这么统计权重:
id的数量,类的数量,标签的数量

255个类等于一个id 255个标签等于一个id 但是没有意义

不进位,实际上能进位但是没有实战意义!


如果权重一样,那么以后出现的为准:

如果不能直接选中某个元素,通过继承性影响的话,那么权重是0。


如果大家都是0,那么有一个就近原则:谁描述的近,听谁的。


权重问题大总结:
1) 先看有没有选中,如果选中了,那么以(id数,类数,标签数)来计权重。谁大听谁的。如果都一样,听后写的为准。
2) 如果没有选中,那么权重是0。如果大家都是0,就近原则。

css3:盒模型、浮动
css4:定位

css5:背景、表格
css6:切图

下列都是IE6兼容的选择器:
p
#box
.spec
div.box
div .box
div , .box
*
下列都是IE7开始兼容:
div>p
div+p
下列都是IE8开始兼容:
div p:first-child
div p:last-child

继承性:好的事儿。继承从上到下,哪些能?哪些不能?
层叠性:冲突,多个选择器描述了同一个属性,听谁的?
同一个标签,携带了多个类名,有冲突:
1   <p class="spec1 spec2">我是什么颜色?</p>
2   <p class="spec2 spec1">我是什么颜色?</p>
和在标签中的挂类名的书序无关,只和css的顺序有关:
1       .spec2{
2           color:blue;
3       }
4       .spec1{
5           color:red;
6       }
7   </style>
红色的。因为css中red写在后面。
!important标记
important是英语里面的“重要的”的意思。我们可以通过语法:
1k:v !important;
来给一个属性提高权重。这个属性的权重就是无穷大。
一定要注意语法:
正确的:
1font-size:60px !important;
错误的:
1font-size:60px; !important;     → 不能把!important写在外面
1font-size:60px important;      →  不能忘记感叹号

需要强调:
1) !important提升的是一个属性,而不是一个选择器
2) !important无法提升继承的权重,该是0还是0
由于div是通过继承性来影响文字颜色的,所以!important无法提升它的权重,权重依然是0。
干不过p标签,因为p标签是实实在在选中了,所以字是蓝色的(以p为准)。
3)!important不影响就近原则
如果大家都是继承来的,按理说应该按照“就近原则”,那么important能否影响就近原则呢?
答案是:不影响。远的,永远是远的。不能给远的写一个important,干掉近的。
! important做站的时候,不允许使用。因为会让css写的很乱。
现在,我们知道层叠性能比较很多东西:
选择器的写法权重,谁离的近,谁写在下面。

权重计算总结
Paste_Image.png

欢迎关注公共号

相关文章

  • CSS三大特性

    CSS全称 Cascading StyleSheet层叠样式表 继承性 层叠性 优先级 继承性 1.什么是继承性?...

  • css的三大特性

    css层叠性 css继承性 css优先性 1.css层叠性 所谓层叠性是指多种CSS样式的叠加。 如果一个属性通过...

  • 2.CSS特性-CSS进阶

    二、CSS特性 CSS具有两大特性:继承性层叠性 1.继承性 CSS的继承性,指的是子元素继承父元素的某些样式属性...

  • 第二章 CSS基础

    Cascading Style Sheet —— 层叠样式表 Css的特性 层叠性 继承性 重要性、 Css基本规...

  • css继承性和层叠性

    1.继承性 首先我们要明白一点,并不是所有的属性都能继承。那么,究竟哪些属性可以继承呢?很简单,color、tex...

  • 2022-02-03 CSS第三天

    CSS的三大特性 层叠性 继承性 行高的继承性 优先级 权重练习小例子

  • CSS 三大特性

    CSS的三个特性是指层叠性、继承性以及优先级。 一、CSS层叠性 说明层叠性是多种CSS样式的叠加,是浏览器处理样...

  • CSS特性 & CSS优先级算法

    CSS特性 层叠性 继承性 优先级 CSS层叠性 在css样式中,与样式的调用顺序无关,与样式的定义顺序有关。 层...

  • 前端学习笔记七

    Css层叠样式表: 1,Css层叠性:指多种css样式的叠加 2,Css继承性:子标签会继承父标签的某些样式。 字...

  • 这周的学习

    九 . CSS 的三大特性 CSS 有三个非常重要的特性 :层叠性,继承性,优先级。 1 . 层叠性 ...

网友评论

    本文标题:CSS的继承性和层叠性

    本文链接:https://www.haomeiwen.com/subject/xvmwnttx.html