什么时候我应该考虑使用position来定位元素而不是flex box?
P粉914731066
P粉914731066 2023-07-23 17:48:48
[HTML讨论组]


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #dn {
            width: 400px;
            height: 400px;
            padding: 20px;
            border: 2px solid #cd1313;
        }

        .box1 {
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            font-weight: bold;
            color: white;
            font-size: 24px;
            background-color: #000000;
        }
    </style>
</head>
<body>
    <div id="dn" class="boxn">
        Lorem, ipsum dolor sit amet consectetur adipisicing elit. Architecto ducimus repudiandae inventore iste porro distinctio necessitatibus incidunt accusamus facilis obcaecati! hey namen 
        <div id="d1" class="box1">
            Child
        </div>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Eaque deleniti quibusdam quod praesentium, soluta harum alias aperiam hic voluptatum natus?
    </div>
</body>
</html>

我已经将box1显示为伸缩框。它不仅允许我水平对齐里面的项目(子),还允许我沿着交叉轴垂直对齐项目。然后我问自己,为什么我没有使用位置来居中的文字?那么后果会是什么呢?是因为我们不能在文本上应用位置吗?,如果项目是一个跨度框,我可以在其中应用位置吗?如果是,那么它不会产生问题,因为我们必须使用绝对位置来使它响应boxn。这个问题又长又烦人,但对我来说很重要。

P粉914731066
P粉914731066

全部回复(1)
P粉311464935

当使用位置时,你必须定义物体每边需要多少像素才能定位它。这不是很灵活。想象一下,你必须测量/计算/尝试不同屏幕尺寸的每个对象需要多少像素,这是可能的,但需要花费大量时间和精力。所以flexbox更容易实现。

有了flexbox,你的内容也会更加一致。我的意思是,它会为你计算你需要多少像素在每一边的对象。这将减少脱靶计算的机会。因此,所有元素都将以相同的方式定位。


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号