在css中可以使用box-sizing属性,通过给元素设置“box-sizing:border-box;”样式来让padding不占宽度。
以前,如果指定 div 的宽度为
div { width: 100px; height: 100px; padding: 10px; }
则包含 padding,div 的实际宽度为 120px。
有时我们不希望 padding 影响到 div 的实际宽度。以前只能手动计算 width,从 css3 开始可以通过 box-sizing 来做到这一点。
div { box-sizing: border-box; width: 100px; height: 100px; padding: 10px; }
则 div 的实际宽度为 100px。
css3 新增box-sizing 属性
box-sizing 属性允许你以某种方式定义某些元素,以适应指定区域。
例如,假如您需要并排放置两个带边框的框,可通过将 box-sizing 设置为 "border-box"。这可令浏览器呈现出带有指定宽度和高度的框,并把边框和内边距放入框中。
语法:
box-sizing: content-box|border-box;
-
content-box 这是 css2.1 指定的宽度和高度的行为。指定元素的宽度和高度(最小/最大属性)适用于box的宽度和高度。元素的填充和边框布局和绘制指定宽度和高度除外
-
border-box
指定宽度和高度(最小/最大属性)确定元素边框。也就是说,对元素指定宽度和高度包括了 padding 和 border 。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。