在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

flex布局示例

2016-12-16 12:53| 发布者: zhangjf| 查看: 574| 评论: 0

摘要: 来自:授权地址作者:水牛01248 几个横排元素在竖直方向上居中display: flex;flex-direction: row;//横向排列align-items: center;//垂直方向上居中复制代码在母控件的正中:相当于android中的RelativeLayout的displa ...

来自:授权地址
作者:水牛01248

几个横排元素在竖直方向上居中

  1. display: flex;
  2. flex-direction: row;//横向排列
  3. align-items: center;//垂直方向上居中
复制代码

在母控件的正中:相当于android中的RelativeLayout的

  1. display: flex;
  2. flex-direction: row;//横向排列
  3. justify-content: center;//水平居中
  4. align-items: center;//垂直方向上居中
复制代码

自定义modal的一个标题栏,带图标的标题居中,右边有关闭按钮

绕的一个坑: 中间的用div包裹,flex布局可实现centerInParent效果,右边的用position:
absolute;right: 0.75rem,可以实现关闭按钮在右边,但是脱离的文档流,居中不好弄. 能不能不脱离flex的文档流?

可以的,左边加一个空的div,就可以对称了,用flex布局的justify-content: space-between,就能均匀排列了.

  1. <div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;
  2. align-content: center;background-color: #0d88c1;padding-left: 0.75rem;padding-right: 0.75rem">
  3. <div></div>
  4. <div style="display: flex;flex-direction: row;justify-content: center;align-items: center;background-color: #1f9d85">
  5. <div style="font-size: 2rem">图片</div>
  6. <div >文字</div>
  7. </div>
  8. <div style="background-color: red;">x</div>
  9. </div>
复制代码

同理,利用justify-content: space-between + align-items: center 可以实现右边垂直居中的效果:

把左边的两个元素用div包裹,然后和右边的元素作为flex布局的两个item,用space-between撑到两边.

常见的tab导航栏的实现

  1. .tab-container{
  2. display: flex;
  3. flex-direction: row;//横向排列
  4. flex-wrap: nowrap;//不换行
  5. overflow-x: scroll;//横向放不下时允许滚动
  6. justify-content:space-around;//各item之间被间隔包裹
  7. align-items: center;//垂直方向上居中
  8. }
复制代码
  1. /*tab栏的条目数,自动均分*/
  2. .tab-items{
  3. flex: 1 0 200rpx;//本身大小200rpx,可以扩张(1:比如只有两个tab时,平分width),不许压缩(0)
  4. text-align: center;
  5. padding-bottom: 25rpx;
  6. padding-top: 25rpx;
  7. font-size: 30rpx;
  8. color: #333333;
  9. }
复制代码

布局练习:
1.item布局

转自:转载地址

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-7 18:01

Copyright 2015-2025 djqfx

返回顶部