首頁  >  文章  >  web前端  >  詳解CSS在固定寬高的div內實現垂直居中的實例分享

詳解CSS在固定寬高的div內實現垂直居中的實例分享

高洛峰
高洛峰原創
2017-03-09 16:54:101306瀏覽

這篇文章主要介紹了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中文網其他相關文章!

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