答案 0 :(得分:1)
一些事情:对于要居中的东西,父容器需要才能拥有高度。是由其他内容创建的高度,还是仅仅是预定义的高度。我已移除您的.parent
,您会看到.child
实际上位于容器内部。您的容器还需要相对位置(或static
以外的任何位置属性),因此绝对居中与该元素相关。
最后,我们可以使用一种简单的技术,通过向前移动50%,向下移动50%,然后向后移动宽度和高度的一半来使盒子居中。后退使用翻译:
.container {
border: 1px solid black;
// We need the container we want to center in to have a positioned value
position: relative;
}
.child {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
<div class="container">
<div class="child">ALERT</div>
<p>Item here</p>
<p>Item here</p>
<p>Item here</p>
<p>Item here</p>
<p>Item here</p>
<p>Item here</p>
<p>Item here</p>
<p>Item here</p>
</div>
答案 1 :(得分:0)
尝试将父级定位为绝对(您必须设置高度):
.container {
position: relative;
border: 1px solid black;
}
.parent {
position: absolute;
bottom: 0;
color: red;
left: 0;
top: 0;
right: 0;
width: 100%;
height: 16px;
margin: auto;
text-align: center;
}
答案 2 :(得分:0)
Html的一个巧妙之处在于,您可以使用百分位数而不是像素来描述相对性。例如:
而不是使用:
bottom: 250px;
你可以使用类似的东西:
right: 43%;
将其与计算出的比例一起使用,例如:
top:45%
bottom: 45%;
并将文字高度设置为10%,您可以将任何内容放在中心位置。
根据您的代码判断您已经熟悉“自动”,所以我会为您节省那首歌曲和舞蹈。