为什么这些 div 之间有垂直间隙?
Why is there a vertical gap between these divs?
出于某种原因,在 Chrome 上,我在 "top" 和 "bod" 之间有一条 "lime" 彩色 1px
线。当我删除 overflow
css 指令时,该行消失了。
我只能在 Chrome 中看到 "lime" 行,而在 Firefox 中看不到。
代码如下:https://jsfiddle.net/m36yk1o9/5/
#chatApplicationClassic {
padding: 0;
margin: 0;
border: 0;
position: fixed;
bottom: 0px;
right: 30px;
width: 300px;
background-color: lime;
box-sizing: border-box;
border-radius: 5px 5px 0 0;
box-shadow: 0px 0px 5px #000000;
}
#chatHeaderClassic {
padding: 0;
margin: 0;
border: 0;
width: 100%;
background-color: pink;
cursor: pointer;
border-radius: 5px 5px 0 0;
border-top: 0px solid red;
border-left: 0px solid red;
border-right: 0px solid red;
border-bottom: 0px solid red;
box-sizing: border-box;
}
#chatHeaderTextClassic {
padding: 0;
margin: 0;
border: 0;
color: #ffff33;
font-family: 'Open Sans', sans-serif;
padding: 6px;
font-size: 18px;
font-weight: 100;
display: inline-block;
border-radius: 5px 5px 0 0;
}
#chatHeaderArrowClassic {
padding: 0;
margin: 0;
border: 0;
color: #9900ff;
display: inline-block;
float: right;
padding: 6px;
font-size: 18px;
}
#chatBodyClassic {
padding: 0;
margin: 0;
border: 0;
background-color: white;
border-left: 5px solid pink;
border-right: 5px solid pink;
height: 200px;
width: 100%;
box-sizing: border-box;
padding-top: 10px;
overflow: scroll;
}
.chatAgentBubbleClassic {
padding: 0;
margin: 0;
border: 0;
background-color: #664eff;
margin-right: 40px;
margin-top: 10px;
box-sizing: border-box;
border-radius: 4px;
}
.chatVisitorBubbleClassic {
padding: 0;
margin: 0;
border: 0;
background-color: #6600ff;
margin-left: 40px;
margin-top: 10px;
box-sizing: border-box;
border-radius: 4px;
}
.chatAgentBubbleTextClassic {
font-size: 12px;
padding: 8px;
font-family: sans-serif;
color: lightblue;
}
.chatVisitorBubbleTextClassic {
font-size: 12px;
padding: 6px;
font-family: sans-serif;
color: skyblue;
}
<div id="chatApplicationClassic">
<div id="chatHeaderClassic">
<div id="chatHeaderArrowClassic">
Arr
</div>
<div id="chatHeaderTextClassic">
Top
</div>
</div>
<div id="chatBodyClassic">
bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br />
</div>
<!--
<div id="chatFooterClassic">
<div id="chatInputContainerClassic">
<input placeholder="type here..." id="chatInputClassic" type="text" />
</div>
<div id="chatSendButton">
<div id="chatSendButtonText">Send</div>
</div>
</div>-->
</div>
将内边距从 6px 更改为 5px:
#chatHeaderArrowClassic {
padding:0;
margin:0;
border:0;
color:#9900ff;
display:inline-block;
float:right;
padding:5px;
font-size:18px;
}
嗨,
看起来父元素的背景色为青柠色,如果您隐藏#chatHeaderClassic 背景色,它会显示 through.Proof:
#chatApplicationClassic {
padding: 0;
margin: 0;
border: 0;
position: fixed;
bottom: 0px;
right: 30px;
width: 300px;
background-color: lime;
box-sizing: border-box;
border-radius: 5px 5px 0 0;
box-shadow: 0px 0px 5px #000000;
}
所以只需将上面的代码更改为:
#chatApplicationClassic {
padding: 0;
margin: 0;
border: 0;
position: fixed;
bottom: 0px;
right: 30px;
width: 300px;
background-color: pink;
box-sizing: border-box;
border-radius: 5px 5px 0 0;
box-shadow: 0px 0px 5px #000000;
}
希望这对您有所帮助。
此致
可能来自 header 中的两个 child 元素。 padding
使其中一个盒子比容器高,在那里设置 float
会导致溢出,因为你没有在那里设置任何 clearfix。
但由于您在 "Top" 上设置了 float:right
,只需在 "Arr" 上设置 float:left
,并通过在容器上添加 overflow:hidden
来清除浮动.那条细石灰线将被删除。
#chatApplicationClassic {
padding: 0;
margin: 0;
border: 0;
position: fixed;
bottom: 0px;
right: 30px;
width: 300px;
background-color: lime;
box-sizing: border-box;
border-radius: 5px 5px 0 0;
box-shadow: 0px 0px 5px #000000;
}
#chatHeaderClassic {
padding: 0;
margin: 0;
border: 0;
width: 100%;
background-color: pink;
cursor: pointer;
border-radius: 5px 5px 0 0;
border-top: 0px solid red;
border-left: 0px solid red;
border-right: 0px solid red;
border-bottom: 0px solid red;
box-sizing: border-box;
overflow: hidden; /*added*/
}
#chatHeaderTextClassic {
padding: 0;
margin: 0;
border: 0;
color: #ffff33;
font-family: 'Open Sans', sans-serif;
padding: 6px;
font-size: 18px;
font-weight: 100;
/* display: inline-block; */
border-radius: 5px 5px 0 0;
float: left; /*added*/
}
#chatHeaderArrowClassic {
padding: 0;
margin: 0;
border: 0;
color: #9900ff;
/* display: inline-block; */
float: right;
padding: 6px;
font-size: 18px;
}
#chatBodyClassic {
padding: 0;
margin: 0;
border: 0;
background-color: white;
border-left: 5px solid pink;
border-right: 5px solid pink;
height: 200px;
width: 100%;
box-sizing: border-box;
padding-top: 10px;
overflow: scroll;
}
.chatAgentBubbleClassic {
padding: 0;
margin: 0;
border: 0;
background-color: #664eff;
margin-right: 40px;
margin-top: 10px;
box-sizing: border-box;
border-radius: 4px;
}
.chatVisitorBubbleClassic {
padding: 0;
margin: 0;
border: 0;
background-color: #6600ff;
margin-left: 40px;
margin-top: 10px;
box-sizing: border-box;
border-radius: 4px;
}
.chatAgentBubbleTextClassic {
font-size: 12px;
padding: 8px;
font-family: sans-serif;
color: lightblue;
}
.chatVisitorBubbleTextClassic {
font-size: 12px;
padding: 6px;
font-family: sans-serif;
color: skyblue;
}
<div id="chatApplicationClassic">
<div id="chatHeaderClassic">
<div id="chatHeaderArrowClassic">
Arr
</div>
<div id="chatHeaderTextClassic">
Top
</div>
</div>
<div id="chatBodyClassic">
bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br />
</div>
<!--
<div id="chatFooterClassic">
<div id="chatInputContainerClassic">
<input placeholder="type here..." id="chatInputClassic" type="text" />
</div>
<div id="chatSendButton">
<div id="chatSendButtonText">Send</div>
</div>
</div>-->
</div>
出于某种原因,在 Chrome 上,我在 "top" 和 "bod" 之间有一条 "lime" 彩色 1px
线。当我删除 overflow
css 指令时,该行消失了。
我只能在 Chrome 中看到 "lime" 行,而在 Firefox 中看不到。
代码如下:https://jsfiddle.net/m36yk1o9/5/
#chatApplicationClassic {
padding: 0;
margin: 0;
border: 0;
position: fixed;
bottom: 0px;
right: 30px;
width: 300px;
background-color: lime;
box-sizing: border-box;
border-radius: 5px 5px 0 0;
box-shadow: 0px 0px 5px #000000;
}
#chatHeaderClassic {
padding: 0;
margin: 0;
border: 0;
width: 100%;
background-color: pink;
cursor: pointer;
border-radius: 5px 5px 0 0;
border-top: 0px solid red;
border-left: 0px solid red;
border-right: 0px solid red;
border-bottom: 0px solid red;
box-sizing: border-box;
}
#chatHeaderTextClassic {
padding: 0;
margin: 0;
border: 0;
color: #ffff33;
font-family: 'Open Sans', sans-serif;
padding: 6px;
font-size: 18px;
font-weight: 100;
display: inline-block;
border-radius: 5px 5px 0 0;
}
#chatHeaderArrowClassic {
padding: 0;
margin: 0;
border: 0;
color: #9900ff;
display: inline-block;
float: right;
padding: 6px;
font-size: 18px;
}
#chatBodyClassic {
padding: 0;
margin: 0;
border: 0;
background-color: white;
border-left: 5px solid pink;
border-right: 5px solid pink;
height: 200px;
width: 100%;
box-sizing: border-box;
padding-top: 10px;
overflow: scroll;
}
.chatAgentBubbleClassic {
padding: 0;
margin: 0;
border: 0;
background-color: #664eff;
margin-right: 40px;
margin-top: 10px;
box-sizing: border-box;
border-radius: 4px;
}
.chatVisitorBubbleClassic {
padding: 0;
margin: 0;
border: 0;
background-color: #6600ff;
margin-left: 40px;
margin-top: 10px;
box-sizing: border-box;
border-radius: 4px;
}
.chatAgentBubbleTextClassic {
font-size: 12px;
padding: 8px;
font-family: sans-serif;
color: lightblue;
}
.chatVisitorBubbleTextClassic {
font-size: 12px;
padding: 6px;
font-family: sans-serif;
color: skyblue;
}
<div id="chatApplicationClassic">
<div id="chatHeaderClassic">
<div id="chatHeaderArrowClassic">
Arr
</div>
<div id="chatHeaderTextClassic">
Top
</div>
</div>
<div id="chatBodyClassic">
bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br />
</div>
<!--
<div id="chatFooterClassic">
<div id="chatInputContainerClassic">
<input placeholder="type here..." id="chatInputClassic" type="text" />
</div>
<div id="chatSendButton">
<div id="chatSendButtonText">Send</div>
</div>
</div>-->
</div>
将内边距从 6px 更改为 5px:
#chatHeaderArrowClassic {
padding:0;
margin:0;
border:0;
color:#9900ff;
display:inline-block;
float:right;
padding:5px;
font-size:18px;
}
嗨,
看起来父元素的背景色为青柠色,如果您隐藏#chatHeaderClassic 背景色,它会显示 through.Proof:
#chatApplicationClassic {
padding: 0;
margin: 0;
border: 0;
position: fixed;
bottom: 0px;
right: 30px;
width: 300px;
background-color: lime;
box-sizing: border-box;
border-radius: 5px 5px 0 0;
box-shadow: 0px 0px 5px #000000;
}
所以只需将上面的代码更改为:
#chatApplicationClassic {
padding: 0;
margin: 0;
border: 0;
position: fixed;
bottom: 0px;
right: 30px;
width: 300px;
background-color: pink;
box-sizing: border-box;
border-radius: 5px 5px 0 0;
box-shadow: 0px 0px 5px #000000;
}
希望这对您有所帮助。 此致
可能来自 header 中的两个 child 元素。 padding
使其中一个盒子比容器高,在那里设置 float
会导致溢出,因为你没有在那里设置任何 clearfix。
但由于您在 "Top" 上设置了 float:right
,只需在 "Arr" 上设置 float:left
,并通过在容器上添加 overflow:hidden
来清除浮动.那条细石灰线将被删除。
#chatApplicationClassic {
padding: 0;
margin: 0;
border: 0;
position: fixed;
bottom: 0px;
right: 30px;
width: 300px;
background-color: lime;
box-sizing: border-box;
border-radius: 5px 5px 0 0;
box-shadow: 0px 0px 5px #000000;
}
#chatHeaderClassic {
padding: 0;
margin: 0;
border: 0;
width: 100%;
background-color: pink;
cursor: pointer;
border-radius: 5px 5px 0 0;
border-top: 0px solid red;
border-left: 0px solid red;
border-right: 0px solid red;
border-bottom: 0px solid red;
box-sizing: border-box;
overflow: hidden; /*added*/
}
#chatHeaderTextClassic {
padding: 0;
margin: 0;
border: 0;
color: #ffff33;
font-family: 'Open Sans', sans-serif;
padding: 6px;
font-size: 18px;
font-weight: 100;
/* display: inline-block; */
border-radius: 5px 5px 0 0;
float: left; /*added*/
}
#chatHeaderArrowClassic {
padding: 0;
margin: 0;
border: 0;
color: #9900ff;
/* display: inline-block; */
float: right;
padding: 6px;
font-size: 18px;
}
#chatBodyClassic {
padding: 0;
margin: 0;
border: 0;
background-color: white;
border-left: 5px solid pink;
border-right: 5px solid pink;
height: 200px;
width: 100%;
box-sizing: border-box;
padding-top: 10px;
overflow: scroll;
}
.chatAgentBubbleClassic {
padding: 0;
margin: 0;
border: 0;
background-color: #664eff;
margin-right: 40px;
margin-top: 10px;
box-sizing: border-box;
border-radius: 4px;
}
.chatVisitorBubbleClassic {
padding: 0;
margin: 0;
border: 0;
background-color: #6600ff;
margin-left: 40px;
margin-top: 10px;
box-sizing: border-box;
border-radius: 4px;
}
.chatAgentBubbleTextClassic {
font-size: 12px;
padding: 8px;
font-family: sans-serif;
color: lightblue;
}
.chatVisitorBubbleTextClassic {
font-size: 12px;
padding: 6px;
font-family: sans-serif;
color: skyblue;
}
<div id="chatApplicationClassic">
<div id="chatHeaderClassic">
<div id="chatHeaderArrowClassic">
Arr
</div>
<div id="chatHeaderTextClassic">
Top
</div>
</div>
<div id="chatBodyClassic">
bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br /> bod
<br />
</div>
<!--
<div id="chatFooterClassic">
<div id="chatInputContainerClassic">
<input placeholder="type here..." id="chatInputClassic" type="text" />
</div>
<div id="chatSendButton">
<div id="chatSendButtonText">Send</div>
</div>
</div>-->
</div>