选择器:
特异度(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