不用flex实现多栏等高布局

本文介绍了一种使用负margin和padding实现水平居中和等高列布局的方法。通过设置适当的负margin和正padding,可以使不同高度的元素在同一行内保持等高,并且整体布局能够水平居中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

采用负margin和padding

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .box {
            margin: auto;
            max-width: 600px;
            overflow: hidden;/*隐藏起子元素超出的部分*/
            /*box的高度有app1和app2中最大的那个决定*/
        }

        .app1, .app2 {
            margin-bottom: -99999px;/*这样足够大*/
            padding-bottom: 99999px;
            width: 30%;
            float: left;
        }

        .app1 {
            background-color: red;

        }

        .app2 {
            background-color: blue;
        }
        .test{
           background-color: red;
        }
        .test p{
            padding: 20px;
            height: 30px;
        }
    </style>
</head>
<body>
<div class="box">
    <div class="app1">
        <p>
            阿达撒撒发顺丰看看剧咖啡店
        </p>
        <p>
            阿达撒撒发顺丰看看剧咖啡店
        </p>
    </div>
    <div class="app2">
        <p>
            上过课大概多少咖喱深V麻烦点卡萨丁
        </p>
        <p>
            当咖啡开工饭是女方
        </p>
        <p>
            当咖啡开工饭是女方
        </p>
        <p>
            当咖啡开工饭是女方
        </p>
        <p>
            当咖啡开工饭是女方
        </p>
    </div>
    <div class="app1">
        <p>
            阿达撒撒发顺丰看看剧咖啡店
        </p>
        <p>
            阿达撒撒发顺丰看看剧咖啡店
        </p>
    </div>
</div>
<hr>
<div class="test">
    <p>
        父元素的高度是auto,包裹性
    </p>
    <p>
        是block的元素(除去替换元素),未设置宽度,则宽度填满父元素
    </p>
</div>
</body>
</html>

转载于:https://my.oschina.net/u/3407699/blog/2086021

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值