CSS知识|青训营笔记

59 阅读2分钟

CSS注意事项

选择器尽量少用id

尽量不要用! important因为这破坏了样式表中的固有的级联规则 使得调试找 bug 变得更加困难了。当两条相互冲突的带有 !important 规则的声明被应用到相同的元素上时,拥有更大优先级的声明将会被采用

自己的样式加载在引用库样式的后面

CSS继承

大部分具有继承特性的属性跟文本相关:

  • font:组合字体
  • font-family:规定元素的字体系列
  • font-weight:设置字体的粗细
  • font-size:设置字体的尺寸
  • font-style:定义字体的风格
  • text-indent:文本缩进
  • text-align:文本水平对齐
  • line-height:行高
  • color:文本颜色
  • visibility:元素可见性
  • 光标属性:cursor

常用的css不可继承的属性

  • display:规定元素应该生成的框的类型
  • text-decoration:规定添加到文本的装饰
  • text-shadow:文本阴影效果
  • white-space:空白符的处理
  • 盒子模型的属性:width、height、margin 、border、padding
  • 背景属性:background
  • 定位属性:float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index
可以使用inherit关键字显式指定一个属性值从其父元素继承

单位

  • 绝对长度: px, pt, mm
  • 相对长度: em, rem, ex,
  • 角度: deg, grad, tum, rad
  • 时间: s,ms
  • 分辨率: dpi, dpcm, dppx

基础选择器

  • ID选择器
  • 标签选择器
  • 类选择器
  • *通用选择器,该选择器匹配所有元素
  • 子组合器(>)匹配的目标元素是其他元素的直接后代。如: parent > child.
  • 相邻兄弟组合器(+) --匹配的目标元素紧跟在其元素后面。如: ρ+h2.
  • 伪类选择器.
  • 属性选择器
  • 较新的选择器:is() :has() :where() :not()

层叠上下文 image.png

除了 { position: relative | absolute; z-index: auto; }的元素之外,其他元素内部形成新的屈疊上下文 上述对应图中第二层元素 1. positioned && z-indexカauto l0;
2.无z-index但形成新stack context z-index> 0的元素(比如opacity< 1);

内部形成新的层叠上下文:
按z-index大小排列
按html出現順序排列

子元素的z-index无法超越父元素的z-index显示区域

下图引用于层叠上下文 - CSS:层叠样式表 | MDN (mozilla.org) 感觉理解的更详细和形象一点

  • 三个兄弟元素div1,div2,div3因为z-index的大小进行排序,进行层叠
  • div3中的子元素div4的z-index值为6大于div1的z-index值,但是由于子元素div4的z-index无法超越父元素div3的z-index显示区域,所以div4也是层叠在div1下面 image.png