我在一个弹性布局的#container
里面有一个#text
,并且想要在它下面绝对定位一个东西:
如何让它不参与计算它兄弟元素的弹性布局位置?
#container{
display: flex;
align-items: center;
justify-content: space-around;
flex-direction: column;
position: relative;
width: 95vw;
height: 95vh;
border: 1px solid black
}
#text{
font-size: 13px;
width: 50vw;
text-align: justify;
}
#absolute{
position: absolute;
bottom: 5px;
left: calc(47.5vw - 25px);
width: 50px;
text-align: center;
color: red;
}
<div id="container">
<div id="text">
"At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga."
</div>
<div id="absolute">
Absolutly
</div>
</div>
注意到 #text
在其父级中略微偏上,如果可能的话,我希望它能够完美地垂直居中,而不修改:
节点树
已编写的 flex 属性(如多个
.text
元素的justify-content
)
编辑:
我发现了另一个与此问题相关的问题,尝试了解决方案,但没有结果:绝对定位的元素在 Flex 容器中仍被视为 IE 和 Firefox 的项
这似乎是 Firefox 和 IE 的 bug(我目前正在运行 Firefox 47,在 Chromium 上运行正常。)
最终编辑:
我对此进行了深入研究,并发现了许多相关的问题(重复):
@Oriol 的答案 从 flex 布局中排除具有固定位置的元素的 justify-content
以及到 Bugzilla 的直接链接。