詳解HTML5中垂直上下居中的解決方案

在CSS中,則要吐槽一下,利用margin:0 auto;可以達(dá)到水平方向的居中,但是margin: auto 0則無(wú)法達(dá)到垂直方向的居中。
這里主要還是由于沒(méi)有對(duì)父控件即控件本身進(jìn)行正確的定位。直接看代碼, 首先對(duì)父控件需要使用相對(duì)布局,之后對(duì)子控件需要使用絕對(duì)布局,并且利用top,和bottom屬性,結(jié)合margin: auto 0;,則可以達(dá)到效果。
.container-vertical { position: relative; width: 100%; height: 200px; background: deepskyblue; margin-bottom: 20px; } .container-vertical-item { position: absolute; width: 130px; height: 80px; text-align: center; background: yellow; line-height: 80px; top: 0; bottom: 0; margin: auto 0; }
垂直方向上居中.png
水平垂直方向居中
有了5.2的經(jīng)驗(yàn),我們可以嘗試設(shè)置子控件的left和right,top,bottom屬性都為0,并且margin: auto;四個(gè)方向上都是自動(dòng)外邊距。則可以達(dá)到這樣的效果。其中需要注意的子控件需要必須是display: block; 屬性。
看代碼
.container-horization-vertical { position: relative; width: 100%; height: 200px; background: deepskyblue; margin-bottom: 20px; } .container-horization-vertical-item { position: absolute; width: 150px; height: 80px; background: yellow; line-height: 80px; text-align: center; top: 0; left: 0; bottom: 0; right: 0; margin: auto; }
小結(jié): 這種方案在解決一些不算復(fù)雜的頁(yè)面布局時(shí)還是很不錯(cuò)的,可以適配任何界面以及幾乎所有的瀏覽器。但對(duì)于十分復(fù)雜的頁(yè)面可能會(huì)需要其他的解決方案,但是從這個(gè)思路出發(fā)也可以得到啟示
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要介紹了html中table表格的內(nèi)容水平和垂直居中顯示的相關(guān)資料,需要的朋友可以參考下2017-03-27
- 這篇文章主要針對(duì)HTML對(duì)于元素水平垂直居中進(jìn)行的探討,對(duì)元素水平垂直居中操作進(jìn)行講解,感興趣的小伙伴們可以參考一下2016-02-24
關(guān)于html水平垂直居中的問(wèn)題小結(jié)
本文是小編日常遇到的關(guān)于html水平垂直居中的一些問(wèn)題小結(jié),特此分享在腳本之家網(wǎng)站供大家參考2015-11-18html元素水平居中、垂直居中、水平垂直居中于其父級(jí)元素的方法
這篇文章主要介紹了html元素 水平居中、垂直居中、水平垂直居中于其父級(jí)元素的方法,需要的朋友可以參考下2014-04-08- 當(dāng)定義了 Text 的 height 屬性時(shí),在 Text 中輸入的文字都不是垂直居中的,不過(guò)可以通過(guò)css來(lái)控制它,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-02-18