Html <;之间的1px间距;a>;firefox中的标签
我使用了Html <;之间的1px间距;a>;firefox中的标签,html,css,spacing,Html,Css,Spacing,我使用了字体大小:0,这就是为什么我得到的链接没有空格,但在Firefox中仍然有空格 请在Firefox和其他浏览器中进行测试,您将看到Firefox在链接之间显示了一个空格(尽管是1px),而其他浏览器没有这样做。。。嗯,IE6和IE7,但我们不要谈论它们 有人知道为什么吗?我如何在不使用javascript确定浏览器的情况下着手解决它呢?也许你的意思是: letter-spacing: 0 这会导致你的“错误” 编辑: 如果希望字母间距为1px,这是一个很好的解决方案 只是补充: d
字体大小:0父元素上的code>,这就是为什么我得到的链接没有空格,但在Firefox中仍然有空格
请在Firefox和其他浏览器中进行测试,您将看到Firefox在链接之间显示了一个空格(尽管是1px),而其他浏览器没有这样做。。。嗯,IE6和IE7,但我们不要谈论它们
有人知道为什么吗?我如何在不使用javascript确定浏览器的情况下着手解决它呢?也许你的意思是:
letter-spacing: 0
这会导致你的“错误”
编辑:
如果希望字母间距为1px,这是一个很好的解决方案
只是补充:
display:inline block
到Div
容器css和float:left
到a
元素。只需像这样从代码中删除空白即可
HTML:
这很愚蠢,我无法真正解释发生这种情况的“原因”,但这里有两种方法来纠正显示
FF不喜欢代码中的空格。在
发生这种情况的原因是,在a标记之间有一个文本节点,其中有一个换行符。由于您设置了字母间距:1px
而firefox的编码人员已经选择按他们的方式实现字母间距,在textnode之后或之前,您可以获得1倍的字母间距
正如其他地方已经暗示的那样,解决方案是将div#navigation
的规则更改为不包含行字母间距:1px
,如下所示:
<div id="navigation">
<a href="#">Link1</a><!--
--><a href="#">Link2</a><!--
--><a href="#">Link3</a><!--
--><a href="#">Link4</a>
</div>
div#navigation {
position: relative;
padding: 1px 0;
border-top: 1px solid black;
border-bottom: 1px solid black;
font-family: Georgia, Serif;
margin: 0 auto 2px auto;
width: 400px;
font-size: 0;
text-shadow: 0 1px #fff;
}
您可以在此处看到应用了修复程序的工作版本:阅读本文。您将在其正文和注释中找到所有可用的技术,以及它们的权衡
首先提到“删除空格”选项,因为它是最容易实现的。但它也“有点时髦”
注释中列出了“基于字母间距”选项,但请注意,如果您想让IE<8满意,则必须添加额外的css。为什么要投否决票?我不知道为什么我愚蠢到在这里否决多个答案,但这是正确的解决方案。-1因为这不是一个真正的解决方案。您让布局由源代码决定,这是您永远不应该做的。正确的解决方案是删除导致问题的规则字母间距:1px
。这绝对是一个解决方案,因为OP的问题是由空白引起的,注释或删除都可以解决。问题不是源代码,而是应用的样式。更改源代码是一个解决方案,就像服用止痛药是解决反复撞墙引起的头痛一样。但真正的解决办法是停止用头撞墙。可能的复制品我知道前几天我读到了一些关于这方面的东西。好链接。
div#navigation {
position: relative;
padding: 1px 0;
border-top: 1px solid black;
border-bottom: 1px solid black;
font-family: Georgia, Serif;
margin: 0 auto 2px auto;
width: 400px;
font-size: 0;
text-shadow: 0 1px #fff;
}