zoukankan      html  css  js  c++  java
  • 盒子的水平垂直居中几种方法

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>水平垂直居中</title>
        <style>
            /*1. flex布局, 只需对父元素操作 */
                /* .parent {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                } */
    
            /*2. 绝对定位, 利用 top,left 向右下移动一半父元素的距离,然后用 transform 左上移动自身元素的一半距离 */
                /* .parent {
                    position: relative;
                }
    
                .content {
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                } */
    
            /*3. 绝对定位, 把上述的 transform 换成 负margin 自身宽高的一半。此方案需要已知宽高。*/
                /* .parent {
                    position: relative;
                }
    
                .content {
                    position: absolute;
                     86px;
                    height: 21px;
                    top: 50%;
                    left: 50%;
                    margin-left: -43px;
                    margin-top: -10.5px;
                } */
    
            /*4. 绝对定位, top,bottom,left,right 全部设置为0, margin: auto; 此方案需要已知宽高。*/
                /* .parent {
                    position: relative;
                }
    
                .content {
                    position: absolute;
                     86px;
                    height: 21px;
                    left: 0;
                    right: 0;
                    top: 0;
                    bottom: 0;
                    margin: auto;
                } */
    
            /* 其他水平居中的办法主要有两个 */
                /*1. 父元素 text-align: center; */
                    .parent {
                        text-align: center;
                    }
    
                /*2. 子元素 margin: 0 auto; 此方案需要已知宽度。且只对block元素生效。*/
                    /* .content {
                        display: block;
                         86px;
                        margin: 0 auto;
                    } */
    
            /* 其他垂直居中的办法主要有两个 */
                /*1. 子元素设置 line-height 等于父元素高度 */
                    /* .content {
                        line-height: 500px;
                    } */
                
                /*2. table布局,子元素: vertical-align: middle; */
                    .parent {
                        display: table;
                    }
    
                    .content {
                        display: table-cell;
                        vertical-align: middle;
                    }
        </style>
    </head>
    
    <body>
        <div class="parent" style=" height: 500px;  400px;background: gray;">
            <div class="content" id="div" style="background: greenyellow;display:none;">hello world</div>
            <span class="content" id="span" style="background: greenyellow;">hello world</span>
        </div>
        <button id="btn" style="margin-top:20px;margin-bottom: 40px;">切换span or div</button>
        <div>参考文章:<a target="_blank" href="http://louiszhai.github.io/2016/03/12/css-center/">http://louiszhai.github.io/2016/03/12/css-center/</a></div>
        <script>
            var div = document.getElementById("div");
            var span = document.getElementById("span");
            var display = span.style.display;
            document.getElementById('btn').onclick = function () {
                if (div.style.display === "none") {
                    span.style.display = 'none';
                    div.style.display = display;
                } else {
                    div.style.display = 'none';
                    span.style.display = display;
                }
            }
        </script>
    </body>
    
    </html>
    

      

  • 相关阅读:
    Linux常见命令
    CSS以及JQuery总是忽略掉的小问题
    HTML DOM appendChild() 方法
    WINUSB使用(附STM32Demo)
    STM32H7系列调试使用DCMI过程中若干注意事项
    godot初涉
    【转】使用objdump看内核源码
    scrcpy rk3399 交叉编译 meson
    gitlab hooks 钩子实现服务器代码同步至文件夹
    Linux编译笔记
  • 原文地址:https://www.cnblogs.com/shen076/p/6704904.html
Copyright © 2011-2022 走看看