1. 盒子模型基础

1.1 基本说明

  • 使用类选择器画盒子:三属性
  • 实际书写中,几乎都是盒子,<div>大量使用

1.2 常用属性

属性说明
width宽度
height高度
background-color背景色

老三样了,上来就是这仨+flex


2. 盒子模型组成

2.1 内容区

属性说明
width内容区的宽度
height内容区的高度

2.2 内边距

属性说明
padding-top上内边距
padding-right右内边距
padding-bottom下内边距
padding-left左内边距
padding简写属性,可同时设置四个方向的内边距

没那么多讲究,一个padding就行

2.3 外边距

属性说明
margin-top上外边距
margin-right右外边距
margin-bottom下外边距
margin-left左外边距
margin简写属性,可同时设置四个方向的外边距

没这么多讲究,一个margin就行

2.4 边框

属性说明
border-width边框宽度
border-style边框样式,如solid、dashed、dotted等
border-color边框颜色
border简写属性,可同时设置宽度、样式和颜色
方向边框border-top、border-right、border-bottom、border-left

一般一个border: 1px soild <颜色>+border-raidus就行

2.5 box-sizing属性

属性说明
content-box标准盒子模型(默认值)

没用过


3. 盒子装饰

3.1 圆角

项目说明
border-radius设置元素的圆角
取值像素值、百分比
设置圆形border-radius: 50%;

3.2 盒子阴影

项目说明
box-shadow设置元素的阴影效果
语法box-shadow: h-shadow v-shadow blur spread color inset
h-shadow水平阴影位置
v-shadow垂直阴影位置
blur模糊距离
spread阴影大小
color阴影颜色
inset内阴影(可选)

做hover效果用的,一般一个位移+阴影,增加动感


4. 外边距问题

4.1 外边距合并

  • 场景:垂直排列的兄弟元素,上下 margin 会合并
  • 现象:取两个 margin 中的较大值生效

4.2 外边距塌陷

  • 场景:父子级的标签,子级的添加上外边距会产生塌陷问题
  • 现象:导致父级一起向下移动
  • 解决方法:
    • 1.取消子级margin,父级设置padding
    • 2.父级设置 overflow: hidden
    • 3.父级设置 border-top

没注意过,实际开发中,写的屎山代码调一调其他属性,也还凑合


5. 内容溢出overflow属性

5.1 基本属性

属性说明
overflow控制内容溢出时的显示方式
overflow-x控制水平方向的内容溢出
overflow-y控制垂直方向的内容溢出

5.2 常见取值

取值说明
visible默认值,内容溢出时会显示在元素外部
hidden内容溢出时会被裁剪,不显示溢出部分
scroll无论内容是否溢出,都会显示滚动条
auto只有当内容溢出时,才会显示滚动条

一般一句overflow:auto就不管了