2012-01-23 6 views
1

Я попытался следовать советам в CSS: semi-transparent background, but not text. Я доволен результатами в Firefox, Safari, Opera и Chrome. В этих браузерах я получаю результат, аналогичный приведенному ниже, где вы можете видеть фон в прозрачности под заголовком. Однако у меня проблемы с IE.Прозрачный цвет фона, но не прозрачный текст в IE 6 и 7

Вы должны click here to see the jsfiddle.

Expected Result

В IE8 в порядке, но в IE6/7 нет цветной полосы на всех. Кто-нибудь знает, как это исправить?

+1

Заканчивать подобный вопрос здесь - http://stackoverflow.com/questions/3975688/css-background-opacity-with-rgba-not-working-in-ie-8 –

ответ

1

В div.header:

Снимите:

background-color: #0a5787; 
background: transparent; 

Добавить:

background: none; 
zoom: 1; 

Изменить:

/* For IE 5.5-7 */ 
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#900a5787, endColorstr=#900a5787); 
/* For IE 8 */ 
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#900a5787, endColorstr=#900a5787)"; 

Это работает на IE7, когда я тестирую его, и теоретически я уверен, что он должен работать в IE6, но на моем эмуляторе он не работает.

JSFiddle: http://jsfiddle.net/3jEbC/

+1

Тем временем я попробовал трюк PNG http://jsfiddle.net/xhrAJ/10/, который работает с IE7 и дает полный цвет в IE6. Однако ваше решение PERFECT! Он также работает с IE6, вы потрясающий! Спасибо! – stivlo

+0

ах, наконец, я понимаю, что строка MS, вроде # 900a5787, первые две шестнадцатеричные цифры - прозрачность, а другая 6 - цвет! – stivlo

+0

@stivlo Я считаю, что браузер обращается к API DirectX, поэтому он обратный. Проверьте это сообщение в блоге: [Как использовать RGBA() в IE] (http://kilianvalkhof.com/2010/css-xhtml/how-to-use-rgba-in-ie/) –

Смежные вопросы