當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  編程技術(shù) >  正文

div與div之間有空隙的解決方法

 2020-10-30 14:34  來(lái)源: 腳本之家   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)

今天在制作頁(yè)面的時(shí)候發(fā)現(xiàn)兩個(gè)div之間有空隙導(dǎo)致兩個(gè)本來(lái)應(yīng)該在一起的效果,這里結(jié)合一下解決方法。

當(dāng)你使用HTML div塊與塊的中間不能緊密連接 怎么都解決不了時(shí)

1、可以在中間內(nèi)容里加一個(gè)

* {

margin:0;

padding:0;

}

2、上下div之間有間距的問(wèn)題

我寫(xiě)了4個(gè)div,上下分布,均存在間距,代碼以及效果如下:

.div1{
height:100px;
background-color:blue;
position:relative;
}
.div2 {
height:100px;
background-color:blueviolet;
position:relative;
}
.div3{
height:100px;
background-color:red;
position:relative;
}
.div4{
height:100px;
background-color:yellow;
position:relative;
}

 

 

 

 

 

 

 

 

 

然后,我嘗試在每個(gè)div中加margin:0來(lái)去掉div之間的間距,代碼如下:

.div1{

height:100px;

background-color:blue;

position:relative;

margin: 0;

}

.div2 {

height:100px;

background-color:blueviolet;

position:relative;

margin: 0;

}

.div3{

height:100px;

background-color:red;

position:relative;

margin: 0;

}

.div4{

height:100px;

background-color:yellow;

position:relative;

margin: 0;

}

結(jié)果效果不變,依然有間隙,如下圖:

接下來(lái)我進(jìn)行了百度,找到了一個(gè)方法,設(shè)置font-size,如下代碼以及效果:

body{font-size:0;}

.div1{

height:100px;

background-color:blue;

position:relative;

}

.div2 {

height:100px;

background-color:blueviolet;

position:relative;

}

.div3{

height:100px;

background-color:red;

position:relative;

}

.div4{

height:100px;

background-color:yellow;

position:relative;

}

上面代碼重點(diǎn)添加了body{font-size:0;},其效果如下:

可以看到div上下之間的間隙消除了.然而,最上面和最左面依然有間隙.

對(duì)此,我是這么做的,添加了body{margin:0px;},代碼如下:

body{margin:0px;}

body{font-size:0;}

.div1{

height:100px;

background-color:blue;

position:relative;

}

.div2 {

height:100px;

background-color:blueviolet;

position:relative;

}

.div3{

height:100px;

background-color:red;

position:relative;

}

.div4{

height:100px;

background-color:yellow;

position:relative;

}

效果如下:

可以看到,間距全部消除了.

然而,還存在一個(gè)問(wèn)題,就是由于設(shè)置了font-size:0;.那么會(huì)導(dǎo)致所有的字體消失.

對(duì)此,我是這么解決的:在div中在添加div,重新設(shè)置內(nèi)div的字體大小,比如:font-size:30px;.

完美解決!

3、DIV+CSS clear:both清除產(chǎn)生浮動(dòng)后,會(huì)在div上方產(chǎn)生空隙的問(wèn)題

我們知道有時(shí)使用了css float浮動(dòng)會(huì)產(chǎn)生css浮動(dòng),這個(gè)時(shí)候就需要清理清除浮動(dòng),我們就用clear樣式屬性即可實(shí)現(xiàn)。

但是在使用了clear:both清除產(chǎn)生的浮動(dòng)后,往往會(huì)在這個(gè)應(yīng)用了clear:both的div的上方出現(xiàn)一個(gè)白色空隙。

解決辦法是在這個(gè)div的上方的div加上overflow:hidden;


                   
~漂洋過(guò)海來(lái)看你,

                   

               


               

北京

樣式說(shuō)明:

.cle{clear:both;}
.hid{overflow:hidden;}
.fl{ float:left;}
.fr{ float:right;}

這是這幾天解決clear:both所產(chǎn)生div空隙的辦法。

為什么要在div中使用clear:both?主要是因?yàn)閐iv b中的文字即使在css中設(shè)置了text-align:left; 文字也無(wú)法居左,所以這種情況下使用了clear:both。

幾個(gè)問(wèn)題:

(1)為什么div中文字的text-align:left;無(wú)效?

(2)為什么text-align:left;無(wú)效的情況下,使用clear:both可以解決?

(3)為什么使用clear:both會(huì)產(chǎn)生空隙?

(4)為什么在上方的同級(jí)div中,使用overflow:hidden;會(huì)解決下方出現(xiàn)的空隙問(wèn)題?

以上這些問(wèn)題,以后有機(jī)會(huì)再具體研究一下吧。

總結(jié):

當(dāng)div應(yīng)用clear:both 產(chǎn)生空隙后,需要在其上方的同級(jí)div加上overflow:hidden;,即可消除空隙。

文章轉(zhuǎn)自腳本之家,原文鏈接:https://www.jb51.net/web/716247.html

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
如何消除div之間的空隙
div

相關(guān)文章

熱門(mén)排行

信息推薦