父元素高度已知,子元素高度未知的情况下,无法通过如下position设置垂直居中,为什么?

发布于 2022-09-04 17:32:09 字数 789 浏览 27 评论 0

<!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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

落墨 2022-09-11 17:32:09

不知道如下是不是您想要的效果

    .parent{border: 1px solid red;width: 500px;height: 400px;position: relative;}
    .content{position: absolute;top:50%;left:50%;transform: translate(-50%,-50%);}
    .text{border:1px solid green;}
鹿港巷口少年归 2022-09-11 17:32:09

我理解是 .content高度是被撑起来的,无法自己引用自己,所以用百分比自身高度得到的值就是0.
你可以用.text{transform:translate(-50%,-50%);}来居中.

安静 2022-09-11 17:32:09

top:50%是上起始位置正好正中间开始,而内容div有一定高度,所以要正好垂直居中的话,top设置成50%减去内容高度的1/2

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文