在CSS中,盒子模型(box-model)和border-box是两种不同的盒模型布局方式。
默认情况下,所有的HTML元素都使用box-model布局。在这种模式下,元素的宽度和高度只适用于内容区域,不包括边框(border)、内边距(padding)和外边距(margin)。
而border-box模式则不同,它将边框和内边距包含在元素的宽度和高度内。这就意味着,如果你设置一个元素的宽度为200px,并且左右内边距各为10px,那么这个元素的总宽度仍然为200px,而不是220px(200px内容宽度 + 10px左边距 + 10px右边距)。
要将一个盒子模型变成border-box,你可以使用CSS的box-sizing
属性,并将其设置为border-box
。例如:
csselement { box-sizing: border-box; }
这会使得该元素的宽度和高度包括内容、内边距和边框。如果你还希望包含外边距,可以这样设置:
csselement { box-sizing: border-box; margin: 10px; padding: 20px; border: 2px solid black; }
在这个例子中,元素的总宽度为200px,但是因为左右外边距各为10px,所以元素的总宽度会“看起来”为180px(200px内容宽度 - 10px左边距 - 10px右边距)。同时,元素的边框和内边距也包含在总宽度内。