1、 CSS三大特性:层叠性、继承性、优先级
1.1样式层叠的原则:
样式冲突,就近原则,后定义,后生效 (离结构近)
样式不冲突,无论定义先后,始终有效
1.2继承性可以在一定程度上简化代码
子元素会继承父元素的某些样式,如文本颜色、字体属性等
行高不跟单位表示文字大小的倍数
1.3优先级 选择器的权重


权重的数字不能进位
继承的权重是0
看标签具体执行哪一样式,就先看这个标签有没有被直接选出来。
权重的叠加在使用复合选择器需要考虑
2、 盒子模型
网页布局三大核心:盒子模型、浮动、定位
2.1边框border

复合写法 没有顺序
推荐写法:border: 1px solid #000;
border-collapse: collapse; 可以把相邻的边框合并到一起,属性仅仅适用于表格
边框会影响一个盒子的实际大小 width / height 减去边框宽度
2.2内边距padding
复合写法

padding 会影响一个盒子的实际大小 width / height 减去多出来的 padding
解决行内块缝隙:给父元素加font-size: 0;
块元素没有指定 width 属性, padding 不会撑大盒子的宽度,但是设置 padding-top 和 padding-bottom 会撑大盒子的高度 。
2.3外边距margin

用外边距实现盒子水平居中的两个条件是:
1. 盒子必须有宽度 2. 水平间距设置为 auto
让行内元素或行内块元素实现水平居中:给其父盒子添加 text-align: center;
相邻元素垂直外边距合并的情况:
上面的盒子有 margin-bottom ,下面的盒子有 margin-top ,取最大值 解决办法:只设置一个盒子的 margin
嵌套块元素塌陷:父子元素同时具有上外边距 父元素会塌陷较大的外边距
解决办法:
顶部增加边框
顶部增加 padding
overflow: hidden; 推荐
3、 清除内外边距
* { margin: 0; padding: 0; }
行内元素在设置内外间距时: 尽量只设置左右内外间距,不要设置上下内外间距。