Html H1图像替换显示在除ie以外的所有浏览器中?

Html H1图像替换显示在除ie以外的所有浏览器中?,html,css,graphical-logo,image-replacement,Html,Css,Graphical Logo,Image Replacement,我已经设法让我的头在ff、safari和opera中作为链接使用css图像替换 #header h1 { background-image: url(../images/logo.png); background-repeat: no-repeat; text-indent: -9999px; margin-left: 15px; } #header h1 a { display: block; height: 120px; width:

我已经设法让我的头在ff、safari和opera中作为链接使用css图像替换

#header h1 {
    background-image: url(../images/logo.png);
    background-repeat: no-repeat;
    text-indent: -9999px;
    margin-left: 15px;
}
#header h1 a {
    display: block;
    height: 120px;
    width: 400px;
    margin-top: -135px;
}
我正在尝试在IE中优化网站,这是我在周一发布之前的最后一步,但在IE 8或9中根本没有出现徽标,但在IE 7中却出现了,这是非常令人惊讶的。我设法通过使显示内联块在IE9中显示徽标

.ie9 #header h1 {
    background-image: url(../images/logo.png);
    background-repeat: no-repeat;
    text-indent: -9999px;
    margin-left: 15px;
}

.ie9 #header h1 a {
    display: inline-block;
    height: 120px;
    width: 400px;
    margin-top: -135px;
}

当我这样做时,图像不再是链接,有人知道如何修复吗?我会将图像放在HTML中,而不是使用图像替换,但从搜索引擎优化的角度来看,使用图像替换更好。我认为是
页边距顶部:-135px
造成了问题。高度仅为120px,因此它将最终为-15px(高度-边距),因此会消失在H1标记的底部。

您可以在JSFIDLE或您的站点上发布一些内容吗?尝试在IE中避免负边距。如果可能,请使用
位置:相对;顶部:-135px。太棒了,谢谢你,我先尝试了相对位置,但它没有完全按照我想要的方式工作,所以我将它改为绝对位置,现在效果非常好,谢谢:)谢谢:)我使用了位置:绝对位置,顶部:0,左侧:0,现在效果非常好