前端笔记 | 青训营笔记

35 阅读2分钟

一、CSS

1.层叠、优先级

    1. 样式表来源:用户代理样式>用户样式表>作者样式表>作者样式表中的!important>用户样式表中的!important>用户代理样式表中的!important
    1. 选择器优先级:标记选择器(如:body,div,p,ul,li)>id选择器>类选择器>后代选择器>子元素选择器>伪类选择器
    1. 源码顺序 对于@import的样式,根据@import的顺序 对于link和style 标签的样式,根据在document中的顺序决定

2.盒模型

浏览器根据视觉格式化模型(visual formatting model),将所有元素表示为盒子模型,css通过盒模型做layout

  • 设置左边或顶部的负外边距,元素就会相应地向左或向上移动,导致元素与它前面的元素重叠(margin-top)
  • 如果设置右边或者底部的负外边距,并不会移动元素,而是将它后面的元素拉过来(margin-bottom)

3.外边距塌陷

  1. 两个兄弟元素之间相邻的上下外边距
  2. 父子元素之间相邻的上下外边距
  3. 内容为空元素自己上下外边距相邻

消除外边距塌陷方法

  1. 在两个相邻的上下边距之间增加border、padding或者内联元素,使之不相邻
  2. 在父子元素重叠时,除了上述方法,还可以设置父元素为BFC,使得父子不在同级BFC中

4.定位

  1. relative:元素相对于自己原来在文档流中的位置进行定位,但是原来文档流的空间还在。
  2. absolute:元素被移出正常文档流,且没有预留空间,相对于最近的非static定位祖先元素的进行定位。
  3. fixed:元素被移出正常文档流,且没有预留空间,相对于屏幕视口进行定位,屏幕滚动也不会改变位置
  4. sticky:元素相对它的最近滚动祖先(祖先的overflow是scroll/hidden/auto)的视口(scrollport)定位