• uni-app:实现元素中实现竖直居中


    效果展示

    前:

    后:

     

    未实现前代码

    1. <template>
    2. <view class="container">
    3. <view class="centered-element">
    4. 我是要被居中的元素
    5. view>
    6. view>
    7. template>
    8. <script>
    9. export default {
    10. data() {
    11. return {
    12. title: 'Hello'
    13. }
    14. },
    15. onLoad() {
    16. },
    17. methods: {
    18. }
    19. }
    20. script>
    21. <style>
    22. .container{
    23. border:1px solid black;
    24. height:300px;
    25. }
    26. .centered-element{
    27. border:1px solid red;
    28. }
    29. style>

    方法一:使用Flexbox布局

    核心代码 

    1. .container {
    2. display: flex;
    3. align-items: center;
    4. }

    补充:水平居中justify-content: center;

     完整代码

    1. <template>
    2. <view class="container">
    3. <view class="centered-element">
    4. 我是要被居中的元素
    5. view>
    6. view>
    7. template>
    8. <script>
    9. export default {
    10. data() {
    11. return {
    12. title: 'Hello'
    13. }
    14. },
    15. onLoad() {
    16. },
    17. methods: {
    18. }
    19. }
    20. script>
    21. <style>
    22. .container{
    23. border:1px solid black;
    24. height:300px;
    25. display: flex;
    26. align-items: center;
    27. }
    28. .centered-element{
    29. border:1px solid red;
    30. }
    31. style>

    方法二:使用position和transform属性

     核心代码

    1. .container {
    2. position: relative;
    3. }
    4. .centered-element {
    5. position: absolute;
    6. top: 50%;
    7. transform: translateY(-50%);
    8. }

    完整代码

    1. <template>
    2. <view class="container">
    3. <view class="centered-element">
    4. 我是要被居中的元素
    5. view>
    6. view>
    7. template>
    8. <script>
    9. export default {
    10. data() {
    11. return {
    12. title: 'Hello'
    13. }
    14. },
    15. onLoad() {
    16. },
    17. methods: {
    18. }
    19. }
    20. script>
    21. <style>
    22. .container {
    23. border: 1px solid black;
    24. height: 300px;
    25. position: relative;
    26. }
    27. .centered-element {
    28. border: 1px solid red;
    29. position: absolute;
    30. top: 50%;
    31. transform: translateY(-50%);
    32. }
    33. style>

    方法三:使用table-cell布局

    核心代码 

    1. .container {
    2. display: table;
    3. height: 100%;
    4. }
    5. .centered-element {
    6. display: table-cell;
    7. vertical-align: middle;
    8. }

     完整代码

    1. <template>
    2. <view class="container">
    3. <view class="centered-element">
    4. 我是要被居中的元素
    5. view>
    6. view>
    7. template>
    8. <script>
    9. export default {
    10. data() {
    11. return {
    12. title: 'Hello'
    13. }
    14. },
    15. onLoad() {
    16. },
    17. methods: {
    18. }
    19. }
    20. script>
    21. <style>
    22. .container {
    23. border: 1px solid black;
    24. height: 300px;
    25. width:100%;
    26. display: table;
    27. }
    28. .centered-element {
    29. border: 1px solid red;
    30. display: table-cell;
    31. vertical-align: middle;
    32. }
    33. style>

     

  • 相关阅读:
    【cartographer_ros】七: 主要配置参数说明
    HDFS架构
    C中的基本函数
    SpringCloud&Eureka理论与入门
    uniapp 微信小程序和h5处理文件(pdf)下载+保存到本地+预览功能
    Pr:导出设置之音频
    【RTOS训练营】站在更高的角度学习C语言
    【Vulhub靶场】】zabbix-SQL注入(CVE-2016-10134)漏洞复现
    unity hub (第一部)初学配置
    一篇经典的 Redis 面试资料「处女座笔记」「吐血推荐」...
  • 原文地址:https://blog.csdn.net/weixin_46001736/article/details/133266425