CSS box-sizing 属性值说明
值 | 说明 |
---|---|
content-box | 宽度和高度属性包括内容,但不包括填充、边框或者边距。它是默认值。 |
border-box | 宽度和高度属性包括内容、填充和边框,但不包括边距。 |
initial | 将属性设置为其默认值。 |
inherit | 从父元素继承属性。 |
语法
box-sizing: content-box | border-box | initial | inherit;
在此示例中,显示了两个具有相同指定宽度和高度的 <div> 元素:
box-sizing 属性示例:
<!DOCTYPE html> <html> <head> <style> .div1 { box-sizing: content-box; width: 400px; height: 50px; padding: 50px; border: 5px double #1c87c9; } .div2 { box-sizing: border-box; width: 400px; height: 50px; padding: 50px; border: 5px dashed #8ebf42; } </style> </head> <body> <h2>Box-sizing Example</h2> <hr /> <h3>box-sizing: content-box (default):</h3> <div class="div1">此 div 的宽度设置为 400px。 因此,全宽为 400px + 10px(左右边框)+ 100px(左右填充)= 510px。</div> <br> <h3>box-sizing: border-box:</h3> <div class="div2">宽度和高度适用于 div 元素的所有部分:全宽为 400px。</div> </body> </html>
如果 box-sizing 定义为 content-box,则全宽将大于 div 定义的宽度。
如果定义了 box-sizing:border-box,则宽度和高度中将包含内边距和边框。
box-sizing 和 border-box 属性用于布局元素。
这种方法很有用,因为它消除了在布局内容时可能会遇到的许多陷阱,从而使处理元素的大小变得更加容易。
使用 box-sizing 属性创建两个并排定义的边框的示例:
<!DOCTYPE html> <html> <head> <style> div.container { width: 100%; border: 2px double #1c87c9; } div.box { box-sizing: border-box; width: 50%; border: 3px solid #ccc; float: left; padding: 3px; } </style> </head> <body> <h2>Box-sizing Example</h2> <p>两个并排定义的盒子</p> <div class="container"> <div class="box">左半部分</div> <div class="box">右半部分</div> <div style="clear:both;"></div> </div> </body> </html>
box-sizing 属性定义元素的宽度和高度的计算,如果它们包括填充和边框。
box-sizing 属性是 CSS3 属性之一。
默认情况下,元素的宽度和高度是这样计算的:
- 宽度 + 填充 + 边框 = 元素的实际宽度
- 高度 + 填充 + 边框 = 元素的实际高度
因此,当定义了元素的宽度和高度时,该元素通常看起来比设置的要大(因为元素的边框和内边距被添加到元素指定的宽度和高度上)。
初始值 | content-box |
---|---|
应用于 | 接受宽度和高度的所有元素。 |
继承 | 无效 |
可动画的 | 无效 |
版本 | CSS3 |
DOM 语法 | object.style.boxSizing=“border-box”; |
日期:2020-06-02 22:14:21 来源:oir作者:oir