基础知识:Casading规则、选择器、继承、值和单位、盒模型
01层叠(cascading)、优先级
层叠、优先级
由层叠概念引申出的css代码good practice
选择器尽量少用id
尽量不要用!important
自己的样式加载在引用库样式的后面
01继承
大部分具有继承性的属性跟文本相关:
Color、font、font-family、font-size、font-weight、font-variant、font-style、line-height、letter-spacing、text-align、text-indent、text-transform、while-space以及word-spacing还有少部分列表、表格的属性
可以使用inherit关键字显示指定一个属性值从其父元素继承
盒模型
浏览器根据视觉格式化模型,将所有元素表示为盒子模型,css通过盒模型做layout
02布局
常规流、弹性盒子、grid、定位
02概述
CSS 3之前的常用布局
Normal Flow 常规流:默认的布局方式;有块级格式化上下文和内联格式化上下文
Float浮动流:用float属性控制脱流,做横向布局
Positioning定位流:用position属性控制;fixed和absolute脱离文档流可以自由定位、覆盖等
CSS3之后的新增布局
Flex弹性盒子布局;一维空间布局
Grid网格布局;二维空间布局
Multicol多列布局;文本、内容的多列展示
常规流布局
外部显示类型:规定了该盒子如何与同一格式上下文中的其他元素一起显示
内部显示类型:规定了该盒子内部的布局方式。
块级格式化上下文
外边距塌陷
会产生外边距塌陷的情况:
两个兄弟元素之间相邻的上下外边距
父子元素之间相邻的上下外边距
内容为空元素自己上下外边距相邻
消除外边距塌陷的方法:
在两个相邻的上下边距之间增加border、padding或者内联元素,使之不相邻;
在父子元素重叠时,除了上述方法,还可以设置父元素为BFC,使得父子不在同级BFC中