1. 盒模型
1)内容区 content
-
特点:
- 内容区的大小由 width 和 height 决定
- 内容区是文字,图片等的显示区域
2)内填充 padding/padding- 方向
-
值的设置:
padding: 10px; 一个值,设置周围
padding: 10px 20px; 两个值,高低 左右
padding: 10px 20px 30px; 三个值,上 左右 下
padding: 10px 20px 30px 40px; 四个值,顺时针 上右下左
-
特点:(四点)
- padding 会撑大盒子。如果不想撑大,要在原来的宽高根底上减去对应方向的 padding 值
- 背景图和背景色能够在 padding 区域显示
- padding 不能够设置正数
-
padding 能够用来调整内容和盒子边缘之间的间隔
示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box { width: 100px; height: 100px; margin: auto; background-color: pink; padding: 20px; } </style> </head> <body> <div class='box'> 盒子 </div> </body> </html>
后果:
3) 外边距 border/border- 方向
4) 外边距 margin/margin- 方向
- margin 值的设置和 padding 值设置一样 margin/margin- 方向
- 单方向 margin- 方向(left/right/top/bottom): 数值 +px
-
特点:(四点)
- margin 不会撑大盒子,然而会影响他人
- margin 区域不会显示背景图 / 背景色
- margin 能够设置正数,正数会让两个盒子重叠在一起
- margin 能够用来调整盒子和盒子之间的间隔
-
margin 的两个 bug
-
(1)margin 的重叠
- 给下面的元素增加下边距,给上面的元素增加上边距之后,会产生 margin 的重叠,且值取最大值。
左右不会重叠,会相加。
- 给下面的元素增加下边距,给上面的元素增加上边距之后,会产生 margin 的重叠,且值取最大值。
-
(2)margin 的传递 (当给元素的 第一个子元素 增加 margin-top 的时候,会谬误的加在父元素身上)
-
解决办法:
- 用 padding 设置
- 给父元素加边框
- 给父元素增加 overflow: hidden(溢出暗藏)
- 给父元素或者该元素增加浮动
-
-