为什么IE8在我的图像锚标签上添加底部边框?

时间:2009-07-01 16:43:41

标签: css internet-explorer-8

我知道,这很可怜,但今天早上我只是想在我的机器上安装IE8。马上,我遇到了一个明显的问题,尽管我知道答案是正确地盯着我,但我已经把它弄乱了很久。

首先,这是网站:www.mchenry.edu 在IE8中查看它并将鼠标悬停在顶部横幅图片上 - 看到一切向下移动?这是某种类型的文字装饰或边框问题,但我无法弄清楚哪一个。在我们的测试环境中,我甚至尝试使用

进行实际操作
#banner p#img a:hover {text-decoration: none};

但这没有任何作用。更令人烦恼的是,我无法让它出现在IE6,7或FF,Safari,Opera等中。头。反对。台。

感谢您有任何见解。

4 个答案:

答案 0 :(得分:5)

好的,让我们看看。这是开发人员工具派上用场的地方。

使用开发人员工具,我在图像上方盘旋,并激活“点击选择”功能,因为这样可以保持“错误”。我点击了这个小区域,它突出显示了< p id =“img”>,现在的高度为128.

某事正在将p扩展两个像素,并编辑源以删除< a>。消除了问题,很明显,那里的东西令人不安。我没看到什么,似乎无法影响那个小盒子的颜色。

但是,我们可以做更多:我们可以抽出一部分CSS。我一个一个地从Records.css中删除了CSS规则,当a:hover被删除时,问题就消失了。更深入,从那里删除背景颜色,它停止了!

因此,一个简单的解决方法是分配< a> element一个新属性:style =“background-color:transparent”。

请注意,我没有使用任何其他浏览器或版本对此进行测试,但我看不到该规则影响其他浏览器(以不好的方式)。

答案 1 :(得分:0)

试试这个:

#img a:hover {text-decoration: none!important;}

答案 2 :(得分:0)

我刚刚在IE8(版本8.0.6001.18702)下遇到了同样的错误。

我还通过关闭css语句使用IE8 Developer工具跟踪问题,直到找到负责人为止。我验证在a:hover上有背景颜色导致问题并用“透明”覆盖它确实解决了问题。

不幸的是,如果您确实想在链接上悬停背景颜色,那么就没有通用的解决方案 - 您可以做的最好的事情就是为“imagelink”创建一个类,您可以将其应用于围绕img标签的所有锚标签:

<a href="test.html" class="imagelink"><img src="test.gif" alt="test"/></a>

然后你可以使用CSS:

a.imagelink:hover { background-color: transparent; }

这应该解决图像链接的IE8错误,同时允许您将悬停背景颜色保留在其他超链接上。

不是很优雅,但我不想按照Jan的建议使用元标记强制IE8渲染为IE7(有很多东西IE8比IE7好,我不想还原所有的在这一个问题上呈现给IE7。)

我发现令人震惊尽管所有关于IE8的炒作都比旧版本好得多,我们仍然会发现这种性质的错误:导致布局问题的颜色选择 。难以置信的。然而这个线程是在去年7月开始的 - 而且这个bug仍然没有固定,越来越多的开发人员不得不浪费时间来识别问题,并通过解决方法破解他们的代码以解决IE问题。这就像IE6一样。希望欧盟将Windows浏览器选择屏幕强加到新的Windows安装中,这将有助于让人们看到所有正确的网络浏览器。

答案 3 :(得分:-1)

迈克尔对锚标签的背景风格的分析是IE8中触发此错误的原因。但是,不是通过向所有锚标签添加样式属性来解决它,您可以告诉IE8以IE7的方式显示您的页面,方法是将此元标记添加为head标记内的第一个标记:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

或将此行添加到.htaccess:

Header set X-UA-Compatible IE=EmulateIE7

force IE8 into IE7 compatibility mode