• 垂直水平居中


    源代码:

    <div class="out">
        <div class="in">Content here</div>
    </div>
     .out{
         width: 300px;
         height: 400px;
         margin: 20px auto 0;
        background:red;
     }
     .in{
         width: 100px;
         height: 100px;
         background: blue;
         line-height: 100px;
     }

    运行图:

    1.使用表格法:

    运行图: 

    .out{
         display: table;
         text-align: center;
     }
     .in{
       display: table-cell;
       vertical-align: middle;
     }

    缺点:子元素的会撑满父元素。

    2.绝对定位计算:对子元素使用绝对定位,并分别移动上左50%,再分别margin-top:-50%height px,margin-left:-50%width px;

    运行图:

    .in{
        position: absolute;
        top: 50%;
        left: 50%;
        margin-left: -50px;
        margin-top: -50px;
        
     }

    缺点:需要对子元素的宽高固定,并且绝对定位容易影响布局。

     3.  利用绝对定位和translate

    同上,先左上各自移动50%,再使用transform: translate(-50%, -50%);translate是基于自身元素的宽高为基准进行移动的。

    运行图同上。

    .in{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); 
     }

    缺点:需要绝对定位。

    4. 基于Flex.

    运行图同上。

    .out{
       display: flex;
     }
     .in{
        margin: auto; 
     }

    优点:代码简单。

    缺点:兼容性差。

  • 相关阅读:
    archlinux 没有 mkfs.vfat
    fedora 14 设置 vsftpd
    USACO错误:Execution error: Your program had this runtime error: Illegal file open (/dev/tty).
    ns3介绍与安装
    1.最长平台
    打印进程号(pid)
    追踪class的成员变量
    matplotlib
    c、数组与汇编
    linux下的command
  • 原文地址:https://www.cnblogs.com/Darlietoothpaste/p/6539422.html
Copyright © 2020-2023  润新知