uniapp下页面布局分析三——元素垂直居中

本文继续前面的内容,App.vue采用了flex布局

垂直居中还是有点难度的。

但是习惯使用flex布局后,又能简单的实现。

页面只有一个元素

<template>
    <view class="center">
        <view style="background-color: blue">居中文字</view>
    </view>
</template>
<style>
    .center {
        flex: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: red;
    }
</style>

在这里插入图片描述
这里首先呢,居中是基于父元素的宽高下居中,所以,父元素得有一定的宽高,flex布局下,宽度默认是最大,但高度由子元素决定。

所以flex: auto;让父元素占满剩余空间。然后父元素是flex+行布局display: flex; flex-direction: column;。最后便是水平居中+垂直居中align-items: center; background-color: red;。底色是为了更明显看到父子元素所占的空间。

这里只有一行文字,多行文字的效果:
在这里插入图片描述
也是没问题的。

多个元素

<template>
    <view class="center">
        <view style="background-color: blue">居中文字1</view>
        <view style="background-color: yellow">居中文字2</view>
    </view>
    <view style="flex: none; bottom: 0px; height: 50px">我固定在底部</view>
</template>
<style>
    .center {
        flex: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: red;
    }
</style>

在这里插入图片描述
可以看到,一样是会自动居中的,问题不大。

flex布局是比较灵活的。用好该布局可以解决大多数场景,也让css代码更简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lsjweiyi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值