Html 链接样式为按钮,高度不一致

Html 链接样式为按钮,高度不一致,html,css,firefox,button,hyperlink,Html,Css,Firefox,Button,Hyperlink,我有一个样式化的按钮和一个样式化的链接(以匹配按钮的样式)。我正在Chrome13、Firefox6和IE9中测试它。按钮和链接在所有三种浏览器中看起来都一样,除了在Firefox中,链接的高度更短 我无法在链接上应用高度,因为它不是块级元素。如果我将其设置为块级元素,我必须浮动这两个元素以使它们彼此对齐。此外,在所有三个浏览器中,高度都会关闭。我考虑过绝对定位,但是我没有找到一种方法让它们彼此靠近,除非我硬编码它们的位置 除了使用条件语句外,还有什么方法可以使按钮和链接的高度在三种浏览器中都匹

我有一个样式化的按钮和一个样式化的链接(以匹配按钮的样式)。我正在Chrome13、Firefox6和IE9中测试它。按钮和链接在所有三种浏览器中看起来都一样,除了在Firefox中,链接的高度更短

我无法在链接上应用高度,因为它不是块级元素。如果我将其设置为块级元素,我必须浮动这两个元素以使它们彼此对齐。此外,在所有三个浏览器中,高度都会关闭。我考虑过绝对定位,但是我没有找到一种方法让它们彼此靠近,除非我硬编码它们的位置

除了使用条件语句外,还有什么方法可以使按钮和链接的高度在三种浏览器中都匹配吗?也许是一个我不知道的黑客,或者我错过了什么

更新:

@韦斯利,谢谢你给我指明了方向。我发现Firefox在其按钮中添加了以下内容,这解释了为什么您的代码会这样做:

button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
    padding: 0px 2px 0px 2px;
    border: 1px dotted transparent;
    }
结果非常接近完美,但在Firefox 6中,它仍然以1px的速度关闭。我可能会对此进行更多的研究,如果我找到了修复方法,我会发布另一个更新,但即使只关闭了1px,它仍然比以前好得多

更新2:

我找到的修复方法是在按钮上指定高度:

.db .menu input,
.db .menu a {
    background-color: #01137F;
    border: 1px solid #fff;
    border-radius: 5px;
    box-shadow: 2px 2px 3px #666;
    color: #fff;
    cursor: pointer;
    font-family: Arial, sans-serif;
    font-size: 14px;
    height: 26px;
    padding: 4px 10px;
    }

在我提到的所有三种浏览器中,添加高度会使按钮的像素完全相同。

Firefox似乎对
按钮有特殊的需求。尝试以下仅限mozilla的CSS:

.menu input::-moz-focus-inner {
    padding:0;
    border:0;
}
我记得一个星期前我一直在坚持这一点,css-IRC的某个人向我展示了这个技巧,它似乎使填充正常化了


演示:(在FF3、4和5中进行了测试,希望在6中也能正常工作)

感谢您为我指明了正确的方向。除了你的代码之外,给按钮添加一个固定的高度,解决了这个问题。这是一个相当模糊的属性,如果没有IRC的帮助,我永远不会发现它。