• 关于DIV居中的问题。


    1.传统HTML CSS水平居中(不包含前端框架)

         1.1:设置固定宽度的方法

                关键代码描述:居中元素必须设置 宽度,然后设置margin

        

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta>
     5     </head>
     6     <style>
     7        
     8 
     9       div{
    10             width: 500px;  /*必须设置宽度,以下margin才有效*/
    11             margin: 0 auto;
    12             border: 1px solid;
    13         }
    14  </style>
    15  <body>
    16         <div>
    17             aaaa
    18         </div>
    19     </body>
    20 </html>

        1.2:行内块设置,居中元素设置行内inline-block

               关键代码描述:子元素必须设置行内显示,父元素必须设置文本居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
            .pages2{
                text-align: center;/*父元素必须设置文本居中,子元素设置行内现实,才会居中*/
                border:  1px solid;
            }
    
            .pages2 div {
                display: inline-block;/*子元素必须设置*/
               border: 1px solid;
               width: 500px;
            }
        </style>
        <body>
        <div class="pages2">
            <div>
                aaaa
            </div>
        </div>
        </body>
    </html>

    1.3设置浮动居中

         关键代码描述:父元素开启相对定位,左浮动,这个时候父元素处于水平线右侧,

            这个时候,只要将子元素右侧浮动一般,刚好居中显示。

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
     
    
            .pages2{
                border: 2px solid red;
                position: relative;/*必须开启相对定位*/
                left: 50%;/*让父元素刚好处于水平线右侧*/
                float: left;/*目的是脱离文档流,使宽度为子元素内容的高度,宽度,用于配合定位*/
            }
    
            .pages2 div {
                border: 1px solid;
                position: relative;/*子元素开启相对定位*/
                right: 50%;/*相对父元素,右偏移一半,刚好居中*/
                float: left;/*配合定位*/
            }
        </style>
        <body>
        <div class="pages2">
            <div>
                aaaaa
            </div>
        </div>
        </body>
    </html>

    1.4:设置fit-content

          关键代码描述:设置父元素的fit-content 可以达到居中效果

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
     
        .con{
            border: 1px solid;
            width: fit-content;/*必须设置fit-content*/
            width:-moz-fit-content;
            margin:     auto;
        }
        </style>
        <body>
    <div class="con">
        <div class="pages2">
            <div>
                aaaaa
            </div>
        </div>
    </div>
        </body>
    </html>

    1.5设置居中元素display:table,margin:0 auto;

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
     
    
            .pages2 div{
                border: 1px solid;
                display: table; /*当前居中元素设置*/
                margin: 0 auto;/*当前居中元素设置*/
            }
        </style>
        <body>
    <div class="con">
        <div class="pages2">
            <div>
                aaaaa
            </div>
        </div>
    </div>
        </body>
    </html>

    1.6,父元素设置dispaly:flex  jsutify-content:center

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
     
    
            .con{ /*父元素设置*/
                border: 1px solid;
               display: flex;
               justify-content: center;
            }
        </style>
        <body>
    <div class="con">
        <div class="pages2">
            <div>
                aaaaa
            </div>
        </div>
    </div>
        </body>
    </html>

    1.7 父元素设置display:flex 子元素设置margin:0 auto

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
     
    
            .con{
                border: 1px solid;
               display: flex;
             
            }
    
            .pages2 { 
                margin:  0 auto;
            }
        </style>
        <body>
    <div class="con">
        <div class="pages2">
            <div>
                aaaaa
            </div>
        </div>
    </div>
        </body>
    </html>

    2.div垂直居中

     2.1 设置父元素的display:flex ; flex-direcion:column;justify-content:center

      关键代码描述:一定要设置高度height

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
     html,body{
         width: 100%;
         height: 100%;
     }
    
            .pages2 div{
                border: 1px solid;
                display: table;
                margin: 0 auto;
            }
    
            .con{
                height: 100%; /* 设在高度 */
                display: flex;
                flex-direction: column;
                justify-content: center;
            }
        </style>
        <body>
    <div class="con">
        <div class="pages2">
            <div>
                aaaaa
            </div>
        </div>
    </div>
        </body>
    </html>

      2.2 设在父元素display:table ; 子元素两个属性

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
     html,body{
         width: 100%;
         height: 100%;
     }
    
    
            .con{
                height: 100%;/* 一定要设置高度*/
                display: table;
              
    
            }
    
            .pages2 {
                display: table-cell;
                vertical-align: middle;
               
            }
        </style>
        <body>
    <div class="con">
        <div class="pages2">
            <div>
                aaaaa
            </div>
        </div>
    </div>
        </body>
    </html>

    2.3 设置父元素的display:flex

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
    
    
    
            .con{
                height: 100vh;
                display: flex;
                justify-content: center;
                align-items: center
              
    
            }
    
    
        </style>
        <body>
    <div class="con">
        <div class="pages2">
            aaa
        </div>
    </div>
        </body>
    </html>

    2.4

    <!DOCTYPE html>
    <html>
        <head>
            <meta>
        </head>
        <style>
    
    
    
            .con{
                height: 100vh;
               display: grid;
            }
    
            .pages2{
                margin: auto;
            }
    
        </style>
        <body>
    <div class="con">
        <div class="pages2">
            aaa
        </div>
    </div>
        </body>
    </html>
  • 相关阅读:
    基于jackson的kotlin json字符串对比器
    python之一mac安装HTMLTestRunner.py
    python之插件安装
    饿了么三面:让你怀疑人生的Spring Boot夺命连环40问
    网易三面:说说你对MySQL事务四大隔离的理解
    京东Java岗:来自面试官的夺命连环56问,你怀疑人生了吗?
    QPushButton
    宏相关使用
    C++类构造析构基础
    P8261 [CTS2022] 袜子 解题报告
  • 原文地址:https://www.cnblogs.com/jack-xsh/p/11567614.html
Copyright © 2020-2023  润新知