2012-04-24 4 views
2

Я установил непрозрачность для наложения, который отлично работает в FF, Chrome, Safari и IE9, но не в IE8. Я googled много, но не нашел никакого решения.непрозрачность в IE8 не работает

мой CSS код

#overlayEffectDiv { 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; 
    width: 100%; 
    height: 100%; 
    filter: alpha(opacity = 50); 
    -moz-opacity: 0.5; 
    -khtml-opacity: 0.5; 
    opacity: 0.50; 
    background: #000; 
    position: absolute; 
    top: 0; 
    left: 0; 
    z-index: 3000; 
    /* hide it by default */ 
    display: none; 
} 

В FF это выглядит, как показано ниже:

enter image description here

но в IE8 это выглядит, как показано ниже:

enter image description here

+1

Вы читали это ** http: //stackoverflow.com/questions/1948176/opacity-css-not-working-in-ie8 ?? ** –

+0

Используйте 'filter' вместо' -ms-filter'. Последний может использоваться только в IE9 и выше. –

+0

@MrLister не должен «фильтровать» работу только в IE7 (и старше)? –

ответ

2

Найдено решений here. Непрозрачность не была проблемой, я сделал некоторую отладку и обнаружил, что она отлично работает для ie8, проблема заключалась в jQuery fadeIn и fadeOut. jQuery fadeIn заставлял полупрозрачный фон становиться твердым.

Спасибо всем, кто помог.

0

Возможно, вы также определили zoom. написать так:

#overlayEffectDiv { 
    width: 100%; 
    height: 100%; 
    filter: alpha(opacity = 50); 
    opacity: 0.50; 
    *zoom:1; 
    background: #000; 
    position: absolute; 
    top: 0; 
    left: 0; 
    z-index: 3000; 
    display: none; 
} 
0

Если проблема возникает какой-то эффект анимации с участием слоя, можно избежать использования filter вообще в IE и использовать вместо этого в качестве неоднократного фона небольшого (не слишком мало, как 2х2, использование например 100x100) прозрачный png файл с черным цветом фона и непрозрачностью ~ 80%

+0

Можете ли вы поместить меня на демонстрационную страницу, используя это? –

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