显示模式
显示模式即标签的显示方式,用于布局网页的时候,根据标签的显示模式选择合适的标签摆放内容
- 块级元素 (例如 div)
- 独占一行
- 宽度默认是父级的 100%
- 添加宽高属性生效
- 行内元素 (例如 span)
- 一行可以显示多个
- 设置宽高属性不生效
- 宽高尺寸由内容撑开
- 行内块元素 (例如 img)
- 一行可以显示多个
- 设置宽高属性生效
- 宽高尺寸也可以由内容撑开
可以通过 CSS 属性 display
转换显示模式,取值为:
效果 | 块级 | 行内 | 行内块 |
---|---|---|---|
属性值 | block | inline | inline-block |
盒子模型
作用:布局网页,摆放盒子和内容
盒子模型组成部分:
- 内容区域:width & height
- 内边距:padding (出现在内容与盒子边缘之间)
- 边框线:border
- 外边距:margin (出现在盒子外面)
边框线
属性值:边框线粗细 线条样式 颜色
不区分顺序
常见线条样式有:
线条样式 | 实线 | 虚线 | 点线 |
---|---|---|---|
属性值 | solid | dashed | dotted |
|
|
当然,还有可以设置单独方向的属性,属性值同上
|
|
内边距
设置内容与盒子边缘之间的距离
|
|
padding 也有多值写法,可以通过一个属性控制四个内边距
取值个数 | 示例 | 含义 |
---|---|---|
一个 | padding: 10px; | 四个方向均为 10px |
四个 | padding: 10px 20px 30px 40px; | 上 右 下 左 (顺时针) |
两个 | padding: 10px 30px 20px; | 上 左右 下 |
三个 | padding: 10px 20px; | 上下 左右 |
尺寸内减模式
默认情况下 盒子尺寸=内容尺寸+内边距尺寸+边框尺寸,也就是说当给盒子加上 padding 和 border 属性后,盒子会变大
|
|
如果想要盒子大小为 200*200,需要手动计算并将 heigh 和 width 值调为 160px
而加上 box-sizing: border-box
后,盒子的大小将恒保持为 heigh 和 width 值
|
|
外边距
作用:拉开两个盒子之间的距离。属性值与 padding 写法相同
外边距不会使盒子变大
如果将 margin 的左右属性值设置为 auto 将会使该盒子水平居中
|
|
合并现象
垂直排列的同级元素,上下 margin 会合并,取值为较大的 margin
|
|
塌陷问题
父子级标签,子级添加上外边距将产生塌陷。会导致父级一起向下
|
|
解决方法:
- 取消子级 margin,父级使用 padding
- 父级设置
overflow: hidden
- 父级设置 border-top
元素溢出
当盒子内容超过盒子大小是将产生溢出,可以用 overflow 属性控制溢出元素的内容的显示方式
属性值 | 效果 |
---|---|
hidden | 溢出隐藏 |
scroll | 溢出滚动 (无论是否溢出,都显示滚动条) |
auto | 溢出滚动 (溢出才显示滚动条) |
行内元素垂直位置
行内元素 (如 span) 添加 margin 和 padding 无法改变垂直位置,此时可以通过行高改变
|
|
圆角效果
使用属性 border-radius
设置元素的外边框为圆角,属性值为圆角半径,可以使用数字+px 或百分比,多值与 padding 类似
取值个数 | 含义 |
---|---|
一个 | 四个角均为设定值 |
四个 | 左上 右上 右下 左下 (顺时针) |
三个 | 左上 右上+左下 右下 |
两个 | 左上+右下 右上+左下 |
正圆形状
给正方形盒子设置圆角属性值为宽高的一半或 50%
|
|
胶囊形状
给长方形盒子设置圆角属性值为盒子高度的一半
|
|
阴影效果
使用 box-shadow 设置,属性值:x y 模糊半径 扩散半径 颜色 内外阴影
其中 x 与 y 是必填,默认为外阴影,若设置内阴影属性值为 inset