Html 仅在Firefox中填充错误

Html 仅在Firefox中填充错误,html,css,padding,Html,Css,Padding,我有一个令人讨厌的填充问题。我正在创建一个菜单,下面是它的html代码,我去掉了所有其他选项卡,只留下一个,以提高可读性: <div id="menu"> <a class="<?php echo $description; ?>" href="<?php echo $path; ?>">Opis</a> </div> 现在问题在于菜单a中的填充: padding: 0px 9px 5px 9px; /*The

我有一个令人讨厌的填充问题。我正在创建一个菜单,下面是它的html代码,我去掉了所有其他选项卡,只留下一个,以提高可读性:

<div id="menu">
    <a class="<?php echo $description; ?>" href="<?php echo $path; ?>">Opis</a>
</div>
现在问题在于菜单a中的填充:

padding: 0px 9px 5px 9px;   /*The padding for tab.*/
在Opera、Chrome、IE7、IE8和IE9中,它工作正常,结果如下:

但在Firefox 4.0.1中,我记得这也是FF 3.6的一个问题,它显示如下:

正如您所看到的,FF无缘无故地将1px放在标记Opis之上,尽管我明确定义了不在顶部添加任何填充。因此,现在在选项卡顶部可以看到1px的强蓝色。

虽然我在Ff 3.6.17到Ff 5.0中看到了这种颜色,但标签之间的空白可能会出现这种情况

解决方法包括以下任何一种可能有用的方法

删除空白

设置菜单{font size:0px;行高:0;}并将这些属性重置为链接菜单a{font size:12px;行高:12px;}所需的属性

使用菜单a{float:left;}浮动菜单内的链接

虽然在Ff 3.6.17到Ff 5.0中,这对我来说是很重要的,但这可能是由于标签之间的空白造成的

解决方法包括以下任何一种可能有用的方法

删除空白

设置菜单{font size:0px;行高:0;}并将这些属性重置为链接菜单a{font size:12px;行高:12px;}所需的属性

使用菜单a{float:left;}浮动菜单内的链接

有时,只有在调整JSFIDLE iframe[??]的大小时,才会出现间隙,在我的Firefox 4中是这样的:

所以,有一个缺口,但它看起来不像你的截图

我通过在菜单a中添加float:left,修正了“永不出现”的间隔。我还替换了你的线路:

padding: 0 0 20px 0;    /*Here set the size for tabs.*/
使用overflow:hidden,清除浮动,这样就不必手动指定填充。如果愿意,可以恢复此修复

完整代码:

如果您出于某种原因不想使用浮动,那么display:inline块也可以代替float:left。有时,只有在我调整JSFIDLE iframe[??]的大小时,才会出现间隙,在我的Firefox 4中看起来是这样的:

所以,有一个缺口,但它看起来不像你的截图

我通过在菜单a中添加float:left,修正了“永不出现”的间隔。我还替换了你的线路:

padding: 0 0 20px 0;    /*Here set the size for tabs.*/
使用overflow:hidden,清除浮动,这样就不必手动指定填充。如果愿意,可以恢复此修复

完整代码:


display:inline block也可以代替float:left,如果你出于某种原因不想使用float。

让你知道,在Firefox 4.0.1/Windows 7上测试你的演示,如果我调整结果iframe的大小,差距就会出现在我回答中的屏幕截图中。你发布的链接,我看了一下,我有这个差距,就像我的例子一样。也许你忽略了它,因为它只有1倍的高度。试过你的建议,1。这个解决方案在我发布到这里之前我已经考虑过了,并且也试过了,但不起作用,所以空格不是问题所在。2.解决方案中,设置字体大小:17px,行高:19px。现在这个解决方案的问题是,在IE7,IE8,IE9中,标签现在超过1px,所以没有更多的差距,但现在更大了。在下一篇文章中继续:这个解决方案确实修复了FF,但现在破坏了IE.3。解决方案就是我一直在寻找的,它适用于所有浏览器,在添加float:left之后,我只需将菜单中的padding增加到padding:0 30px 0,因为出于某种原因,它缩短了它。谢谢你的帮助。我想让你知道,在Firefox 4.0.1/Windows 7上测试你的演示时,如果我调整结果iframe的大小,差距就会出现在我回答中的屏幕截图中。在你发布的链接中,我看了一下,我有了这个差距,就像在我的示例中一样。也许你忽略了它,因为它只有1倍的高度。试过你的建议,1。这个解决方案在我发布到这里之前我已经考虑过了,并且也试过了,但不起作用,所以空格不是问题所在。2.解决方案中,设置字体大小:17px,行高:19px。现在这个解决方案的问题是,在IE7,IE8,IE9中,标签现在超过1px,所以没有更多的差距,但现在更大了。在下一篇文章中继续:这个解决方案确实修复了FF,但现在破坏了IE.3。解决方案就是我一直在寻找的,它适用于所有浏览器,在添加float:left之后,我只需将菜单中的padding增加到padding:0 30px 0,因为出于某种原因,它缩短了它。谢谢你的帮助。谢谢,是的,我用了然后浮动:从第一个安斯威尔离开,就像你建议的那样。关于填充,我需要自定义高度,因为我想要蓝色的底部。看这里我的意思是:谢谢,是的,我用了然后浮动:从第一件安斯威尔的左边,就像你建议的那样。关于填充,我需要自定义高度,因为我想要蓝色的底部。看看我的意思:解决方案:不要使用Firefox解决方案:不要使用Firefox:P