Есть ли способ включить и ClearType, и фильтры в Internet Explorer?
Нет. Фильтры появились до поддержки ClearType в Internet Explorer и никогда не предназначались для работы с частичной прозрачностью. Проблема в сообщении блога, на которое вы ссылаетесь, никогда не была исправлена, и с улучшениями CSS3 в последних браузерах будущее для фильтров стало мрачным.
Однако есть некоторые приемы, которые можно использовать для приблизительного определения text-shadow
в Internet Explorer. Различные подходы включают размещение копии элемента непосредственно под ним, содержащей тот же текст, но с применением фильтров Размытие или Тень.
Метод двойной разметки, работает для IE 6-9
Предполагая, что вы применяете тень умеренно, например, к заголовку раздела или подписи к фотографии, вы можете дублировать текст на два отдельных элемента и расположить один сзади, размывая его с помощью фильтра:
<h1><span class=".shadow">Fear my shadow!</span><span>Fear my shadow</span></h1>
body { background-color: lightgreen; }
h1 {
color: white;
font-family: Helvetica,Arial,sans-serif;
font-weight: bold;
font-size: 1.2em;
text-shadow: #333 2px 2px 3px;
padding-bottom:2px;
}
.shadow { display: none; } /* For non-IE browsers */
.ie > h1 > span {
position: absolute;
color: white;
}
.ie > h1 > span.shadow {
display: inline-block;
zoom: 1;
color: #333;
filter: progid:DXImageTransform.Microsoft.Blur(pixelradius=2);
}
Рабочий пример: http://jsfiddle.net/PdZxB/
Для IE6 вам нужно опустить селектор прямого потомка >
. Однако в IE 6 это выглядит не так хорошо. <час />
Простой метод с использованием :before
и attr()
Безусловно, самый простой подход - тот, который не требует JavaScript, но работает только в IE 8 и IE 9, поскольку он основан на псевдоклассе :before
и функции CSS attr()
. Требуется нацеливание CSS на определенные версии IE а> хотя.
h1 {
color: white;
font-family: Helvetica,Arial,sans-serif;
font-weight: bold;
font-size: 1.2em;
text-shadow: #333 2px 2px 3px;
padding-bottom:2px;
}
.ie8and9 > h1 {
zoom: 1; /* make element have layout */
color: #333;
filter: progid:DXImageTransform.Microsoft.Blur(pixelradius=2);
}
.ie8and9 > h1:before {
position: absolute;
color: white;
content: attr(data-innertext);
}
Рабочий пример: http://jsfiddle.net/zFYga/.
Пошаговое руководство по этому методу находится по адресу http://www.useragentman.com/blog/2011/04/23/css-blurred-text-shadow-in-ie-part-i/.
person
Andy E
schedule
19.05.2011