深入CSS| 青训营

108 阅读1分钟

选择器:

特异度(specificity)

来确定优先级

继承

某些属性会自动继承其父元素的计算值,除非显式指定一个值。(e.g.颜色)
通常在css里面和文字相关的一些属性都是可以继承的,盒模型相关的都是不可继承的。
inherit关键字:继承不可继承的属性

*{
    box-sizing:inherit
}

初始值:css中每一个元素都有初始值,可以使用initial关键字显示重置初始值

background-color:initial

盒模型

  • width:容器指定高度时,百分数才生效
  • padding:百分数相对于容器宽度
  • border:三个属性,四个方向 ->三角形
  • margin:百分数相对于容器宽度, 使用mrgin:auto水平居中,margin collaspe取两者之间较大的边距,而不是相加值。
  • box-sizing:border-box
  • 内容超越本身:overflow:visible/hidden/scroll

块级和行级

块级vs.行级

块级:独占一行,适用所有盒模型属性

行级:和其他盒子一起放在一行或拆成多行,盒模型width,height不适用

块级元素vs.行级元素

块级元素:生成块级盒子:body,article,div,main,seciton,h1-6,p,ul,li

display:block

行级元素:生成行级盒子,内容分散在多个行盒中,span,em,strong,cite,code

display:inline

  • display属性:block:块级盒子,inline:行级盒子,inlinw-block:本身是行级,可以设置宽高,作为一个整体不会被拆散成多行,none

  • 行级排版上下文:

常见布局

flex布局

单一方向布局

Grid布局

二维方向布局

分类

  • 常规流:盒模型 flex,grid
  • float流
  • 绝对定位:position:relative,absolute,fixed