【发布时间】:2017-05-18 13:27:48
【问题描述】:
我在将固定 div 设为其父元素的宽度时遇到问题,该父元素本身是相对于另一个 div 定义的。
一开始可能不太清楚,所以这里有一个说明情况的代码:
HTML
<div class="grandparent">
<div class="parent">
<div class="fixed"></div>
</div>
</div>
CSS
.grandparent {
width:100px;
position:relative;
}
.parent {
width:70%;
position:relative;
}
.fixed {
width:100%;
position:fixed; /* This div must be fixed and have 100% width relative to parent */
}
这是JSFiddle。
.fixed div 有什么方法可以在固定位置的同时继承其父级的宽度?
谢谢。
【问题讨论】:
-
你不能...
position:fixed总是与视口相关。目前尚不清楚您要做什么...也许position:sticky? -
是什么让它需要固定位置?正如 Paulie_D 所说,这是基于浏览器窗口的。如果需要位置样式,您可以尝试使用“绝对”或“相对”定位。 'Absolute' 相对于其第一个定位的父元素。
-
@Paulie_D 我试图继承父级的宽度,同时使其成为固定的 div。这就是我使用
position:fixed的原因。这不可能吗? -
@Matthias 使用纯 CSS 是的。你需要 javascript。