我想创建一个 css 类,以便可以将 div 放置在其父级的中心。我使用的代码是:
.centered {
position: absolute;
margin: auto;
bottom: 0px;
left: 0px;
top: 0px;
right: 0px;
}
如果父元素大于子元素或具有相同的大小,它会起作用: https ://jsfiddle.net/cy8dn1km/
但是如果孩子更大,那么它的中心就不会位于其父母的中心。相反,它们的左边界将位于同一位置,子元素将仅向右扩展:
https://jsfiddle.net/797L7nce/
水平居中有问题。
如何在不添加新容器元素的情况下仅使用 CSS( 不使用 CSS 2D/3D 转换)来修复它?
原文由 Iter Ator 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一个不使用 CSS 2D/3D 转换的解决方案。您可以在父元素上使用
display: flex
和flex-direction: column
(这很 重要),在子元素上使用display: table
。