我正在尝试让div
的父元素(body
)宽度为100%。 body
有一个水平滚动条,div
只占用视口宽度。为了解决这个问题,我添加了
width: inherit;
到它。我期望它能够工作,因为inherit
,根据definition,意思是“从其父元素中获取属性的计算值”。我在一个更简单的模型中对它进行了测试,它可以工作:http://jsfiddle.net/DerekL/EYgT9/。
但是,当我将代码应用于我的实际项目时,它并不像预期的那样工作。它似乎甚至没有遵循这个定义。
如您所见,div
的{{1}}为inherit
。但它的计算宽度不是其父width
的宽度,而是其他值body
。
现在让我们来看看302px
:
body
的宽度明显为body
。
我无法弄清楚这背后的原因是什么,使其无法按预期工作。整体结构与小提琴相同,但结果不尽相同。
发生这种情况的可能原因是什么?很抱歉,我无法发布代码的相关部分,因为我甚至没有发布导致此问题的地方。
答案 0 :(得分:3)
这是因为带有position:absolute
的元素位于<html>
的引用中,因为<body>
没有位置可以引用它。因此,它也从html
继承了它的宽度。
要解决此问题,请将position:relative
添加到body
答案 1 :(得分:0)
您的body标签的位置是静态的,对于绝对的位置,父元素必须在relative或absolute上设置位置。 只需添加位置:相对或绝对;身体标签。