padding属性
box-sizing默认是content-box,使用 padding 会增加元素的尺寸,通常会设置border-box解决,但是不推荐,尽量采用无宽度以及宽度分离准则实现才是好的解决之道。
内联元素的 padding 在垂直方向同样会影响布局,只是视觉上并没有改变和上一行下一行内容的间距,因此,给我们的感觉就会是垂直 padding 没有起作用。我们可以利用这种特性在不影响当前布局的情况下,优雅地增加链接或按钮的点击区域大小,或者实现高度可控的分隔线,还可以实现距离顶部有一定距离锚点定位
padding的百分比值
padding不支持负值,且padding 百分比值无论是水平方向还是垂直方向均是相对于宽度计算的
内联元素的垂直 padding 会让“幽灵空白节点”显现,可以设置font-size为0解决
标签元素内置的 padding
ol/ul 列表内置 padding-left,但是单位是 px 不是 em
<input>/<textarea>输入框内置 padding;
<button>按钮内置 padding;
部分浏览器<select>下拉内置 padding
padding 与图形绘制
padding 属性和 background-clip 属性配合,可以实现一些 CSS 图形绘制效果
margin 属性
margin 对尺寸没有影响,只有元素是“充分利用可用空间”状态的时候,margin 才可以改变元素的可视尺寸,可以利用这种特性实现两栏自适应布局,或者两端对齐布局
box-sizing默认是content-box,使用 padding 会增加元素的尺寸,通常会设置border-box解决,但是不推荐,尽量采用无宽度以及宽度分离准则实现才是好的解决之道。
内联元素的 padding 在垂直方向同样会影响布局,只是视觉上并没有改变和上一行下一行内容的间距,因此,给我们的感觉就会是垂直 padding 没有起作用。我们可以利用这种特性在不影响当前布局的情况下,优雅地增加链接或按钮的点击区域大小,或者实现高度可控的分隔线,还可以实现距离顶部有一定距离锚点定位
padding的百分比值
padding不支持负值,且padding 百分比值无论是水平方向还是垂直方向均是相对于宽度计算的
内联元素的垂直 padding 会让“幽灵空白节点”显现,可以设置font-size为0解决
标签元素内置的 padding
ol/ul 列表内置 padding-left,但是单位是 px 不是 em
<input>/<textarea>输入框内置 padding;
<button>按钮内置 padding;
部分浏览器<select>下拉内置 padding
padding 与图形绘制
padding 属性和 background-clip 属性配合,可以实现一些 CSS 图形绘制效果
margin 属性
margin 对尺寸没有影响,只有元素是“充分利用可用空间”状态的时候,margin 才可以改变元素的可视尺寸,可以利用这种特性实现两栏自适应布局,或者两端对齐布局