CSS盒模型

248 阅读3分钟

盒子一般指的是块元素,盒子是我们布局的重要机制。一个盒子应该由外边距、边框、内边距、内容组成。

属性

margin

外边距 代表盒子四周的区域。相邻元素的边距会合并(margin collapsing)

border

设定介于padding的外边缘与margin的内边缘之间,默认值为0

padding

内间距 在任何定义的边界内的元素内容周围生成空间

width & height

用于设置内容区的宽高,该片区域用于显示内容。盒子高度默认为内容的高度。

width

内容宽度,块级元素默认 100%,单位可以:px em %

height

内容高度,默认 0 ,由子元素填充,单位可以: px em %

max-width

定义元素的最大宽度。该属性值会对元素的宽度设置一个最高限制。因此,元素可以比指定值窄,但不 能比其宽。不允许指定负值。

min-height

属性设置元素的最小高度。该属性值会对元素的高度设置一个最低限制。因此,元素可以比指定值高, 但不能比其矮。不允许指定负值。

边框属性

边框就是环绕在标签宽度和高度周围的线条

格式

边框宽度 border-width: 5px;

边框样式 border-style: solid;

边框样式取值:

none    定义无边框。 
hidden  与 "none" 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突。 
dotted  定义点状边框。在大多数浏览器中呈现为实线。 
dashed  定义虚线。在大多数浏览器中呈现为实线。 
solid   定义实线。 
double  定义双线。双线的宽度等于 border-width 的值。 
groove  定义 3D 凹槽边框。其效果取决于 border-color 的值。 
ridge   定义 3D 垄状边框。其效果取决于 border-color 的值。 
inset   定义 3D inset 边框。其效果取决于 border-color 的值。 
outset  定义 3D outset 边框。其效果取决于 border-color 的值。 
边框颜色 
   border-color: red; 
连写(同时设置四条边的边框) 
   border: 边框的宽度 边框的样式 边框的颜色;
快捷键
     bd+ border: 1px solid #000;

【注意】

  1. 连写格式中颜色属性可以省略, 省略之后默认就是黑色
  2. 连写格式中样式不能省略, 省略之后就看不到边框了
  3. 连写格式中宽度可以省略, 省略之后还是可以看到边框
border-radius

为元素指定圆角边框的半径取值:

  • 绝对值 px、mm 、cm
  • 相对值 em 、rem 、%

外边距属性

标签和标签之间的距离就是外边距

格式
margin-top: ; 
margin-right: ;
margin-bottom: ; 
margin-left: ;

浏览器是默认左对齐的。看起来margin-right没有生效,其实有效果的,只是在默认即标准流的情 况的下显示不出来效果,可以加右浮动脱离标准流。

外边距合并现象

在默认(标准流)布局的垂直方向上, 默认情况下外边距是不会叠加的, 会出现合并现象, 谁的外边距比较大就听谁的。 水平方向上的外边距会叠加.

内边距属性

边框和内容之间的距离就是内边距

格式
padding-top: ; 
padding-right: ; 
padding-bottom: ; 
padding-left: ;
连写 
   padding: 上 右 下 左;

【注意】

  1. 给标签设置内边距之后, 标签占有的宽度和高度会发生变化
  2. 给标签设置内边距之后, 内边距也会有背景颜色