理解CSS|青训营笔记

43 阅读2分钟

CSS发展史

  1. 现如今已经是CSS3了

基础知识

  1. 层叠样式表、优先级
    • 层叠三大规则
      • 样式表来源
      • 选择器优先级
        • 内联(不属于选择器)>id>class = attribute = pseudo-classs > type = pseudo-element
      • 源码位置
        • 以声明位置为基准,而不是class里面的顺序
    • 思考:
      • 选择器尽量少使用id,减少了复用,优先级也高
      • 尽量不使用!important
      • 自己的样式加载到引用库样式后面(保证自己的样式生效)
  2. 继承
    • 可以使用inherit关键字指定一个属性从父元素继承
  3. CSS值和单位
    • 文字类
    • 数值类
    • 函数生成
    • 单位
  4. 盒模型
    • 三角形用了盒模型的border属性
    • 矩形使用了盒模型的百分比和padding
    • 水平居中是margin:auto
    • 渐变边框是使用背景的background-clip
    • 负外边距:
      • 左边或者顶部是负数,那么元素就会向左或者向上移动
      • 右边或者底部是负边距,那么不会移动元素,但是会把后面的元素拉过来
  5. 布局
    • 常规流 : 默认的布局方式
      • 外部显示类型(block(块级元素))和内部显示类型(inline(内联元素))
      • BFC块级格式化上下文
        • display:inline-block、flow-root
        • position: fixed、absolute
        • float:不为none
        • Overflow:不为visible
      • 关于外边距塌陷:
        • 两个兄弟元素之间相邻的上下外边距
        • 父子元素之间相邻的上下外边距
        • 内容为空元素自己上下外边距相邻
      • 消除外边距塌陷的方法
        • 在两个相邻的边距之间增加border\padding或者内联元素,让他不相邻
        • 在父子元素重叠的时候,除了上述方法,可以设置父元素为BFC。
    • Float:浮动流,脱离文档流
    • Positioning:定向流,fixed和absolute脱流
    • CSS3新增布局
      • Flex弹性盒子布局
        • 作用在父元素的
          • 建立一个弹性盒子 display:flex
          • 规定盒子的主轴方向 flex-direction
          • 子元素折行显示 flex-wrap
          • 主轴方向子元素排列方式:justify-content
          • 交叉轴方向子元素对其:align-item
        • 作用在子元素的
      • Grid网格布局
      • Multicol多列布局