【发布时间】:2021-03-07 06:34:14
【问题描述】:
我正在尝试使用表格单元格的方式将 div 垂直和水平居中。
当我使用以下代码时它可以工作:
div {
display: table;
}
.logo {
display: table-cell;
position: absolute;
vertical-align: middle;
left: 0;
right: 0;
bottom: 0;
top: 0;
margin: auto;
}
但我宁愿将 .logo 包装在另一个名为 .center 的 div 中,就像这里的 JSFiddle 一样,但出于某种原因,虽然它在 JSFiddle 中有效,但在我的网站上却不适合我。
【问题讨论】:
-
你在什么浏览器上测试?
-
您是否受限于使用表格单元方法?有什么原因吗?
-
没有原因,只是想弄清楚它为什么不起作用,在谷歌浏览器上测试。
-
您正试图将
.logo在父div中垂直和水平居中。div的宽高是由什么控制的,这些是指定的吗? -
父元素不是相对定位的,所以 .logo 是相对于下一个最近的祖先定位的(如果没有祖先是相对定位的,那么它是相对于文档定位的)。不要混合使用垂直居中技术,选择其中一种。