• 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>

     

  • 相关阅读:
    Fast-MVSNet CVPR-2020 学习笔记总结 译文 深度学习三维重建
    算法之数论知识点总结
    docker 部署私人 nuget 服务
    imx6ull 以太网
    uni-app:标签中对数据进行判断,看数据前中后是否含有需要的字符startsWith(),endsWith(),includes()
    FastText词向量计算和文本分类工具
    【leetcode】重排链表
    FFmpeg的详细介绍
    腾讯待办停止运营,怎么继续提醒事情呢?
    IDEA最实用的设置
  • 原文地址:https://blog.csdn.net/weixin_46001736/article/details/133266425