深入css(上) | 青训营

76 阅读2分钟

深入css(上)

一、选择器优先级

根据选择器的特异度来决定(特异程度)。

1.1选择器的特异度

看选择器中有几个id、(伪)类和标签。
特异度:id>(伪)类>标签
若选中同一个,则优先级高的会覆盖优先级低的。

1.2继承

某些属性会自动继承其父级元素的计算值,除非显式指定一个值。
一般来说,和文字相关的属性是可以继承的,与盒模型相关的属性是不能继承的。
能够继承时,继承的是父元素的计算值。
我们一般计算值使用的是content box,也就是内容部分,若使用box-sizing:border-box,则为border部分及它包含的padding和content部分。

//显式继承

//每一个元素都能继承父元素属性
*{
box-sizing:inherit;//让原本不可继承的属性变为可继承
}

初始值:属性设置为initial。

二、布局

  • 常规流(文档流)
  • 浮动
  • 绝对定位

height/width属性中的auto取值由内容计算得来,百分数相对于容器的content box长度。
容器有指定长度时,百分数才生效(该元素的父级元素有指定的长度值时,该元素对应的百分数才会生效)。

padding和margin的百分数相对于容器宽度。

margin collapse:

若上面元素的margin-bottom为100px,下面元素的margin-top为100px,最终这两个元素的外边距会融合,最后显示最大的那个边距——100px,不会累加。

overflow:

当内容超过盒子时,通过设置overflow属性即可控制溢出内容如何显示。

  • visible:展示出
  • hidden:隐藏
  • scroll:超出的可用滚动条滑动显示

总结,在本节课中复习了以前学习到的一些相关css内容,加强了对于css基础的认知,对于布局方面也有了进一步了解,学习到了更多的选择器,如伪类选择器等,同时区分了不同的选择器和继承方式的区别。