css設置標籤的水平與垂直居中,定位與彈性盒佈局的的結合

在一般情況下利用css在對標籤進行水平與垂直居中的時候利用彈性盒佈局可以輕易解決,只需設置父級標籤的主軸與交叉軸居中即可,代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .out {
                width: 500px;
                height: 300px;
                background: red;
                display: flex;
                justify-content: center;
                align-items: center;
                margin: 0 auto;
            }
            .out .in {
                width: 100px;
                height: 100px;
                background: white;
            }
        </style>
    </head>
    <body>
        <div class="out">
            <div class="in">

            </div>
        </div>
    </body>
</html>

效果圖如下:
一般的彈性盒佈局水平與垂直居中
但在很多時候,在做水平與垂直居中時常常伴隨着定位的存在,而定位的存在往往使彈性盒佈局的效果清除掉,而在很多情況下,我們的網頁又是響應式的,對標籤做到絕對居中,單靠定位很難實現,或者實現起來很複雜,而這裏有一種很方便的方法,其中用到了定位,也用到了彈性和佈局的一些內容,具體實現方式如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
        body {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            top: 0;
            display: flex;
        }
            .out {
                width: 20%;
                height: 20%;
                background: red;
                margin: auto;
            }
        </style>
    </head>
    <body>
        <div class="out">

        </div>
    </body>
</html>

效果圖如下:
這裏寫圖片描述
此例子是以body爲父級標籤,且子標籤爲流式佈局,實現方式即是對父級標籤進行定位,且設置:display:flex;在子級標籤的設置就相對來說更加簡單隻需設置margin: auto;即可,原理我也不是太懂,卻能實現此效果(是我無意間試出來的,嘿嘿��),具體原理可能還需要我對css有更深入的瞭解,有誰知到的可以私信或在評論中指出,大家相互學習,共同進步哦��!
—–覺得有用的記得關注哦!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章