4.2 padding 属性
2.1 padding 与元素的尺寸:默认的 box-sizing 是 content-box,所以使用 padding 会增加元素的尺寸。内联元素的 padding 在垂直方向同样会影响布局,影响视觉表现。只是因为内联元素没有可视宽度和可视高度的说法(clientHeight 和 clientWidth 永远是0),垂直方向的行为表现完全受 line-height 和 vertical-align 的影响,视觉上并没有改变和上一行下一行内容的间距。
2.2 padding 的百分比值。padding 百分比值无论是水平方向还是垂直方向均是相对于宽度计算的。
2.3 标签元素内置的 padding。ol/ul 列表内置 padding-left,但是单位是 px 不是 em。很多表单元素都内置 padding。
2.4 padding 与图形绘制。padding 属性和 background-clip 属性配合,可以在有限的标签下实现一些 CSS 图形绘制效果
4.3 激进的 margin 属性
3.1 margin 与元素尺寸以及相关布局,
(1)元素尺寸:包括 padding和 border,也就是元素的 border box 的尺寸;元素内部尺寸:包括 padding 但不包括 border;元素外部尺寸:不仅包括 padding 和 border,还包括 margin,也就是元素的 margin box 的尺寸;
(2)margin 与元素的内部尺寸:对于 padding,元素设定了 width 或者保持“包裹性”的时候,会改变元素可视尺寸;但是对于 margin 则相反,元素设定了 width 值或者保持“包裹性”的时候,margin 对尺寸没有影响,只有元素是“充分利用可用空间”状态的时候,margin 才可以改变元素的可视尺寸。
(3)margin 与元素的外部尺寸。只要元素具有块状特性,无论有没有设置 width/height,无论是水平方向还是垂直方向,即使发生了 margin 合并,margin 对外部尺寸都着着实实发生了影响。内联元素垂直方向的 margin 是没有任何影响的,既不会影响外部尺寸,也不会影响内部尺寸。
3.2 margin 的百分比值
和padding 属性一样,margin 的百分比值无论是水平方向还是垂直方向都是相对于宽度计算的。不过相对于 padding,margin 的百分比值的应用价值就低了一截,根本原因在于和 padding不同,元素设置 margin 在垂直方向上无法改变元素自身的内部尺寸,往往需要父元素作为载体,此外,由于 margin 合并的存在,垂直方向往往需要双倍尺寸才能和 padding 表现一致。
2.1 padding 与元素的尺寸:默认的 box-sizing 是 content-box,所以使用 padding 会增加元素的尺寸。内联元素的 padding 在垂直方向同样会影响布局,影响视觉表现。只是因为内联元素没有可视宽度和可视高度的说法(clientHeight 和 clientWidth 永远是0),垂直方向的行为表现完全受 line-height 和 vertical-align 的影响,视觉上并没有改变和上一行下一行内容的间距。
2.2 padding 的百分比值。padding 百分比值无论是水平方向还是垂直方向均是相对于宽度计算的。
2.3 标签元素内置的 padding。ol/ul 列表内置 padding-left,但是单位是 px 不是 em。很多表单元素都内置 padding。
2.4 padding 与图形绘制。padding 属性和 background-clip 属性配合,可以在有限的标签下实现一些 CSS 图形绘制效果
4.3 激进的 margin 属性
3.1 margin 与元素尺寸以及相关布局,
(1)元素尺寸:包括 padding和 border,也就是元素的 border box 的尺寸;元素内部尺寸:包括 padding 但不包括 border;元素外部尺寸:不仅包括 padding 和 border,还包括 margin,也就是元素的 margin box 的尺寸;
(2)margin 与元素的内部尺寸:对于 padding,元素设定了 width 或者保持“包裹性”的时候,会改变元素可视尺寸;但是对于 margin 则相反,元素设定了 width 值或者保持“包裹性”的时候,margin 对尺寸没有影响,只有元素是“充分利用可用空间”状态的时候,margin 才可以改变元素的可视尺寸。
(3)margin 与元素的外部尺寸。只要元素具有块状特性,无论有没有设置 width/height,无论是水平方向还是垂直方向,即使发生了 margin 合并,margin 对外部尺寸都着着实实发生了影响。内联元素垂直方向的 margin 是没有任何影响的,既不会影响外部尺寸,也不会影响内部尺寸。
3.2 margin 的百分比值
和padding 属性一样,margin 的百分比值无论是水平方向还是垂直方向都是相对于宽度计算的。不过相对于 padding,margin 的百分比值的应用价值就低了一截,根本原因在于和 padding不同,元素设置 margin 在垂直方向上无法改变元素自身的内部尺寸,往往需要父元素作为载体,此外,由于 margin 合并的存在,垂直方向往往需要双倍尺寸才能和 padding 表现一致。