zoukankan      html  css  js  c++  java
  • 如何让设置浮动的元素水平垂直居中

    1.多个子元素同时设置浮动后,欲想实现水平垂直居中,实现代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            .clearFix::after{
                display:block;
                clear:both;
                content:"";
                visibility:hidden;
                height:0;
               
            }
            .clearFix{
                zoom: 1;
            }
            .container{
                 100%;
                height: 800px;
                background-color: blue;
                /* 水平垂直居中 */
                position: relative;
            }
            .child1{
                200px;
                height:200px;
                background-color: red;
            }
            .child2{
                200px;
                height: 200px;
                background-color: goldenrod;
            }
            .lf{
                float: left;
            }
            /* 水平垂直居中 */
            .box{
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%,-50%);
            }
        </style>
    </head>
    <body>
        <div class="container clearFix">
            <div class="box clearFix">
                <div class="child1 lf">child1</div>
                <div class="child2 lf">child2</div>
            </div>
        </div>
    </body>
    </html>
    

    2.使用flex布局(有兼容性)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            .clearFix::after{
                display:block;
                clear:both;
                content:"";
                visibility:hidden;
                height:0
            }
            .clearFix{
                zoom: 1;
            }
            .container{
                 100%;
                height: 800px;
                background-color: blue;
                
                display: flex;
                /* 垂直居中 */
                align-items: center;
                /* 水平居中 */
                justify-content:center;
            }
            .child1{
                200px;
                height:200px;
                background-color: red;
            }
            .child2{
                200px;
                height: 200px;
                background-color: goldenrod;
            }
            .lf{
                float: left;
            }
        </style>
    </head>
    <body>
        <div class="container clearFix">
            <div class="child1 lf">child1</div>
            <div class="child2 lf">child2</div>
        </div>
    </body>
    </html>
    

    3.垂直居中使用display: table-cell; vertical-align: middle; 水平居中:嵌套一层div,设置宽度为子元素宽度,在设置margin: 0 auto;

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            .clearFix::after{
                display:block;
                clear:both;
                content:"";
                visibility:hidden;
                height:0;
               
            }
            .clearFix{
                zoom: 1;
            }
            .container{
                 600px;
                height: 800px;
                background-color: blue;
                /* 水平垂直居中 */
                display: table-cell;
                vertical-align: middle;
            }
            .child1{
                200px;
                height:200px;
                background-color: red;
            }
            .child2{
                200px;
                height: 200px;
                background-color: goldenrod;
            }
            .lf{
                float: left;
            }
            /* 水平垂直居中 */  
            .box{
                400px;
                margin: 0 auto;
            }
        </style>
    </head>
    <body>
        <div class="container clearFix">
            <div class="box clearFix">
                <div class="child1 lf">child1</div>
                <div class="child2 lf">child2</div>
            </div>
        </div>
    </body>
    </html>
    
  • 相关阅读:
    当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'tb_User' 中的标识列插入显式值。
    版本控制器Vss和svn
    判断浏览器刷新与关闭的代码
    web开发过程中要注意的问题(二)【转】
    JS版include函数
    兼容FF/IE的添加收藏夹的代码
    jQuery技巧总结
    把JS与CSS写在同一个文件里
    CSS hack浏览器兼容一览表
    利用JS获取IE客户端IP及MAC的实现
  • 原文地址:https://www.cnblogs.com/web-record/p/9144359.html
Copyright © 2011-2022 走看看