• CSS实现水平垂直居中方式


    1、定位

    核心代码实现请看示例代码中的注释:

    <!DOCTYPE html>
    <html lang="zh">
    
        <head>
            <meta charset="UTF-8" />
            <title>CSS水平垂直居中实现方式--定位实现</title>
            <style type="text/css">
                *{
                    margin: 0;
                    padding: 0;    
                }
                .p{
                    /*父元素为除了static以外的定位方式*/
                    position: relative;
                    /*position: absolute;*/
                    /*position: fixed;*/
                    width: 500px;
                    height: 500px;
                    border: 1px solid red;
                }
                .c{
                    /*子元素为绝对定位*/
                    position: absolute;
                    width: 200px;
                    height: 200px;
                    /*top、bottom、left和right 均设置为0*/
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0;
                    /*margin设置为auto*/
                    margin:auto;
                    border: 1px solid green;    
                }
            </style>
        </head>
    
        <body>
            <div class="p">
                <div class="c">
                    子元素
                </div>
            </div>
            
        </body>
    
    </html>

    效果:

    2、table-cell布局

    核心代码实现请看示例代码中的注释:

    <!DOCTYPE html>
    <html lang="zh">
    
        <head>
            <meta charset="UTF-8" />
            <title>CSS水平垂直居中实现方式--定位实现</title>
            <style type="text/css">
                *{
                    margin: 0;
                    padding: 0;    
                }
                .p{
                    width: 500px;
                    height: 500px;
                    border: 1px solid red;
                    display: table-cell;
                    /*vertical-align: middle; 实现垂直居中*/
                    vertical-align: middle;
                }
                .c{
                    width: 200px;
                    height: 200px;
                    border: 1px solid green;
                    /*margin: 0 auto; 实现水平居中*/
                    margin: 0 auto;    
                }
            </style>
        </head>
    
        <body>
            <div class="p">
                <div class="c">
                    子元素
                </div>
            </div>
            
        </body>
    
    </html>

    效果同上。

    3、flex布局

    核心代码实现请看示例代码中的注释:

    <!DOCTYPE html>
    <html lang="zh">
    
        <head>
            <meta charset="UTF-8" />
            <title>CSS水平垂直居中实现方式--定位实现</title>
            <style type="text/css">
                * {
                    margin: 0;
                    padding: 0;
                }
                
                .p {
                    width: 500px;
                    height: 500px;
                    border: 1px solid red;
                    /*flex 布局*/
                    display: flex;
                    /*实现垂直居中*/
                    align-items: center;
                    /*实现水平居中*/
                    justify-content: center;
                }
                
                .c {
                    width: 200px;
                    height: 200px;
                    border: 1px solid green;
                }
            </style>
        </head>
    
        <body>
            <div class="p">
                <div class="c">
                    子元素
                </div>
            </div>
    
        </body>
    
    </html>

    效果同上,注意浏览器兼容性问题

    4、translate+relative定位

    核心代码实现请看示例代码中的注释:

    <!DOCTYPE html>
    <html lang="zh">
    
        <head>
            <meta charset="UTF-8" />
            <title>CSS水平垂直居中实现方式--定位实现</title>
            <style type="text/css">
                * {
                    margin: 0;
                    padding: 0;
                }
                
                .p {
                    width: 500px;
                    height: 500px;
                    border: 1px solid red;
                }
                
                .c {
                    width: 200px;
                    height: 200px;
                    border: 1px solid green;
                    /*relative 定位*/
                    position: relative;
                    /*top和left偏移各为50%*/
                    top: 50%;
                    left: 50%;
                    /*translate(-50%,-50%) 偏移自身的宽和高的-50%*/
                    transform: translate(-50%, -50%);
                }
            </style>
        </head>
    
        <body>
            <div class="p">
                <div class="c">
                    子元素
                </div>
            </div>
    
        </body>
    
    </html>

    效果同上,注意浏览器兼容性问题

  • 相关阅读:
    Oracle中优化SQL的原则(转贴)
    Oracle的分页查询
    Oracle中存储过程和Sql语句的优化重点
    oracle中sql语句的优化
    Oracle中优化SQL的原则(转贴)
    Oracle group by 用法实例详解
    Oracle中group by用法
    一本超越期待的 C++ 书——简评《Boost程序库完全开发指南:深入C++“准”标准库》
    以小见大——那些基于 protobuf 的五花八门的 RPC(2)
    BizTalk请求JAVA的Web Service报错
  • 原文地址:https://www.cnblogs.com/mengfangui/p/7227486.html
Copyright © 2020-2023  润新知