Web開(kāi)發(fā)中盒子居中的幾種方法

一、記錄下幾種盒子居中的方法:
1.0、margin固定寬高居中;
2.0、負(fù)margin居中;
3.0、絕對(duì)定位居中;
4.0、table-cell居中;
5.0、flex居中;
6.0、transform居中;
7.0、不確定寬高居中(絕對(duì)定位百分?jǐn)?shù));
8.0、button居中。
二、代碼演示(html使用同一個(gè)Demo):
html Demo:
<body>
<div id="container">
<div id="box"></div>
</div>
</body>
1.0、margin固定寬高居中(演示)
這種定位方法純粹是靠寬高和margin拼出來(lái)的,不是很靈活。
CSS:
#container {
width: 600px;
height: 500px;
border: 1px solid #000;
margin: auto;
}
#box {
width: 200px;
height: 200px;
margin: 150px 200px;
background-color: #0ff;
}
2.0、負(fù)margin居中(演示)
利用負(fù)的margin來(lái)進(jìn)行居中,需要知道固定寬高,限制比較大。
CSS:
#container {
position: relative;
width: 600px;
height: 500px;
border: 1px solid #000;
margin: auto;
}
#box {
position: absolute;
width: 200px;
height: 200px;
left: 50%;
top: 50%;
margin: -100px -100px;
background-color: #0ff;
}
3.0、絕對(duì)定位居中(演示)
利用絕對(duì)定位居中,非常常用的一種方法。
CSS:
#container {
position: relative;
width: 600px;
height: 500px;
border: 1px solid #000;
margin: auto;
}
#box {
position: absolute;
width: 200px;
height: 200px;
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto;
background-color: #0ff;
}
4.0、table-cell居中(演示)
利用table-cell來(lái)控制垂直居中。
CSS:
#container {
display: table-cell;
width: 600px;
height: 500px;
vertical-align: middle;
border: 1px solid #000;
}
#box {
width: 200px;
height: 200px;
margin: 0 auto;
background-color: #0ff;
}
5.0、flex居中(演示)
CSS3中引入的新布局方式,比較好用。缺點(diǎn):IE9以及IE9一下不兼容。
CSS:
#container {
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
-webkit-justify-content: center;
justify-content: center;
width: 600px;
height: 500px;
border: 1px solid #000;
margin: auto;
}
#box {
width: 200px;
height: 200px;
background-color: #0ff;
}
6.0、transform居中(演示)
這種方法靈活運(yùn)用CSS中transform屬性,較為新奇。缺點(diǎn)是IE9下不兼容。
CSS:
#container {
position: relative;
width: 600px;
height: 600px;
border: 1px solid #000;
margin: auto;
}
#box {
position: relative;
top: 50%;
left: 50%;
width: 200px;
height: 200px;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
background-color: #0ff;
}
7.0、不確定寬高居中(絕對(duì)定位百分?jǐn)?shù))(演示)
這種不確定寬高的居中,較為靈活。只需要保證left和right的百分?jǐn)?shù)一樣就可以實(shí)現(xiàn)水平居中,保證top和bottom的百分?jǐn)?shù)一樣就可以實(shí)現(xiàn)垂直居中。
CSS:
#container {
position: relative;
width: 600px;
height: 500px;
border: 1px solid #000;
margin: auto;
}
#box {
position: absolute;
left: 30%;
right: 30%;
top: 25%;
bottom: 25%;
background-color: #0ff;
}
8.0、button居中(演示)
利用button做外容器,里邊的塊元素會(huì)自動(dòng)垂直居中,只需要控制一下水平居中就可以達(dá)到效果。
HTML:
<button>
<div></div>
</button>
CSS:
button {
width: 600px;
height: 500px;
border: 1px solid #000;
}
div {
width: 200px;
height: 200px;
margin: 0 auto;
background-color: #0ff;
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
原文鏈接:http://www.cnblogs.com/likar/archive/2016/06/16/5590948.html
相關(guān)文章
css實(shí)現(xiàn)移動(dòng)端圖片文字水平居中
這篇文章主要為大家詳細(xì)介紹了css實(shí)現(xiàn)移動(dòng)端圖片文字水平居中的方法,如何實(shí)現(xiàn)圖片以及文字的整體水平居中,本文為大家提供兩種解決辦法,感興趣的小伙伴們可以參考一下2016-03-11利用CSS的Sass預(yù)處理器(框架)來(lái)制作居中效果
這篇文章主要介紹了利用CSS的Sass預(yù)處理器來(lái)制作居中效果的教程,圍繞Sass mixin的編寫方法進(jìn)行講解,同時(shí)介紹了如何使用Flexbox來(lái)讓子元素居中,需要的朋友可以參考下2016-03-10- 垂直居中是布局中十分常見(jiàn)的效果之一,這篇文章主要介紹了純CSS實(shí)現(xiàn)垂直居中的9種方法,感興趣的小伙伴們可以參考一下2016-03-09
- 單選框和復(fù)選框面積很小,不容易點(diǎn)擊,造成許多用戶的困擾,用戶體驗(yàn)不佳,所以表單元素的垂直居中讓很多網(wǎng)頁(yè)布局師為之而困擾,想實(shí)現(xiàn)垂直居中效果還真需要一番功夫,還好2013-02-16
整理CSS中遇到的一些常見(jiàn)問(wèn)題(Hack標(biāo)識(shí)/固定容器/圖片垂直居中)
本文整理了一些CSS中遇到的一些常見(jiàn)問(wèn)題:IE瀏覽器模式Hack標(biāo)識(shí)/代碼中遇到的一些常見(jiàn)問(wèn)題/固定容器圖片垂直居中等,感興趣的朋友可以參考下,順便鞏固一下知識(shí),希望本文對(duì)2013-01-24元素及文本的居中(層的橫向居中/層的垂直居中/絕對(duì)居中)
元素及文本的居中包括(層的橫向居中/層的垂直居中/絕對(duì)居中)以及文本掙開(kāi)div的題,也在這里給予了解決方法,感興趣的朋友可以了解下啊,希望本文可以幫助到你2013-01-18三種方式實(shí)現(xiàn)元素水平居中顯示與固定布局和流式布局概念理解
css中讓文本居中的屬性很簡(jiǎn)單就可以實(shí)現(xiàn),那就是設(shè)置text-align:center即可,讓元素水平居中,相信對(duì)于許多網(wǎng)頁(yè)設(shè)計(jì)師而言都不會(huì)陌生,首先,要 讓元素水平居中,就必須得了2013-01-11元素及文本的水平居中/垂直居中/絕對(duì)居中總結(jié)
簡(jiǎn)單總結(jié)一下html中元素的 水平居中、垂直居中、絕對(duì)居中的實(shí)現(xiàn)方式,感興趣的朋友可以了解下哦2013-01-07讓IE也支持margin居中告別text-align:center
謹(jǐn)以此篇獻(xiàn)給那些和我一樣使用 myeclipse 開(kāi)發(fā),為了在 IE 下居中一直使用 text-align:center 居中的童鞋,接下來(lái)介紹讓IE也支持margin居中的實(shí)現(xiàn)方法2012-12-31大小不固定的圖片和多行文字的垂直水平居中實(shí)現(xiàn)分析
其核心原理其實(shí)與第二種利用font-size大小實(shí)現(xiàn)IE下圖片垂直居中是一致的。將font-size設(shè)置得很大,目的是撐開(kāi)IE下默認(rèn)文字空間的高度,其性質(zhì)類似于空格,然后通過(guò)vertical2012-12-07