问题:width: 100%是相对于谁的?
今天在接触到移动端的时候,遇到了一个比较常用的属性设置:width: 100%;
。因为对这个属性的用法有些困惑,所以简单地总结了一下。
总结:属性 width:100%;
使用情况主要有以下几种。
前提条件:
- 子元素必须是块级元素才能实现宽度的继承
- 父级元素设置了宽度
- 当父级元素和子元素只是一般嵌套关系的时候,子元素继承父元素的宽。
- 当子元素浮动时,也可以完整的继承父元素的宽。
- 当子元素为
position: absolute;
的时候,这个时候子元素会逐级向上寻找是否有position: relative;
的元素。如果有,则继承该元素;如果没有则宽度是相对于body而言。 - 当子元素为
position: relative;
时,width:100%
是基于父级元素,而不是找position: relative;
的元素 - --------特殊--------当元素被设置了
postion: fixed
的时候,是一直基于body的,其宽度就是body的宽度
补充一点:不论box-sizing
设置为border-box
还是content-box
,width
继承的都是‘父’级元素的内容区的宽度
参考:
width: 100%是相对于谁的?
如何让 height:100% 起作用?
html body width height 100%使用
网友评论