css hover在IE中打破页面布局为什么?

时间:2009-12-15 13:11:56

标签: css internet-explorer layout hover

我在页面上的某些图片链接上使用CSS样式悬停。

当用户将鼠标悬停在图像上时,它的背景位置会发生变化,从而提供高光效果。

当我将鼠标悬停在图像上时,我的页面会被40px推下来。

为什么会这样?

4 个答案:

答案 0 :(得分:1)

IE6是一只狗。尝试:

a{zoom:1}

答案 1 :(得分:0)

您使用的是哪个版本的IE?你应该在这里提供示例代码。但是,您可以尝试将以下脏css技巧添加到悬停在其上的图像。

<style type="text/css">
  img:hover
  {
      _margin-top:-40px;
  }
</style>

以上样式仅针对IE,其他浏览器将忽略它。

答案 2 :(得分:0)

在Internet Explorer中使用悬停可能会导致奇怪的样式问题。

您可以使用条件注释来避免浏览器问题。

Stackoverflow Question regarding browser characteristics

Stackoverflow Question regarding why Conditional Comments always will be needed

编辑:

Internet Explorer 6仅支持“a”元素上的CSS“:hover”属性

重新编辑:

仅供参考文件......如果您真的想要或必须使用“悬停”。

试试这个例子: Hover in Internet Explorer 6

但这是一个非常粗略的解决方案。

答案 3 :(得分:0)

ole'Box模型snafu! IE6提供了与W3C不同的盒子模型。 IE6 Box的宽度(希望我说得对)是一个总数,包括填充和边框。 W3C盒子模型是宽度声明的周期。边距,填充和边框是对象宽度的补充。

不同盒子模型如何工作的例子:
http://css.maxdesign.com.au/listamatic/about-boxmodel.htm http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug