這篇文章主要介紹了CSS在固定寬高的p內實現垂直居中的實例詳解,即在p內部元素相對於p垂直居中的方法,需要的朋友可以參考下
需求案例
案例是這樣的,一個外層p,高寬是固定的,但是裡面內容不是固定的。很多朋友的做法是頭部加一個padding或margin,這樣,裡面內容顯得貌似是居中了,但是假如內容變化,這樣頭部的固定padding或margin,始終不變。造成了垂直方向不會居中!
我們知道,假如下面一個p
<p class="outer"><p class="inner">haorooms内部内容</p></p>
樣式是這樣的
.outer{text-align:center;vertical-align: middle;width:200px;height:350px;}
vertical-align:middle不管用的,很多朋友就在.inner上面做文章了,和我上面說的,加margin等等!那對於這種情況,有沒有更好的解決方案呢?
解決方法
想法:加上一個cssHack,設定cssHack的line-height等於外層p的高度,就可以使用vertical-align:middle了!
p如下:
<p class="outer"> <p class="inner">haorooms内部内容</p><p class="v">cssHack</p> </p>
#樣式如下:
* { margin: 0; padding: 0; } .outer { background-color: #ccc; font-size: 24px; height: 350px; text-align: center; overflow: hidden; width: 280px; } .outer .inner, .outer .v { display: inline-block; zoom: 1;*display: inline; /* 用于触发支持IE67 inline-block */ } .outer .inner { line-height: 1.8; padding: 0 4px 0 5px; vertical-align: middle; width: 262px; } .outer .v { line-height: 350px; text-indent:-9999px; width: 1px; }
這樣就實作了p內部的垂直居中了!
以上是詳解CSS在固定寬高的div內實現垂直居中的實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!