1。继承功能:为父元素设置一些属性,子元素也可以使用。这称为继承。**注意:**1.并不是所有的属性都可以继承,只能继承color/font-/text-/line-开头的属性2.CSS继承中,不仅子类可以继承,所有的都可以后代可以继承3.继承的特殊性3.1a标签的文字颜色和下划线不能继承,作为子元素,需要在子元素中处理样式修改3.2h标签的文字大小不能继承,作为子元素**应用场景:**一般用来设置网页上的一些常用信息,比如网页的文字颜色、字体、文字大小等2.层叠的概念:层叠是指当标签设置有多个重复样式时,A属性会覆盖另一个属性。作用:级联是CSS处理冲突的一种能力**注意事项:**级联只有在多个选择器选择“同一个标签”,然后设置“同一个属性”时才会发生。层叠示例:先将div的底色设置为红色,再将背景色设置为粉色,那么最终的颜色可能是红色或粉色(很显然,两种颜色设置不能并排设置,所以只设置一种是用的,这里就不给出答案了,因为还要考虑“优先级”)**实现原理:**级联的原则就是就近原则。在不考虑优先级的情况下,多个样式中最终生效的样式为距离标签最近的样式。3.优先级功能:当多个选择器选择同一个标签,为同一个标签设置相同的属性时,如何堆叠由优先级决定:!important>内联样式>id选择器>类选择器>标签选择器>通配符>继承【优先级高的规则会忽略级联,忽略就近原则来定义样式。比如定义了!important,那么即使内联样式关闭,标有!important的属性最终也会生效]3.1优先级判断的三种方法1.间接选择指的是继承如果是间接选择,那么就是谁离目标标签远就听谁近2.同一个选择器(直接选择)如果都是直接选择,而且都是同一类型的选择器,那么谁后面写谁就听谁是3.不同的选择器(直接选择)如果都是直接选择,不是同一类型的选择器,那么会按照选择器的优先级进行堆叠id>class>label>wildcard>inheritance>browserdefault3.2priority!important作用:对于如果在直接选择标签的选择器中增加某个属性的优先级,可以将指定属性的优先级增加到最高注意:1.!important只能用于直接选择,不能对于间接选择2.通配符选择器选择的标签也是直接选择3.!important只能增加指定属性的优先级,不会增加其他属性的优先级4.!important必须写在属性中值得分号前面5.!important前面的感叹号不能省略6.但是一般建议不要使用"!important",因为它会改变级联的工作方式,使调试变得困难。3.3优先级权重作用:当多个选择器混合在一起时,我们可以通过计算权重来确定谁的优先级最高-权重计算规则内联样式,如:style="...",权重为1000ID选择器,如:#content,权重为0100。类、伪类、属性选择器,如.content,权重为0010。标签选择器、伪元素选择器,如divp,权重为0001。通配符、复合选择器(+、>、~等)、负伪类(:not)无效,权重为0000。继承的样式没有权重-首先计算选择器中有多少个id,id多的选择器优先级最高-如果id个数相同,再看class个数names,classnames数量最多的优先级最高-如果类名个数相同,则看标签名个数,标签名个数最多的优先级最高-如果id个数一样,class名个数也一样,tag名个数也一样,就不会继续往下数了,那么这个时候谁写的晚就听谁的,那就是,如果优先级相同,那么谁后写就听谁注意点:1.只有选择器直接选择标签时,才需要计算权重,否则肯定会听直接选择的选择器
