颜色“透明”不起作用

时间:2010-05-07 16:45:24

标签: css internet-explorer css-content

我的IE有问题(还有什么?):

我使用CSS生成内容,同时还有背景图像。 我看起来像那样:

#nav ul li:after {
    content: "--";
    position: relative;
    z-index: 99;
    background: transparent url(image.png);
    color: transparent;
}

文本颜色在非IE浏览器中是透明的,但在所有IE浏览器(IE6-IE8)中它都是黑色的,你可以看到它。 我怎样才能使文本透明/不可见?

我已经尝试过:可见性 - 不透明度 - 过滤器 - 文本缩进... 但是没有一个人能够正确地完成他的工作,要么它消失了(带有我需要的背景),要么属性不适用。

10 个答案:

答案 0 :(得分:42)

如果您要执行的操作是将图像显示为背景而不显示文本

font-size:0px

它有效!

答案 1 :(得分:7)

使用line-height

怎么样?

line-height:0;

它适用于我的情况。

答案 2 :(得分:5)

我明白了:使用正确的填充和零字体大小!将padding-left值设置为超出图像宽度的一个像素。

答案 3 :(得分:4)

如果这在Internet Explorer 8中不起作用

font-size: 0;

确保您使用的是有效的doctype:

<!DOCTYPE html>

答案 4 :(得分:2)

这应该有效。如果它没有添加display:block或inline-block

.transparent {
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
}

答案 5 :(得分:1)

我认为IE的任何版本都不支持color: transparent 也许你可以尝试使用jQuery或类似的东西。

答案 6 :(得分:1)

我假设你已经解决了这个问题,但是最近我使用了一个非常大的行高,当text-indent给我布局问题时,结合overflow:hidden来隐藏文本。

答案 7 :(得分:0)

IE不一致地支持li:after。您在谈论哪个IE? IE6? IE7?既?

答案 8 :(得分:0)

对我来说颜色:透明在IE8中不起作用,它显示的是默认颜色的文本。我使用了可见性:隐藏;仅适用于IE8,因为不需要显示文本。

如果不需要显示该元素,请希望这有用。

答案 9 :(得分:-1)

我看到你正在使用PNG作为背景图片。通常情况下,如果您使用的是IE 6,则可以修复PNG透明度(http://www.twinhelix.com/css/iepngfix/)。即便如此,这也不适用于背景图像。因此,如果您使用的是IE 6,那么确实没有解决方法。