盒模型
CSS盒模型分两种,一种是content-box,一种是border-box,他们两个的区别是,content-box的宽度只包含content,border-box的宽度包含到border,分别有border、padding、content。
CSS盒模型分两种
分别是
- content-box内容盒 -内容就是盒子的边界
-
公式
content-box width =内容宽度
border-box width = 内容宽度 +padding + border
哪个好用
border-box好用
如果不指定padding、width、border这两个东西就看不出来什么区别
margin合并
哪些情况会合并
父子margin合并

- 兄弟margin合并
如何阻止合并
margin和margin合并的前提是他们之间什么都没有
- 父子合并用padding /border挡住
- 父子合并用overflow:hidden挡住
- 父子合并用display:flex,不知道为什么
- 兄弟合并是符合预期的
- 兄弟合并可以用display:inline-block消除

-
基本单位
长度单位
px 像素
- em 相对于自身font-size的倍数
- 百分数
- 整数
- rem
-
颜色
十六进制#FF6600或者#F60
- RGBA颜色rgb(0,0,0)
- rgba(0,0,0,1) a表示是否透明
- hsl颜色 hsl(360,100%,100%)或者hsla
练习
```html <!DOCTYPE html>
```css* {box-sizing: border-box;margin:0;padding:0;}body {background: #fff;}.rainbow {height: 200px;overflow: hidden;}.rainbow div {overflow: hidden;}.rainbow >div {width: 400px;height: 400px;background: red;border-radius: 50%;}.rainbow >div>div {background: #f58d1f;height: 380px;margin: 10px;border-radius: 50%;}.rainbow >div>div>div {background: #ffff01;height: 360px;margin: 10px;border-radius: 50%;}.rainbow >div>div>div>div {background:#30c333;height: 340px;margin: 10px;border-radius: 50%;}.rainbow >div>div>div>div>div {background: hsl(180, 80%, 50%);height: 320px;margin: 10px;border-radius: 50%;}.rainbow >div>div>div>div>div>div {background: hsl(240, 80%, 50%);height: 300px;margin: 10px;border-radius: 50%;}.rainbow >div>div>div>div>div>div>div {background: hsl(300, 80%, 50%);height: 280px;margin: 10px;border-radius: 50%;}.rainbow >div>div>div>div>div>div>div>div {background: hsl(360, 80%, 100%);height: 260px;margin: 10px;border-radius: 50%;}

