zoukankan      html  css  js  c++  java
  • 元素水平垂直居中的方法

    元素水平垂直居中的方法

    方法一:(利用定位,子元素绝对定位,父元素相对定位,子元素left、right、top、bottom都为0、margin:auto)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{padding: 0;margin: 0;}
            .wrap{
                width: 800px;
                height: 500px;
                border:1px solid #000;
                margin:0 auto;
                position: relative;
            }
            .sub{
                width: 400px;
                height: 300px;
                background-color: red;
                border:1px solid #000;
                position: absolute;
                left:0;
                right:0;
                top:0;
                bottom:0;
                margin:auto;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="sub"></div>
        </div>
    </body>
    </html>

    方法二:(利用 定位 和CSS3的属性,子元素绝对定位、父元素相对定位、子元素left:50%、top:50%、transform: translate(-50%, -50%) ) ,推荐的用法

      优点:不用计算父级元素宽度的大小

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{padding: 0;margin: 0;}
            .wrap{
                width: 800px;
                height: 500px;
                border:1px solid #ccc;
                margin:0 auto;
                position: relative;
            }
            .sub{
                width: 400px;
                height: 300px;
                background-color: #66f;
                border:1px solid #000;
                position: absolute;
                left:50%;
                top:50%;
                transform:translateX(-50%) translateY(-50%);
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="sub"></div>
        </div>
    </body>
    </html>

     方法三:(利用 定位 和margin ,子元素绝对定位,父元素相对定位, 子元素left:50%, top:50%,margin-left:-自身宽度的1/2; margin-top: -自身高度的1/2; )

      缺点:需要计算margin-left 和 margin-top,后期维护的时候不方便

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{padding: 0;margin: 0;}
            .wrap{
                width: 800px;
                height: 500px;
                border:1px solid #000;
                margin:0 auto;
                position: relative;
            }
            .sub{
                width: 400px;
                height: 300px;
                background-color: #66f;
                border:1px solid #000;
                position: absolute;
                left:50%;
                top:50%;
                margin-left:-201px;
                margin-top:-151px;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="sub"></div>
        </div>
    </body>
    </html>
    作者:David-lcw
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    c#对XML读取
    WPF--TypeConverter使用
    WPF---对于没有Command属性的添加以下代码可以达到有Command效果
    自定义事件、属性、方法
    读取Excel文件
    ClickOnce安装部署,手动。
    Logger 日志记录
    Maven
    等待与通知范式
    线程状态及基本方法
  • 原文地址:https://www.cnblogs.com/david-lcw/p/10466046.html
Copyright © 2011-2022 走看看