大家知道divcss水平垂直居中對齊嗎?下面我們就給大家詳細介紹一下吧!我們積累了一些經驗,在此拿出來與大家分享下,請大家互相指正。這種方法將在需要給容器設置絕對定位(position:absolute),並且定位高度(top:50%)和margin-top為高度的一半(margin-top:-height/2)。這就意味著使用這種方法來實現垂直居中的效果,那麼元素必須要有一個固定的高度。這樣一來,你給元素設置了固定高度,如果你又給他設置了“overflow:auto”,那麼當元素內容超過容器後,這樣元素的就會出現滾動,而不會自適應內容的高度。
HTML Markup
復制代碼代碼如下:
content
CSS Code
復制代碼代碼如下:
.vertical {
height: 100px;/*元素的高度*/
position: absolute;
top: 50%;/*元素的頂部邊界離父元素的的位置是父元素高度的一半*/
margin-top: -50px;/*設置元素頂邊負邊距,大小為元素高度的一半*/
}
優點:
能在各浏覽器下工作,結構簡單明了,不需增加額外的標簽
缺點:
由於固定死元素的高度,致使沒有足哆的空間,當內容超過容器的大小時,要麼會消息,要麼會出現滾動條(如果元素在body內,當用戶縮小浏覽器窗口時,body的滾動條將不會出現)。
這種方法主要是針對多行元素來進行元素的垂直居中,而並非是此元素的內容垂直居中,這一點先要理解並分開清楚。另外此方法是通過絕對定位來實現的,那麼用這種方法實現元素的垂直居中需要注意以下幾點:其一元素定位關系到一個相對定位參考,所以要保證元素是相對於哪個為參考坐標;另外需要設置給元素明確定一個高度值並且給元素設置一個負值的margin-top,而且值為元素高度的一半。這裡我建議大家給元素定一個寬度值,因為元素進行絕對定位後脫離文檔流,其寬度是根據元素內容所占寬度來計算的,為這能讓其視覺效果更好,最好給元素定義一個寬度值。
根據這種方法,我們稍作修改就能使元素不單是垂直居中,而且還可以水平居中,如:
HTML Markup
復制代碼代碼如下:
test
CSS Code
復制代碼代碼如下:
#wrap {
width: 200px;/*元素的寬度*/
height:200px;/*元素的高度*/
position: absolute;
left: 50%;/*配合margin-left的負值實現水平居中*/
margin-left: -100px;/*值的大小等於元素寬度的一半*/
top:50%;/*配合margin-top的負值實現垂直居中*/
margin-top: -100px;/*值的大小等於元素高度的一半*/
}
這種方法可以實現元素的水平垂直居中,常用於頁面在最中間的布局,使用這種方法一定要把握住:水 平垂直居中的元素要有明確的大小(換句話說就是要有確切的寬和高度值);給元素進行絕對定位,並設置left,top值為“50%”(此處最好使用 對定位,如果只是單單水平居中,此處可以換成相對定位);最後設置margin-top和margin-left的負值,而且其值分別為元素高度和寬度的 一半。
相信大家已經學會divcss水平垂直居中對齊了吧!感謝大家對我們網站的支持!
相關推薦:
如何終止DIV的float屬性呢