【问题标题】:`:hover` and `mouseenter` event failed when no `background-color` is set in IE7`:hover` 和 `mouseenter` 事件在 IE7 中未设置`background-color` 时失败
【发布时间】:2025-12-28 12:10:11
【问题描述】:

相关的样式规则如下:

    .name {
        display: inline-block;
        *display: inline;
        zoom: 1;
        width: 220px;
        text-indent: 24px;
        *margin-left: -24px;
        background: rgba(198, 211, 205, 0.5);   
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#50c6d3cd,endColorstr=#50c6d3cd);
        &:hover {
            background: rgba(150, 171, 165, 0.5);
            filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#5096aba5,endColorstr=#5096aba5);
        }   
    }   

.name 是一个anchor 元素。

当我将鼠标放在.name 上时,:hover 规则仅在光标位于边框上时适用,但当光标进入元素内部时不会发生任何事情。

但是当我为元素设置background-color: red 时,:hover 再次可用。

这里可能有什么问题?

【问题讨论】:

  • 我认为关键字是“透明度”..?另外,我以前从未见过嵌套 CSS :(
  • @pst 对不起。我忘了解释语法,那是因为我使用的是sass
  • (还包括普通生成的 CSS 可能很有用 :-)
  • 这可能有助于确保元素获得“布局”,使用zoom: 1;
  • 我创建了小提琴here 并试图解决这个问题。我已经制作了不带 alpha 的背景,它似乎可以工作。如果您发现一些不一致之处,请分叉这个小提琴。

标签: css internet-explorer hover


【解决方案1】:

也可以使用background-image: url("about:blank");

这应该可以解决问题

【讨论】: