18

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

我用 CSS 生成内容,它也有一个背景图像。我看起来像这样:

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

文本颜色在非 IE 浏览器中是透明的,但在所有 IE 浏览器 (IE6-IE8) 中它是黑色的,您可以看到它。如何使文本透明/不可见?

我已经尝试过:可见性 - 不透明度 - 过滤器 - 文本缩进......但他的工作没有做对,要么它消失(我需要它的背景),要么属性不适用。

4

10 回答 10

42

if what you're trying to do is show the image as background and not showing the text use

font-size:0px

it works!

于 2011-10-20T00:30:38.907 回答
7

使用 line-height 怎么样

line-height:0;

它适用于我的情况。

于 2010-12-08T07:25:39.343 回答
5

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

于 2010-05-07T17:46:34.907 回答
4

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

font-size: 0;

确保您使用的是有效的文档类型:

<!DOCTYPE html>
于 2013-05-15T16:39:12.750 回答
2

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

.transparent {
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
}
于 2013-11-28T20:29:04.370 回答
1

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

于 2010-12-08T00:13:09.043 回答
1

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

于 2010-05-07T16:59:20.940 回答
0

li:afterIE始终不支持。你说的是哪个IE?IE6?IE7?两个都?

于 2010-05-07T16:49:01.033 回答
0

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

如果不需要显示元素,希望这有助于万一。

于 2015-09-08T06:00:32.870 回答
-1

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

于 2010-05-07T16:53:05.337 回答