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

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

 2020-10-30 14:34  來源: 腳本之家   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

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

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

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

* {

margin:0;

padding:0;

}

2、上下div之間有間距的問題

我寫了4個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;
}

 

 

 

 

 

 

 

 

 

然后,我嘗試在每個div中加margin:0來去掉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é)果效果不變,依然有間隙,如下圖:

接下來我進行了百度,找到了一個方法,設(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;

}

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

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

對此,我是這么做的,添加了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;

}

效果如下:

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

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

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

完美解決!

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

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

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

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


                   
~漂洋過海來看你,

                   

               


               

北京

樣式說明:

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

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

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

幾個問題:

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

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

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

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

以上這些問題,以后有機會再具體研究一下吧。

總結(jié):

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

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

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

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

相關(guān)文章

熱門排行

信息推薦