zoukankan      html  css  js  c++  java
  • 水平居中、垂直居中

    一. 让图片(行内块元素)垂直居中:

      1.在父级设置:行高 等于 高度,字体大小为0

    line-height: 1rem;
    height: 1rem;
    font-size: 0;

      2.图片自己设置:

    vertical-align: middle;

       Table 合并行了之后,需要文字居中,也可以使用。

      3.vertical-align 的用法

        vertical-align: top / middle / ...... 很多属性可以在调试器里调试,这里不详细介绍。

        最近发现一个新写法,能解决所有属性都用过了依然不是想要的高度时使用:

          vertical-align: -0.2em ,同理px、rem都行,直接用单位肉眼对齐,很舒心。

    二. 常用的垂直、左右居中:

      1.四个方向偏移量为 0 ,然后 margin 设置为 auto

    .dad {
        position: relative;
    }
    .son {
        position: absolute;
        margin: auto;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

      2.绝对定位,上和左50%,再利用 margin 反向移动宽高的一半

    .dad {
        position: relative;
    }
    .son {
         100px;
        height: 100px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -50px;
        margin-left: -50px;
    }

      3.绝对定位,上和左50%,再利用 translate 反向移动50%

    .dad {
      position: relative;
    }
    .son {
       100px;
      height: 100px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%)
    }

      4.父级 flex 布局

    #dad {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    三. 文字的居中

      height = line-height,text-align: center,就不用说了,最近发现,尤其是<button>按钮,设置border之后对文的上下居中会有影响。

      解决办法:使用计算属性calc,减掉下行高。

    测试代码:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
      <!-- <script src="./echarts.js"></script> -->
      <!-- <link rel="stylesheet" href="./index.css"> -->
      <style>
        * {
          margin: 0;
          padding: 0;
        }
    
        div {
          border: 0.01rem solid red;
          padding: 0.5rem;
        }
    
        span {
          font-size: 0.16rem;
        }
    
        .button {
          font-size: 0.16rem;
          padding: 0 0.5rem;
          cursor: pointer;
          border-radius: 0.01rem;
          border: 0.2rem solid red;
          color: #FFFFFF;
          background: #427AFF;
          display: inline-block;
          height: 2rem;
          text-align: center
        }
    
        .button1 {
          line-height: 2rem;
        }
    
        .button2 {
          line-height: calc(2rem - 0.2rem);
        }
    
        .button3 {
          line-height: calc(2rem - 0.4rem);
        }
      </style>
    </head>
    
    <body>
      <div>
        <span>测试边框对文字对齐的影响</span>
        <button class="button button1">确定</button>
        <button class="button button2">取消</button>
        <button class="button button3">返回</button>
      </div>
    </body>
    
    </html>
  • 相关阅读:
    LeetCode Best Time to Buy and Sell Stock
    LeetCode Scramble String
    LeetCode Search in Rotated Sorted Array II
    LeetCode Gas Station
    LeetCode Insertion Sort List
    LeetCode Maximal Rectangle
    Oracle procedure
    浏览器下载代码
    Shell check IP
    KVM- 存储池配置
  • 原文地址:https://www.cnblogs.com/MrZhujl/p/10402502.html
Copyright © 2011-2022 走看看