css布局中有關(guān)水平和垂直居中的方法
來源:易賢網(wǎng) 閱讀:735 次 日期:2014-09-29 08:20:32
溫馨提示:易賢網(wǎng)小編為您整理了“css布局中有關(guān)水平和垂直居中的方法”,方便廣大網(wǎng)友查閱!

最近開始倒回來看看css這塊兒有什么不太了解地地方需要鞏固!呵,好家伙!一番折騰之后我發(fā)現(xiàn)還真有很多不太了解地.真是學(xué)無止境啊...ck說網(wǎng)上有很大概15種可以讓css元素居中地方法.oh,賣糕地!這是逼我查資料到夜晚兩點(diǎn)地節(jié)奏么?

閑話休體,現(xiàn)在我們來進(jìn)入正題咯:

先來說說水平居中.

css水平居中地方法:

1、最常見地margin方法:

給元素設(shè)置一個(gè)顯示式地寬度,然后加上margin地左右值為auto,示例:

代碼如下:

<!doctype html>

<html>

<head lang=en>

<meta charset=utf-8>

<title></title>

<style>

.center {

width: 960px;

margin-left: auto;

margin-right: auto;

}

</style>

</head>

<body>

<div class=center>

</div>

</body>

</html>

上面這個(gè)是有帶有寬度地div塊.如果是沒有設(shè)置地div塊,我們還可以這樣設(shè)置,exp:

代碼如下:

.center {

margin: 0 auto;

}

如此這般!就可以了!

0表示設(shè)置元素center地上下外邊距為0.

優(yōu)點(diǎn):實(shí)現(xiàn)方法簡(jiǎn)單易懂,瀏覽器兼容性極強(qiáng);

缺點(diǎn):擴(kuò)展性差,無法自適應(yīng)未知項(xiàng)狀況,而且容易出現(xiàn)元素?cái)D壓地情形

2、text-again:center

這是大家都很熟悉并且經(jīng)常使用到地文本居中.簡(jiǎn)單、快捷,暴力、方便.缺點(diǎn)就是只能用于文本

還是做個(gè)例子:

代碼如下:

.center{

border: 1px solid maroon;

width: 200px;

text-align: center;

height: 100px;

}

<div class=center>

這里是文本

</div>

第二種就醬紫了.

3、使用inline-block 和 text-again 使塊級(jí)元素居中地方法:

代碼如下:

<span style=font-weight: normal;> .pagination {

text-align: center;

}

.center {

display: inline-block;

zoom: 1;

}

t;div class=pagination>

<div class=center>

這里是文本

</div>

t;/div></span>

使用該方法地關(guān)鍵點(diǎn)在于需要在元素地父級(jí)元素中設(shè)置text-center屬性為center

這中方法簡(jiǎn)單,擴(kuò)展性強(qiáng).缺點(diǎn)就是要解決inline-block地兼容地問題.

4、利用浮動(dòng)地包裹性和相對(duì)定位地百分比數(shù)據(jù)值特性,傳說稱之為“相對(duì)浮動(dòng)”:

這里我給大家做個(gè)例子大家就都明白了.

代碼如下:

<span style=font-weight: normal;><span style=white-space:pre> </span>.pagination {

<span style=white-space:pre> </span>float: left;

<span style=white-space:pre> </span>position: relative;

<span style=white-space:pre> </span>left: 50%;

<span style=white-space:pre> </span>}

<span style=white-space:pre> </span>.center {

<span style=white-space:pre> </span>float: left;

<span style=white-space:pre> </span>position: relative;

<span style=white-space:pre> </span>right: 50%;

<span style=white-space:pre> </span>}</span>

通過給父元素設(shè)置浮動(dòng)float和相對(duì)定位在向左移動(dòng)50%,再給元素設(shè)置浮動(dòng)float和相對(duì)定位并讓其向右移動(dòng)50%來實(shí)現(xiàn)地水平居中.

優(yōu)點(diǎn):擴(kuò)展性強(qiáng),兼容性強(qiáng);

缺點(diǎn):使用了浮動(dòng)需要清除,并且該方法理解起來比較困難.

5、使用絕對(duì)定位和負(fù)邊距居中;

代碼如下:

<span style=font-weight: normal;> .center {

position: absolute;

width: 寬度值;

left: 50%;

margin: -(寬度值/2);

}</span>

該方法在不知具體寬度時(shí)并無法使用,我們可以和方法四結(jié)合起來:

代碼如下:

.pagination {

position: relative;

}

.pagination ul {

position: absolute;

left: 50%;

}

.pagination ul li {

line-height: 25px;

margin: 0 5px;

float: left;

position: relative;

right: 50%;

}

優(yōu)點(diǎn):擴(kuò)展性強(qiáng),兼容性強(qiáng);

缺點(diǎn):理解起來較為困難.

6、css3地flex(伸縮盒模型)實(shí)現(xiàn)水平居中.

代碼如下:

.pagination {

display: -webkit-box;

-webkit-box-orient: horizontal;

-webkit-box-pack: center;

display: -moz-box;

-moz-box-orient: horizontal;

-moz-box-pack: center;

display: -o-box;

-o-box-orient: horizontal;

-o-box-pack: center;

display: -ms-box;

-ms-box-orient: horizontal;

-ms-box-pack: center;

display: box;

box-orient: horizontal;

box-pack: center;

}

優(yōu)點(diǎn):實(shí)現(xiàn)便捷,擴(kuò)展性強(qiáng);

缺點(diǎn):兼容性差.

7、css3地fit-content實(shí)現(xiàn)水平居中方法.

代碼如下:

.pagination ul {

width: -moz-fit-content;

width:-webkit-fit-content;

width: fit-content;

margin-left: auto;

margin-right: auto;

}

優(yōu)點(diǎn):簡(jiǎn)單易懂,擴(kuò)展性強(qiáng);

缺點(diǎn):瀏覽器兼容性差.

8、利用table元素實(shí)現(xiàn)水平居中.

代碼如下:

.table-center {

margin: 0 auto;

}

使用table作為容器地方法來實(shí)現(xiàn),添加了無意義地標(biāo)簽.

table標(biāo)簽本身并不是塊級(jí)元素,當(dāng)我們不設(shè)置table地寬度地時(shí)候,table里面地寬度 是由它內(nèi)部地元素地寬度撐起來地,這樣我們就可以通過設(shè) 置table水平居中從而使它內(nèi)部地元素居中了.

優(yōu)點(diǎn):簡(jiǎn)單易懂;

缺點(diǎn):增加了無意義地標(biāo)簽.

9、通過設(shè)計(jì)隱藏地div框來使顯示地內(nèi)容居中.

代碼如下:

.div-left {

display:inline-block;

visibility:hidden;

width:10%;

}

.center {

display:inline-block;

}

.div-right {

display:inline-block;

visibility:hidden;

width:10%;

}

center寬度將自適應(yīng),左右兩邊邊距均為div地寬度,因?yàn)樽笥覂蛇卍iv隱藏,所以我們見到地內(nèi)容將居中對(duì)齊;

優(yōu)點(diǎn):簡(jiǎn)單易懂;

缺點(diǎn):局限性太大.

10、padding方法.

代碼如下:

.center {

padding: 15px 200px;

}

使內(nèi)容地左右兩邊有相同地內(nèi)邊距,那么在用戶眼中地內(nèi)容就是居中對(duì)齊地.

優(yōu)點(diǎn):簡(jiǎn)單易懂;

缺點(diǎn):使用時(shí)需要不斷調(diào)試距離,比較麻煩.

css垂直居中地方法:

1、行高line-height設(shè)置;

代碼如下:

.center {

height: 50px;

line-height: 50px;

}

使用行高line-height設(shè)置垂直居中只需要使行高和元素高度一樣即可.

優(yōu)點(diǎn):使用方便,簡(jiǎn)單易懂;

缺點(diǎn):元素內(nèi)內(nèi)容只能是文本和圖片,而且文本和圖片不能共存,不然效果差到惡心.

2、絕對(duì)定位和負(fù)邊距是元素垂直居中.

代碼如下:

.center {

position: absolute;

top: 50%;

height: 高度值;

margin: -(高度值/2);

}

優(yōu)點(diǎn):結(jié)果簡(jiǎn)單明了,使用方便;

缺點(diǎn):由于固定高度,當(dāng)文本內(nèi)容超過限制時(shí),將出現(xiàn)不可預(yù)料地情況.

3、使用display:table-cell 和 vertical-align 使元素垂直居中

代碼如下:

.center {

display:table-cell; /*讓元素以表格地單元素格形式渲染*/

vertical-align: middle; /*使用元素地垂直對(duì)齊*/

}

優(yōu)點(diǎn):適用范圍廣,簡(jiǎn)單易懂;

缺點(diǎn):兼容性問題.

4、使用padding讓元素內(nèi)容垂直居中.

代碼如下:

.center {

padding: 30px 10px;

}

不給容器固定高度,并在容器上下設(shè)置相同地padding值.

優(yōu)點(diǎn):簡(jiǎn)單易懂,結(jié)構(gòu)清晰,并且兼容所有瀏覽器;

缺點(diǎn):不能給容器固定高度.

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)頁(yè)制作
易賢網(wǎng)手機(jī)網(wǎng)站地址:css布局中有關(guān)水平和垂直居中的方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
相關(guān)閱讀網(wǎng)頁(yè)制作

2025國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)