弹性容器中的margin

在 FLEX 格式化上下文中,设置了 margin: auto 的元素,在通过 justify-content 和 align-* 进行对齐之前,任何正处于空闲的空间都会分配到该方向的自动 margin 中去 。

注意:因为margin是将剩余空间分配给了元素,所以添加了margin后,justify-content 和 align-*属性就不能再被使用了。

1. 使用margin使元素居中

<style>
    .box {
        display: flex;
    }
    .inner {
        margin: auto;  /* 水平/垂直居中 */
        /* margin: auto 0; align-items: center */
        /* margin-top: auto; align-items: flex-end */
    }
</style>

<div class="box">
    <div class="inner"></div>
</div>

2. 使用margin实现 space-* 效果

<style>
    .box{
        display: flex;
        width: 800px;
        margin: 30px auto;
        border: 1px solid red;
    }
    li{
        margin: auto;
        font-size: 18px;
        line-height: 100px;
    }    
</style>

<ul class="box">
    <li>liA</li>
    <li>liB</li>
    <li>liC</li>
    <li>liD</li>
    <li>liE</li>
</ul>

实现类似于 justify-content: space-around 的效果

li{
    margin: 0 auto;
}

实现类似于 justify-content: space-between 的效果

li{
    margin: 0 auto;
}
li:first-child{
    margin-left: 0;
}
li:last-child{
    margin-right: 0;
}

实现类似于 justify-content: space-evenly 的效果

li{
    margin-left: auto;
}
li:last-child{
    margin-right: auto;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值