微信小程序之让view水平垂直居中

//wxml
<view class='main'>
    <view>水平垂直居中</view>
</view>

//wxss
.main {
  display: flex;
  align-items: center;
  justify-content: center;  
  width: 100%;
  height: 100%;
}

but 效果跟我想的完全不一样 😟

尽然只水平居中了。。。

然后开始分析样式代码
display: flex 配合 justify-content: center 使用时可以让view水平居中
而配合 align-items: center 用时可以实现垂直居中效果
那为什么我们这里没有垂直居中呢?
。。。
。。。
。。。

最后当我打开视图调试页后突然发现父容器的高度竟然跟子 view 的高度一样。

 

mamaipi

看到这相信大家都知道问题出在哪了吧!
对,就是 100% height 并没有生效,那让我先试试写一个固定的高度 height: 300px 看看效果

果然子view终于下去了- -

这样我们想让它真正的垂直居中的话只需要通过system.windowHeight 动态设置高度就好了。
同理,如果出现水平居中失效的情况也可以看下是否是宽度的问题。

当然直接用 position: absolute 也可以让宽高正确填充。而对于绝对定位的使用就需要自己把握了,毕竟会对布局造成一定影响

 

  width:100%;
  height:100%;
  position:  absolute

END!

分享一个学习小程序的开源项目
https://github.com/zzjian/wx-wanandroid

链接:https://www.jianshu.com/p/869425b79546

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值