弹性元素align-content、align-items、align-self的区别

align-content、align-items以及align-self都是在进行弹性布局时常用的属性,并且都是弹性盒

元素在该行侧轴(纵轴)上对齐的位置,那么他们之间到底有什么区别?

align-content与align-items

align-content对于单行的的盒子不起任何作用,而align-items则不区分单行与多行。基本元素的代码如下:

item{
   display: flex;
    width: 100px;
    height: 98px;
    border: 1px solid #ccc;
    justify-content: center;/*水平居中对齐, flex-end右对齐*/
}
.dian{
    width: 30px;
    height: 30px;
    border-radius: 30px;
    border: 1px solid #000;
}

<div class="item">
   <span class="dian">

    </span>
</div>

在这里插入图片描述
所出来的图片如上图所示,此时的球只是位于顶部,并没有在中间的位置,然后在.item中添加属性align-content: center,是不起任何作用的,但是align-items: center确实没问题的
在这里插入图片描述
这是因为.item里面就只有.dian一个元素,不能使得它构成一个多行,而align-content是不能控制单行的盒子内位置变换,而align-items可以,但是若是在.item中添加属性flex-wrap: wrap,align-content就可以起作用了,这是因为flex-wrap:wrap这个属性是可以让弹性盒子在必要的时候自行换行(或换列),这使得.item可以自行变为一个多行盒子,让align-content起到作用。

align-self与align-items

align-items是一个弹性容器,而align-self则是一个弹性项目,可以简单理解为,align-items是控制容器内的元素布局,而align-self则是控制自身的。同样用上面的小球作为例子,为了能够方便区分,在外层多加一层盒子:
在这里插入图片描述
我们尝试在.item中添加属性align-items:center,里面的小球是到盒子的中间(参照上面align-content与align-items的对比图二),但是如果用align-self替换align-items后
在这里插入图片描述
小球并没有发生位置上的变化,但是灰色的盒子却到了中间

  • 13
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值