Цвет "прозрачный" не работает

У меня проблема с IE (что еще?):

я генерирую контент с CSS, который также имеет фоновое изображение. Я так выгляжу:

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

цвет текста в не-IE-браузерах прозрачный, но во всех браузерах IE (IE6-IE8) он черный, и вы можете его видеть. Как сделать текст прозрачным / невидимым?

Я уже пробовал: видимость-непрозрачность-фильтр-текст-отступ ... Но никто не сделал свою работу правильно, либо она исчезает (с ней фон что мне нужно) или атрибут не применяется.

10 ответов


если то, что вы пытаетесь сделать, это показать изображение в качестве фона и не показывает текст использовать

font-size:0px

это работает!


Как насчет использования line-height

line-height:0;

это сработало в моем случае.


Я понимаю: с правильным заполнением и нулевым размером шрифта! Установите значение заполнения слева на один пиксель за пределами ширины изображения.


Если это не работает в Internet Explorer 8

font-size: 0;

убедитесь, что вы используете допустимый doctype:

<!DOCTYPE html>

Это должно работать. Если он не добавляет display: block или inline-block

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

Я думаю, что нет версий поддержки IE color: transparent Возможно, вы могли бы попробовать сделать это с помощью jQuery или что-то подобное.


Я предполагаю, что вы уже исправили это, но в последнее время я использовал очень большую высоту строки, когда текстовый отступ дает мне проблемы с макетом в сочетании с переполнением: скрытый, чтобы скрыть текст.


IE не поддерживает li:after последовательно. О каком IE вы говорите? ИЕ6? ИЕ7? Как?


для меня цвет:прозрачный не работает в IE8, и он показывал текст с цветом по умолчанию. Я использовал visibility: hidden; для IE8 только как текст не требовался для отображения.

надеюсь, что это поможет в случае, если элемент не требуется для отображения.


Я вижу, что вы используете PNG в качестве фонового изображения. Обычно, если вы используете IE 6, есть исправление для прозрачности PNG (http://www.twinhelix.com/css/iepngfix/). Тем не менее, это не будет работать с фоновыми изображениями. Поэтому, если вы используете IE 6, на самом деле нет исправления.