CSS box-sizing 的 width:100% 问题

一、box-sizing:content-box 和 border-box:

1、概念:

content-box(默认):指的是内容盒子,即width的大小对应的是该盒子的content部分

(width = width of the content)

border-box:指的是边框盒子,即width的大小对应的是到该盒子的border部分

(width = border + padding + width of the content)

2、例子

eg:

content-box:

.box {width: 350px; border: 10px solid black;} renders a box that is 370px wide.

border-box:

.box {width: 350px; border: 10px solid black;} renders a box that is 350px wide, with the area for content being 330px wide.

二、width:100%相对的是:

width:100% 不管是content-box 还是 border-box其width 都是相对于父元素的content部分的100%

(注意是width,content-box和border-box的width定义不同,见一)

另外还有个特殊点:

如果子元素的position是absolute绝对定位,则width:100%是相对于一个padding-box的概念(此时并不是父元素content的100%,而是content+padding部分的100%)

经验分享 程序员 微信小程序 职场和发展