为了账号安全,请及时绑定邮箱和手机立即绑定

# flex 弹性布局

标签:
Html/CSS

弹性布局有两个轴x和y,x为主轴,y为交叉轴,通过flex可以实现改变元素所在位置

 属性
  • display: flex; 在父元素样式中加入此样式

  • 设置元素在主轴上的对齐方式

justify-content: center;
值有:center(主轴中点对齐)、flex-start(主轴起点对齐)、flex-end(主轴终点对齐)、space-around(把剩余的空间均分给项目的左右)、space-between(两端对齐:把剩余的空间均分给项目与项目之间)。
  • 交叉轴对齐方式 align-items: center;

align-items:设置项目在交叉轴上的对齐方式,值有:center(交叉轴中点对齐)、flex-start(交叉轴起点对齐)、flex-end(交叉轴终点对齐)、stretch(项目高度充满容器 ,默认的)、baseline(文字基线对齐)

  • 设置主轴的方向 flex-direction: column-reverse;

/row代表主轴从左向右/
/row-reverse代表主轴从右到左/
/column代表主轴从上到下/
/column-reverse代表主轴从下到上/

  • 如果元素过多默认不会换行,需要手动换行 flex-wrap:wrap;

值有:wrap:换行后,高度均分容器高度。默认。
wrap-reverse:换行后,上下顺序颠倒。

  • 当有多条主轴的情况下,使用align-content设置项目在交叉轴上的对齐方式(只有在有多条主轴的时候才会起作用)。

align-content:center;

值有:flex-start、flex-end、center、space-between、space-around、stretch。

**注意---**当把父元素设置为弹性容器后子元素自动成为inline-flex。默认宽度由内容撑开,高度和容器一致,并可以设置宽高。
  • flex-grow将容器的空间按子元素的个数进行平分

例:

.box{
    border: 1px solid blue;
    height: 300px;
    display: flex;
}
.box section{
    border: 1px dashed red;

    flex-grow: 1;将容器box评分为三分,1表示每个占一份。
}

结构

<body>
    <div class="box">
        <section>section1</section>
        <section>section2</section>
        <section>section3</section>
    </div></body>
  • flex-basis:通过这只flex-basis可以设置元素在主轴上占据的空间,通常设置百分比,进行列的划分。

例:

        .box section{            border: 1px dashed red;            flex-basis: 30%;
        }

align-self:单独设置元素在交叉轴上的对齐方式

例:

.box section:nth-child(1){    align-self: flex-start;
}
  • order:设置项目的排列序号,可以为负,谁小谁在前(没有设置的默认为0);



作者:蜗牛1112
链接:https://www.jianshu.com/p/538ee2449bce


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消