IE CSS Bug:background-color:透明的行为与背景颜色不同:(任何其他颜色)

时间:2010-10-22 13:06:19

标签: css internet-explorer-8 cross-browser

我一直在努力找出为什么这种翻转行为不符合IE8的要求。

转到此处:IE8中的http://baked-beans.tv,您会看到翻转仅适用于缩略图的下半部分。

顺便说一句,这不是<a>标记激活的,而是:hover的{​​{1}}激活。

我无法弄清楚为什么它仅适用于图像下方div的下半部分,而不适用于图像(图像不是z-indexed因此不是问题)

只要我将<div>更改为除透明之外的任何其他内容,它就会100%正常工作。所以这只是让我大吃一惊......为什么是下半部分,而不是上半部分,只有当我将bg-color设置为透明时?一定要喜欢Internet Explorer。

这适用于所有其他浏览器(整个广场充当翻转)

这是CSS:

background-color

5 个答案:

答案 0 :(得分:9)

尝试伪造背景图片或将其设置为blank.gif 而不是使其透明。

background:url(blank.gif);

请参阅http://work.arounds.org/issue/22/positioned-anchor-not-clickable-ie6/

答案 1 :(得分:5)

问题是一段时间(一周?两周?)IE改变了它解释背景颜色的方式。看来你不能说,颜色是透明的,而不是整个背景。因此,您应该将background-color: transparent更改为background: transparent。非常讨厌。

答案 2 :(得分:1)

同样的问题已经见证,将鼠标悬停在透明元素的空白区域不会使与hover相关的css规则生效。通过为元素提供以下样式来解决问题。

background-color: rgba(0, 0, 0, 0.001);

答案 3 :(得分:0)

您也可以尝试将悬停选择器更改为:

 .thumb_container:hover .cat_rollout {...}

以便父包含div是对悬停起反应的元素。

答案 4 :(得分:0)

如果您愿意,可以使用1x1透明gif作为数据库。

background-image:url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==);

根据您的喜好,您可以使用,这是所选答案的替代方案。