首頁  >  文章  >  web前端  >  css寬高不固定如何實現居中

css寬高不固定如何實現居中

藏色散人
藏色散人原創
2020-12-17 10:09:012935瀏覽

css寬高不固定實現居中的方法:1、利用flex進行佈局實現居中;2、使用css3中transform進行元素偏移;3、利用table-cell實現居中即可。

css寬高不固定如何實現居中

本教學操作環境:windows7系統、css3版,此方法適用於所有品牌電腦。

推薦:《css影片教學

css寬高不固定如何實作居中?

方法1:利用flex進行版面

大家的第一反應,可能就是 flex 了。因為它的寫法夠簡單直觀,相容性也沒問題。是手機端居中方式的首選。

<div class="wrapper flex-center">
    <p>horizontal and vertical</p>
</div>
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
}
.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

利用了 2 個關鍵屬性:justify-content 和 align-items,都設定為 center,即可實現居中。

要注意的是,一定要把這裡的 flex-center 掛在父級元素,才能使得其中 唯一的 子元素居中。

方法2:使用position transform

主要使用了css3中transform進行元素偏移,效果非常好

這方法功能很強大,也比較靈活,不僅局限在實現居中顯示。相容方面也一樣拿IE來做比較,第二種方法IE8以上都能使用。 IE8及IE8以下都會出現問題。

<body>
    <div id="box">
        <div id="content">div被其中的内容撑起宽高</div>
    </div>        
</body>
body,html { margin:0; width:100%; height:100%; }
#box { width:100%; height:100%; background:rgba(0,0,0,0.7); position:relative; }
#content{ position:absolute; background:pink; left:50%; top:50%;  
transform:translateX(-50%) translateY(-50%); 
-webkit-transform:translateX(-50%) translateY(-50%); }

方法3:利用table-cell

利用 table 的儲存格居中效果展示。與 flex 一樣,需要寫在父級元素上。

<div class="wrapper">
    <p>horizontal and vertical</p>
</div>
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

以上是css寬高不固定如何實現居中的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:css3 pie怎麼用下一篇:css3 pie怎麼用