[英]5px extra margin getting added to the bottom of each div
我正在尝试在css中为页面设计一个简单的标题。 我计划将两个div叠加在一起。 顶部有一个标签,底部是一个简单的单个图像div。 但是在渲染时我看到额外的5px被添加到这两个div的高度。 所以我无法将底部正好放在另一个底部。
自动存在5px的底部保证金。 我尝试了负边距,将全局边距和填充重置为零。 仍然没有用。
继承人的代码。
<div class ="main_nav">
<div class="first_tab">
<img src ="images/startup/tab1_brown.png" height="25" width="90" alt="Temp" />
</div>
<div class = "ind_tab">
<img src ="images/startup/tab1_orange.png" height="25" width="90" alt="Temp"/>
</div>
<div class = "ind_tab">
<img src ="images/startup/tab1_brown.png" height="25" width="90" alt="Temp" />
</div>
</div>
<div class="lock">
<img src ="images/startup/divbg_new.png" alt="Temp" />
</div>
CSS:
*{ margin:0; padding:0; }
ul.master_navigation
{
font-size: 125%;
font-weight: bold;
text-align: center;
list-style: none;
margin: 0.5em 0;
padding: 0;
}
ul.master_navigation li
{
display: inline-block;
padding: 0 1%;
}
a
{
color: #08f;
font-weight: bold;
text-decoration: none;
}
a:visited
{
color: #88f;
}
a:hover
{
color: #f00;
}
p
{
text-align: justify;
}
p.cent
{
text-align: left;
}
div.header
{
height: 200;
}
div.main_nav
{
display: inline-block;
height: 25;
width: 900;
padding: 0;
margin: 0;
vertical-align: bottom;
}
div.first_tab
{
height: 25;
float: left;
}
div.ind_tab
{
height: 25;
float: left;
margin-left: -10px;
z-index: -5;
}
div.lock
{
margin-top: -100;
height: 91;
width: 900;
padding: 0;
margin: -5;
}
身体 {
width:900px;
max-width: 100%;
margin: auto;
padding: 0;
background-image:url(images/startup/bg_2.gif);
background-repeat:repeat-x;
}
.pad
{
padding: 0;
margin: 0;
}
这是该页面的链接
http://net4.ccs.neu.edu/home/pradep/
我花了太多时间在这上面。 请帮忙。
Ege的回答对我来说非常有用。 我花了几个小时来找到div中一些图像底部填充的原因。 这是线高。 在有趣的区域将其设置为0px:
.divclass {
line-height: 0px; /* crucial for bottom padding 0 !!! */
}
我认为你的问题是line-height
。 是的,就是这样。 刚刚在萤火虫上添加了line-height:0
,它们粘在了一起。
关于内联块的事情是它们的行为就像任何内联文本一样,你在下面的导航中也有类似的问题,因为你按下了输入你的代码,它会将它渲染为一个不间断的空间并添加额外的x边距也在右侧和左侧。 这里的X取决于字体大小。
为了解决这个问题,你可以在同一行上关闭和打开标签,如下所示:
<div>
.
.
.
</div><div>
.
.
.
</div>
或者你可以将font-size
和line-height
为0
,但如果你在div中没有其他选择器,这并不总是可行的。
您需要在CSS声明中指定单位。
div.main_nav
{
display: inline-block;
height: 25px; /* set px */
width: 900;
padding: 0;
margin: 0;
vertical-align: bottom;
}
学习如何在Chrome中使用您的开发人员工具,如果您在元素上单击鼠标右键并选择 - >检查它会调出开发工具。 然后,您可以查看“指标”和“计算样式”区域,以查看main_nav呈现为30px而不是25px,并且25 css声明旁边还有一个警告符号,并且它已被明确删除。
尝试在图像上设置vertical-align:bottom
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.