Непрозрачность CSS не работает в IE8

Лучшее и работающее решение с образцом Pure-Javascript Live demo: https://jsfiddle.net/manoj2010/ygkpa89o/


 

143
задан Marcus Downing 18 October 2010 в 12:37
поделиться

3 ответа

Не знаю, относится ли это все еще к 8, но исторически IE не применяет несколько стилей к элементам, которые не "имеют макета".

см: http://www.satzansatz.de/cssd/onhavinglayout.html

65
ответ дан 23 November 2019 в 22:58
поделиться

Установка этих (в точности как я писал) послужила мне, когда я нуждался в этом:

-moz-opacity: 0.70;
opacity:.70;
filter: alpha(opacity=70);
158
ответ дан 23 November 2019 в 22:58
поделиться

Вам нужно сначала установить непрозрачность для браузеров, совместимых со стандартами, а затем для различных версий IE. См. Пример:

, но этот код непрозрачности не работает в ie8

.slidedownTrigger
{
    cursor: pointer;
    opacity: .75; /* Standards Compliant Browsers */
    filter: alpha(opacity=75); /* IE 7 and Earlier */
    /* Next 2 lines IE8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75);
}

Обратите внимание, что я исключил -moz, поскольку Firefox является браузером, совместимым со стандартами, и эта строка больше не нужна. Кроме того, опция -khtml устарела, поэтому я исключил этот стиль.

Кроме того, фильтры IE не будут проверяться на соответствие стандартам w3c, поэтому, если вы хотите, чтобы ваша страница проходила проверку, отделите таблицу стилей стандартов от таблицы стилей IE с помощью оператора if IE, как показано ниже:

<!--[if IE]>
<link rel="stylesheet" type="text/css"  href="http://www.mysite.com/css/ie.css" />
<![endif]-->

Если вы разделяете причуды ie, ваш сайт будет проходить валидацию нормально.

49
ответ дан 23 November 2019 в 22:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: