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>
  • 相关阅读:
    Linux IO接口 监控 (iostat)
    linux 防火墙 命令
    _CommandPtr 添加参数 0xC0000005: Access violation writing location 0xcccccccc 错误
    Visual Studio自动关闭
    Linux vsftpd 安装 配置
    linux 挂载外部存储设备 (mount)
    myeclipse 9.0 激活 for win7 redhat mac 亲测
    英文操作系统 Myeclipse Console 乱码问题
    Linux 基本操作命令
    linux 查看系统相关 命令
  • 原文地址:https://www.cnblogs.com/MrZhujl/p/10402502.html
Copyright © 2011-2022 走看看