【发布时间】:2015-07-23 13:48:51
【问题描述】:
我正在尝试对齐父容器内的子元素。 下面你会从我的代码中看到一个 sn-p。只是使其工作的基础知识:
// HTML //
<div class="parent">
<div>Parent</div>
<div class="child"></div>
</div>
// CSS //
.parent { position: relative; }
.child {
position: absolute;
margin: auto;
height: 60px;
width: 40px;
top: 0;
right: 0;
bottom: 0;
}
Chrome & IE
火狐
如果您在 Chrome 或 IE 中查看它,它会居中对齐。 但在 Firefox 中却不是。 这是 Firefox 的错误,还是 Chrome 和 IE 做错了?
当您使子项小于父项(高度)时,它在 Firefox 中也正确对齐在中心。只有当它更大时才会出现这个问题。
【问题讨论】:
-
好吧,你确实有冲突的价值观。 .child 不能同时是
top: 0和bottom: 0,除非孩子的身高与父母的身高完全相同。例如你有1米高。同时将手放在天花板上,脚放在 2 米高房间的地板上……不允许拉伸。 -
@MarcB - 这是在相对定位的容器中垂直居中绝对定位元素的常用技术,假设边距设置为自动。