微信小程序之flex布局

作者: Yinvoker | 来源:发表于2019-02-03 19:26 被阅读40次

    flex布局在做前端的时候十分的方便快捷,这里学习了一下分享给大家
    flex( flexible box:弹性布局盒模型),是2009年w3c提出的一种可以简洁、快速弹性布局的属性。主要思想是给予容器控制内部元素高度和宽度的能力。目前已得到以下浏览器支持:

    浏览器支持

    简单解释一下概念图,就是说flex支持横向布局和纵向布局,然后有可以分为正向和反向

    概念图

    微信小程序 View 支持两种布局方式:BlockFlex
    默认为block,所以使用flex时需要进行显示声明。

    display:flex;
    

    然后做一个小demo演示一下,这里是最初的代码,每一块都会进行分行

    <!--index.wxml-->
    <view class="main">
        <view class="item1">1</view>
        <view class="item2">2</view>
        <view class="item3">3</view>
      </view>
    
    /*index.wxss*/
    .main {
      width: 100%;
      background-color: #fff;
    }
    
    .item1 {
      background-color: red;
      height: 100rpx;
      width: 100rpx;
    }
    
    .item2 {
      background-color: blue;
      height: 100rpx;
      width: 100rpx;
    }
    
    .item3 {
      background-color: green;
      height: 100rpx;
      width: 100rpx;
    }
    
    未使用flex布局的效果图

    然后修改一下wxss文件,加上使用flex布局的声明

    /*index.wxss*/
    .main {
      width: 100%;
      background-color: #fff;
      display:flex;
    }
    
    .item1 {
      background-color: red;
      height: 100rpx;
      width: 100rpx;
    }
    
    .item2 {
      background-color: blue;
      height: 100rpx;
      width: 100rpx;
    }
    
    .item3 {
      background-color: green;
      height: 100rpx;
      width: 100rpx;
    }
    
    使用flex布局的效果图

    可以发现在使用flex布局后,每一块之间的分行消失了。

    属性一

    flex-direction
    flex-direction有4个可选值:

    • row:从左到右的水平方向为主轴
    • row-reverse:从右到左的水平方向为主轴
    • column:从上到下的垂直方向为主轴
    • column-reverse:从下到上的垂直方向为主轴

    在使用flex布局的css出加上flex-direction

    .main {
      width: 100%;
      background-color: #fff;
      display: flex;
      flex-direction: row;
    }
    
    效果图

    属性二

    justify-content
    justify-content有5个可选属性值

    • flex-start:主轴起点对齐(默认值)
    • flex-end:主轴结束点对齐
    • center:在主轴中居中对齐
    • space-between:两端对齐,除了两端的子元素分别靠向两端的容器之外,其他子元素之间的间隔都相等
    • space-around:每个子元素之间的距离相等,两端的子元素距离容器的距离也和其它子元素之间的距离相同
    效果图

    在使用flex布局的css出加上flex-direction

    .main {
      width: 100%;
      background-color: #fff;
      display: flex;
      flex-direction: row;
      justify-content:center;
    }
    

    属性三

    ** align-items**

    • stretch 填充整个容器(默认值)
    • flex-start 侧轴的起点对齐 (这里我们手动设置下子 view 的高度,来看的明显一些)
    • flex-end 侧轴的终点对齐
    • center 在侧轴中居中对齐
    • baseline 以子元素的第一行文字对齐

    用flex布局可以很好地很快捷的排布整个页面布局,祝大家开发愉快!

    相关文章

      网友评论

        本文标题:微信小程序之flex布局

        本文链接:https://www.haomeiwen.com/subject/sstusqtx.html