微信小程序实现元素的垂直居中

我们在进行日常前端页面的开发时,让元素垂直居中的操作数不胜数,初学者可能不太了解如何操作,方法很多,我说一种我用的比较多的。
我们以一个块元素view为例,首先我们写一个宽高分别为300rpx的view,加一个背景色方便我们直观感受效果。
在这里插入图片描述
这是默认的效果,view会在左上角。
现在我们的任务是让这个view垂直居中。
垂直居中分为两步,我们先实现水平居中。
因为view是块元素,我们只需要设置margin值即可

<view class="test">

</view>
.test {
  width: 300rpx;
  height: 300rpx;
  background-color: red;
  margin:0 auto
}

效果如下:
在这里插入图片描述
水平居中已经完成,下面我们实现垂直居中。
在CSS中top属性可以使元素向下偏移,但是position默认的值是static,静止的,不可移动。常用的position值有relative,absolute,fixed,我们设置为relative。因为relative是不会使元素脱离文档流,而absolute和fixed则会,所以我们用relative。
然后我们需要把这个view的父元素的宽高设置为100%,不然它们默认是0,无论怎么设置,view都不会垂直居中。
至于top的值,大多数人可能都会选择50%,因为毕竟是一半,我们先试一下效果。

page {
  height: 100%;
  width: 100%;
}
.test {
  width: 300rpx;
  height: 300rpx;
  background-color: red;
  margin:0 auto;
  position: relative;
  top: 50%;
}

效果如下:
在这里插入图片描述
view确实下移了,但是似乎并没有居中。因为top的值,是根据当前元素的顶部为参考点的,而且view本身是有高度的,所以如果只设置top为50%,view的位置就是距离当前页面顶部50%+view高度。
我提供一个思路,可以设置一下margin-top的值,设置为当前view高度的负二分之一。
即:

.test {
  width: 300rpx;
  height: 300rpx;
  background-color: red;
  margin:0 auto;
  position: relative;
  top: 50%;
  margin-top: -150rpx;
}

效果如下:
在这里插入图片描述
如我们所愿,这个view成功的垂直居中了。
方法还有很多,我只是提供一个思路,大家可以自由发挥。
有什么问题可以联系QQ:505417246
关注下面微信公众号,可以领取微信小程序、Vue、TypeScript、前端、uni-app、全栈、Nodejs等实战学习资料
在这里插入图片描述

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CreatorRay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值