css寬高不固定實現居中的方法:1、利用flex進行佈局實現居中;2、使用css3中transform進行元素偏移;3、利用table-cell實現居中即可。
本教學操作環境: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中文網其他相關文章!