水平居中可以用text-align:center;垂直居中應該用magin-top;或者padding-top來設置
成都創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設、網(wǎng)站重做改版、武江網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、html5、電子商務商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為武江等各大城市提供網(wǎng)站開發(fā)制作服務。
l讓文字居中的方法:1、給文本所在標簽加CSS屬性值“text-align:center”;2、在行內(nèi)標簽或行內(nèi)塊級標簽中加CSS屬性值“text-align:left”。
前端(vue)入門到精通課程:進入學習
API 文檔、設計、調(diào)試、自動化測試一體化協(xié)作工具:點擊使用
本文操作環(huán)境:windows7系統(tǒng)、HTML5CSS3版、Dell G3電腦。
兩種情況:1、文本格式居中;2、文本所在標簽居中顯示在窗口中。
1、給文本所在標簽加CSS屬性值"text-align:center"即可。例如:
2、有很多種方法,這里介紹兩種,例如:
1)(建議)文本應該被 行內(nèi)標簽或行內(nèi)塊級標簽 包裹,行內(nèi)標簽或行內(nèi)塊級標簽又被 塊級標簽包裹。此種方式 文本格式 會居中。若想 文本格式 不居中,可在行內(nèi)標簽或行內(nèi)塊級標簽中加CSS屬性值"text-align:left"或其他。
2)文本被塊級標簽包裹。為塊級標簽設置寬度,并加上CSS屬性值" margin:0 auto"。此種方式 文本格式 不會居中。若想 文本格式 也居中,可在塊級標簽加CSS屬性值"text-align:center"。
方法一:
這種方法用來實現(xiàn)單行垂直居中是相當?shù)暮唵蔚?,你只要保證元素內(nèi)容是單行,并且其高度是固定不變的,你只要將其“l(fā)ine-height”設置成和“height”值一樣就Ok了。不過這種方法局限性太大,只有單行文本的元素才適用,所以在多行元素中是不能使用這種方法的。
Html Markup
div class="vertical"content/div
復制代碼
CSS Code:
.vertical {
height: 100px;
line-height: 100px;/*值等于元素高度的值*/
}
復制代碼
優(yōu)點:
適合在所有瀏覽器,沒有足夠空間時,內(nèi)容不會被切掉
缺點:
僅適合應用在文本和圖片上,并且這種方法,當你文本不是單行時,效果極差,差到讓你感到惡心。
這種方法對運用在小元素上是非常有用的,比如說讓一個button、圖片或者單行文本字段。
方法二:
這種方法將在需要給容器設置絕對定位(position:absolute),并且定位高度(top:50%)和margin-top為高度的一半(margin-top:-height/2)。這就意味著使用這種方法來實現(xiàn)垂直居中的效果,那么元素必須要有一個固定的高度。這樣一來,你給元素設置了固定高度,如果你又給他設置了“overflow:auto”,那么當元素內(nèi)容超過容器后,這樣元素的就會出現(xiàn)滾動,而不會自適應內(nèi)容的高度。
HTML Markup
div class="vertical"content/div
復制代碼
CSS Code
.vertical {
height: 100px;/*元素的高度*/
position: absolute;
top: 50%;/*元素的頂部邊界離父元素的的位置是父元素高度的一半*/
margin-top: -50px;/*設置元素頂邊負邊距,大小為元素高度的一半*/
}
復制代碼
優(yōu)點:
能在各瀏覽器下工作,結構簡單明了,不需增加額外的標簽
缺點:
由于固定死元素的高度,致使沒有足哆的空間,當內(nèi)容超過容器的大小時,要么會消息,要么會出現(xiàn)滾動條(如果元素在body內(nèi),當用戶縮小瀏覽器窗口時,body的滾動條將不會出現(xiàn))。
這種方法主要是針對多行元素來進行元素的垂直居中,而并非是此元素的內(nèi)容垂直居中,這一點先要理解并分開清楚。另外此方法是通過絕對定位來實現(xiàn)的,那么用這種方法實現(xiàn)元素的垂直居中需要注意以下幾點:其一元素定位關系到一個相對定位參考,所以要保證元素是相對于哪個為參考坐標;另外需要設置給元素明確定一個高度值并且給元素設置一個負值的margin-top,而且值為元素高度的一半。這里我建議大家給元素定一個寬度值,因為元素進行絕對定位后脫離文檔流,其寬度是根據(jù)元素內(nèi)容所占寬度來計算的,為這能讓其視覺效果更好,最好給元素定義一個寬度值。
根據(jù)這種方法,我們稍作修改就能使元素不單是垂直居中,而且還可以水平居中,如:
HTML Markup
div id="wrap"test/div
復制代碼
CSS Code
#wrap {
width: 200px;/*元素的寬度*/
height:200px;/*元素的高度*/
position: absolute; l
eft: 50%;/*配合margin-left的負值實現(xiàn)水平居中*/
margin-left: -100px;/*值的大小等于元素寬度的一半*/
top:50%;/*配合margin-top的負值實現(xiàn)垂直居中*/
margin-top: -100px;/*值的大小等于元素高度的一半*/
}
復制代碼
這種方法可以實現(xiàn)元素的水平垂直居中,常用于頁面在最中間的布局,使用這種方法一定要把握?。核酱怪本又械脑匾忻鞔_的大小(換句話說就是要有確切的寬和高度值);給元素進行絕對定位,并設置left,top值為“50%”(此處最好使用 對定位,如果只是單單水平居中,此處可以換成相對定位);最后設置margin-top和margin-left的負值,而且其值分別為元素高度和寬度的一半。
方法三:
方法三是使用的的div模擬表格效果,也就是說將多個div的“display”屬性設置為禾“table”和“table-cell”,并設置他們的“vertical-align”的屬性值為“middle”。有關于“display:table”更多的介紹可以點擊這里或者去閱讀Quirksmode的《The display declaration》一文。
HTML Code
div id="container"
div id="content"content/div
/div
復制代碼
CSS Code
#container {
height: 300px;
display: table;/*讓元素以表格形式渲染*/
}
#content {
display:table-cell;/*讓元素以表格的單元素格形式渲染*/
vertical-align: middle;/*使用元素的垂直對齊*/
}
復制代碼
優(yōu)點:
這種方法不會像前面的兩種方法一樣,有高度的限制,此方法可以要據(jù)元素內(nèi)容動態(tài)的改變高度,從而也就沒有空間的限制,元素的內(nèi)容不會因為沒足夠的空間而被切斷或者出現(xiàn)難看的滾動條。
缺點:
不足之處呢?這種方法只適合現(xiàn)代瀏覽器,在IE6-7下無法正常運行;而且較前兩者而言,結構也更復雜。
這種方法在現(xiàn)代瀏覽器下是非常方便。但是在IE6-7中是不被支持的,因為display:table在IE6-7中不被支持,那么為了解決這種方法在IE6-7的兼容,需要額外增加一個div,并使用hack,下面我們一起來看看其解決辦法。
HTML Markup
div class="table"
div class="tableCell"
div class="content"content/div
/div
/div
復制代碼
CSS Code
.table {
height: 300px;/*高度值不能少*/
width: 300px;/*寬度值不能少*/
display: table;
position: relative; float:left;
}
.tableCell {
display: table-cell;
vertical-align: middle;
text-align: center;
padding: 10px;
*position: absolute;
*top: 50%;
*left: 50%;
}
.content {
*position:relative;
*top: -50%;
*left: -50%;
}
復制代碼
方法四:
這種方法有點新意,用這種方法你需要在居中元素前面放一個空的div(塊元素就可以),然后設置這個div的高度為50%,margin-bottom為元素高度的一半,而且居中元素需要清除浮動。需要注意的是,使用這種方法,如果你的居中元素是放在body中的話,你需要給html,body設置一個“height:100%”的屬性。
HTML Markup
body
div id="floater"!--This block have empty content --/div
div id="content"Content section/div
/body
復制代碼
CSS Code
html,body {height: 100%;}
#floater{ float:left;
height:50%;/*相對于父元素高度的50%*/
margin-bottom: -120px;/*值大小為居中元素高度的一半(240px/2)*/
}
#content { clear:both;/*清除浮動*/
height: 240px; position: relative;
}
復制代碼
優(yōu)點:
這種方法能兼容所有瀏覽器,在沒有足哆空間下,內(nèi)容不會被切掉
缺點:
元素高度被固定死,無法達到內(nèi)容自適應高度,如果居中元素加上overflow屬性,要么元素出現(xiàn)滾動條,要么元素被切掉;另外就是一個不算缺點的缺點,那就是加了一個空標簽。
方法五:
這種方法和方法三一樣使用display:table-cell來實現(xiàn),不過方法五不同之處是這個方法我們需要一個線盒型,用來實現(xiàn)IE下的效果,需要增加一上行內(nèi)標簽比如說“span”(此處最好使用行內(nèi)標簽,千萬不要使用塊標簽,因為使用塊標簽會沒有效果),并把這個線盒型高度設置為100%。
HTML Markup
p class="table"
span class="tableCell"Centering multiple lines brin a block container./span
!--[if lte IE 7]b/b![endif]--
/p
復制代碼
CSS Code
style type="text/css"
.table {
border: 1px solid orange;
display: table;
height: 200px; width: 200px;
text-align: center;
}
.tableCell {
display: table-cell;
vertical-align: middle;
}
/style
!--[if lte ie 7]
style type="text/css"
.tableCell {
display: inline-block;
}
b {
display: inline-block;
height: 100%;
vertical-align: middle; width: 1px;
}
/style
![endif]--
復制代碼
優(yōu)點:
這種方法的優(yōu)點和方法三是一樣的,不會有高度的限制。
缺點:
不好的地方就是這種方法為了讓IE運行正常,需要額外增加一些標簽,另外就是線盒型的標簽種類有限制。不過用起來還是蠻方便的。
方法六:
這種方法是采用的display:inline-block,然后借助另一個元素的高度來實現(xiàn)居中
Html Markup
div id="parent"
div id="vertically_center"
pI am vertically centered!/p
/div
div id="extra"!-- ie comment --/div
/div
復制代碼
CSS Code
style type="text/css"
html,
body{
height: 100%;
}
#parent { h
eight: 500px;/*定義高度,讓線盒型div#extra有一個參照物,可以是固定值,也可以是百分比*/
border: 1px solid red;
}
#vertically_center,
#extra {
display: inline-block;/*把元素轉(zhuǎn)為行內(nèi)塊顯示*/
vertical-align: middle;/*垂直居中*/
}
#extra {
height: 100%; /*設置線盒型為父元素的100%高度*/
}
/style
!--[if lt IE 8]
style type="text/css"
/*IE6-7不支持display:inline-block,所以在ie6-7另外寫一個hack,用來支持ie6-7*/
#vertically_center,
#extra {
display: inline;
zoom: 1; }
#extra {
width: 1px;
}
/style
![endif]--
復制代碼
優(yōu)點:
可以自適應高度,簡單易懂
缺點:
需要給元素的父元素設置一個高度,這個高度可以是一個固定值或者百分值高度,另外需要增加一個額外的標簽,當作線盒型,如div#extra,并且需要設置其高度為100%。另外就是ie6-7不支持display:inline-block,需要給他們另外寫一個樣式。
這是一個很有意思的方法,但你要懂得如何使用display。有關于這種方法的操作,大家可以去看一看Jonathan Potter寫的《CSS, Vertical Centering》。
當前題目:html5文字居中,Html文字居中
地址分享:http://www.rwnh.cn/article18/dscdddp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、全網(wǎng)營銷推廣、手機網(wǎng)站建設、電子商務、動態(tài)網(wǎng)站、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)