1. 首页 >> 随笔 >> 学无止境

小程序Flex弹性布局

小程序Flex弹性布局

1.基本属性

布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。

任何一个容器都可以指定为Flex布局。
1)flex-direction
决定主轴的方向(即项目的排列方向)。

.box {
  flex-direction: row | row-reverse | column | column-reverse;
}


2)flex-wrap
默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,如果一条轴线排不下,如何换行。


3)justify-content
justify-content属性定义了项目在主轴上的对齐方式。

.box {
  justify-content: flex-start | flex-end | center | space-between | space-around;
}


flex-start(默认值):左对齐
flex-end:右对齐
center: 居中
space-between:两端对齐,项目之间的间隔都相等。
space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

4)align-items
align-items属性定义项目在交叉轴上如何对齐。

.box {
  align-items: flex-start | flex-end | center | baseline | stretch;
}


flex-start:交叉轴的起点对齐。
flex-end:交叉轴的终点对齐。
center:交叉轴的中点对齐。
baseline: 项目的第一行文字的基线对齐。
stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。

2.使用示例

1)完美解决我们平时碰到的居中问题

<view class="flex_center">
  <view class="flex_center_view">使用felx 实现垂直居中的。</view>
</view>

.flex_center{
    display: flex;
    width: 250px;
    height: 250px;
    border: 3px solid green; 
}
.flex_center_view{
    width: 150px;
    height: 50px;
    margin: auto;
    border: 1px solid green; 
}


2)flex 属性指定弹性子元素如何分配空间。


	<view class="flex">
  <view class="flex_item">felx</view>
  <view class="flex_item">felx</view>
  <view class="flex_item">felx</view>
</view>

.flex{
  display: flex;
  .flex_item{
    flex: 1;
    border: 1rpx solid green;
  }
}

注在我们命名class类选择器时不要这样写 (table-header)因为在微信开发者工具里面 快捷键Ctrl + Alt 鼠标箭头指向类名无法跳转对应的css样式 应该使用下划线_(table_header)以便查看和修改。

声明:本站部分文章,来源于互联网收集分享。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
转载本文注明出处:http://www.suuxx.com/blog/a/C09BBEA73152DB91.html

留言评论

{"remain":2753,"success":1}