CSS實(shí)現(xiàn)DIV居中的三種方法
下面給大家分享div居中的實(shí)現(xiàn)代碼,具體代碼如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<style type="text/css">
.div1{ width: 100px; height: 100px; border: 1px solid #000000;}
.div2{ width:40px ; height: 40px; background-color: green;}
</style>
<div class="div1">
<div class="div2">
</div>
</div>
</body>
</html>

如上的兩個(gè)div,實(shí)現(xiàn)div2在div1里面是居中顯示
一、方法一
利用margin,div1的寬減去div2的寬就是div2margin-left的數(shù)值:(100-40)/2=30
div1的高減去div2的高就是div2margin-top的數(shù)值:(100-40)/2=30
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<style type="text/css">
.div1{ width: 100px; height: 100px; border: 1px solid #000000;}
.div2{ width:40px ; height: 40px; background-color: green;}
.div22{
margin-left: 30px;margin-top: 30px;
}
</style>
<div class="div1">
<div class="div2 div22">
</div>
</div>
</body>
</html>

二、方法二
利用css的 position屬性,把div2相對(duì)于div1的top、left都設(shè)置為50%,然后再用margin-top設(shè)置為div2的高度的負(fù)一半拉回來(lái),用marg-left設(shè)置為寬度的負(fù)一半拉回來(lái),css如下設(shè)置
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<style type="text/css">
.div1{ width: 100px; height: 100px; border: 1px solid #000000;}
.div2{ width:40px ; height: 40px; background-color: green;}
.div11{
position: relative;
}
.div22{
position: absolute;top:50%;left: 50%;margin-top: -20px;margin-left: -20px;
}
</style>
<div class="div1 div11">
<div class="div2 div22">
</div>
</div>
</body>
</html>

三、方法三
還是用css的position屬性,如下的html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<style type="text/css">
.div1{ width: 100px; height: 100px; border: 1px solid #000000;}
.div2{ width:40px ; height: 40px; background-color: green;}
.div11{
position: relative;
}
.div22{
position: absolute;margin:auto; top: 0;left: 0;right: 0;bottom: 0;
}
</style>
<div class="div1 div11">
<div class="div2 div22">
</div>
</div>
</body>
</html>

四、方法四
利用css3的新增屬性table-cell
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<style type="text/css">
.div1{ width: 100px; height: 100px; border: 1px solid #000000;}
.div2{ width:40px ; height: 40px; background-color: green;}
.div11{
display: table-cell;vertical-align: middle;
}
.div22{
margin: auto;
}
</style>
<div class="div1 div11">
<div class="div2 div22">
</div>
</div>
</body>
</html>

這個(gè)方法還有一個(gè)好處就是,div2的高度可以不固定,如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<style type="text/css">
.div1{ width: 100px; height: 100px; border: 1px solid #000000;}
.div2{ width:40px ; background-color: green;}
.div11{
display: table-cell;vertical-align: middle;
}
.div22{
margin: auto;
}
</style>
<div class="div1 div11">
<div class="div2 div22">
div居中方法
</div>
</div>
</body>
</html>

總結(jié)
以上所述是小編給大家介紹的CSS實(shí)現(xiàn)DIV居中的三種方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
不定寬高的文字在div中垂直居中實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇不定寬高的文字在div中垂直居中實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-30關(guān)于div中img,span垂直居中的問(wèn)題
下面小編就為大家?guī)?lái)一篇關(guān)于div中img,span垂直居中的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-26讓Div實(shí)現(xiàn)水平或垂直居中的相關(guān)方法
這篇文章主要介紹了讓Div實(shí)現(xiàn)水平或垂直居中的相關(guān)方法,包括使用js來(lái)對(duì)實(shí)際產(chǎn)生的居中問(wèn)題進(jìn)行修正的方法,需要的朋友可以參考下2015-08-06- 這篇文章主要介紹了div中內(nèi)容上下居中小結(jié),需要的朋友可以參考下2015-02-05
css中position:fixed實(shí)現(xiàn)div在窗口上下左右居中
實(shí)現(xiàn)div居中的方法有很多,本例介紹的使用css中position:fixed來(lái)實(shí)現(xiàn)div的上下左右居中,下面以一個(gè)DIV 元素在瀏覽器窗口居中為例2014-10-20css中position:fixed實(shí)現(xiàn)div居中上下左右居中
實(shí)現(xiàn)div居中的方法多如牛毛,本例為大家介紹的這個(gè)方法是使用css中position:fixed來(lái)實(shí)現(xiàn)div上下左右居中,這個(gè)小技巧比較使用,大家看看2014-10-14DIV+CSS中讓布局、背景圖片、文字內(nèi)容居中的方法
這篇文章主要為大家介紹了在DIV+CSS布局的頁(yè)面里,讓布局、背景圖片、文字內(nèi)容居中的方法,從布局內(nèi)容到頁(yè)面里文章文字居中都是非常重要的,而css來(lái)設(shè)置居中也是非常簡(jiǎn)單的2014-10-09IE9下DIV本來(lái)應(yīng)該居中的結(jié)果顯示為居左
在IE9下面本來(lái)應(yīng)該居中的,結(jié)果顯示為居左,在IE9以上的版本中,只需要設(shè)置 margin:0px auto; 就可以使得DIV居中,下面的示例,大家可以參考下2014-09-26- 對(duì)于頁(yè)面上的塊級(jí)元素,只須定寬及設(shè)置margin:auto 0;即可在垂直上居中,但對(duì)于浮動(dòng)的元素垂直居中是無(wú)效的。那么我們?nèi)绾蝸?lái)處理這個(gè)問(wèn)題呢,今天我們來(lái)探討下。2014-09-12

