父元素高度已知,子元素高度未知的情况下,无法通过如下position设置垂直居中,为什么?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
.parent{border: 1px solid red;width: 500px;height: 400px;position: relative;}
.content{position: absolute;top:50%;left:50%;}
.text{border:1px solid green;position:relative;top: -50%;left:-50%;}
</style>
</head>
<body>
<div class="parent">
<div class="content">
<div class="text">发链接都是金粉世法国代电饭锅<br>家发的设计<br>费放松放松<br>sfljsljfs</div>
</div>
</div>
</body>
</html>
效果图
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不知道如下是不是您想要的效果
我理解是 .content高度是被撑起来的,无法自己引用自己,所以用百分比自身高度得到的值就是0.
你可以用.text{transform:translate(-50%,-50%);}来居中.
top:50%是上起始位置正好正中间开始,而内容div有一定高度,所以要正好垂直居中的话,top设置成50%减去内容高度的1/2