【发布时间】:2017-09-15 11:57:26
【问题描述】:
我在 % width 容器中有一个固定的 div。
HTML:
<div class="master-container">
<div class="container">
<div class="fixed">
</div>
</div>
</div>
CSS:
.master-container {
max-width: 1200px;
margin: 0 auto;
}
.container {
width: 30%;
}
.fixed {
position: fixed;
}
我查看了其他一些 SO 帖子:
Set width of a "Position: fixed" div relative to parent div
Set width of fixed positioned div relative to his parent having max-width
一般的答案是在固定元素上设置width: inherit。问题是它仍然从 body 继承宽度而不是它的百分比(除非我在父级上设置了固定宽度)。
那么,当父级的宽度设置为百分比时,如何让固定 div 调整到其直接父级的大小。
我只寻求 CSS 解决方案 - 有可能还是必须 JS 解决?
编辑
到目前为止,大多数解决方案都继承了页面的宽度,我需要让固定 div 占据以网页为中心的主控居中容器的 30%,它的最大宽度为 1200 像素。
【问题讨论】:
-
我认为你需要 JS 来做这个......
-
我不确定我能理解你在这里想要达到的目标,但作为第一个猜测:codepen.io/andrasadam93/pen/RLPQxd
-
安德鲁亚当 - 接近但不完全在那里,codepen 不正确,它没有占据其父级的 30% 的宽度,它占据了身体的 30%。
-
如果您坚持使用
position:fixed,那么您将需要javascript。固定元素总是与视口相关。