Вопрос

Для IE7 можно добавить

filter: none;

к основному css, чтобы отключить cleartype для шрифтов через CSS.Мне не нравится нечеткий вид, который это придает, и на самом деле это не согласовано в разных браузерах.IE;Firefox и IE6 показывают это по-разному.

Однако IE8, похоже, игнорирует опцию css, даже при переводе браузера в режим совместимости с IE7 с помощью:

<meta http-equiv="X-UA-Compatible" content="IE=7" />


TL; DR:Как мне отключить понятные шрифты в IE8 с помощью CSS?

Это было полезно?

Решение

Насколько я помню, Internet Explorer 7+ отключает ClearType, когда для элемента установлен фильтр

#target {
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=99)";
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=99);
}

Кроме того, учтите, что многим пользователям отключение ClearType может показаться раздражающим.Используйте экономно!

Другие советы

Ты не можешь.ClearType - это пользовательская настройка в браузере.Любой CSS, который отключил бы его для определенных элементов, скорее всего, является ошибкой, а не функцией (я заметил, что он отключается для некоторых динамически генерируемых или анимированных элементов), и на него не следует полагаться.

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

Примечание: Причина, по которой это работает с фильтрами, заключается в том, что фильтры отображаются не браузером, а чем-то другим (вероятно, DirectX, учитывая "DX" там.Я бы все равно считал это побочным эффектом, а не особенностью).

Примечание 2: Исправлено с IE 9, как и ожидалось.Это действительно битва, которую вы можете только проиграть, как многие говорили вам раньше, но вы не слушали.

Джулиано, body{filter: none } - лучшее и более чистое решение.Использование непрозрачности вызывает проблемы в некоторых ситуациях.

Чтобы ответить всем энтузиастам ClearType - мне тоже нравится ClearType.Я думаю, что это отличное достижение для жидкокристаллических мониторов.Проблема в том, что когда IE пытается использовать ClearType для некоторых определенных элементов, это выглядит хуже чем если бы у вас был отключен ClearType.К ним относятся элементы, которые скрыты в поле зрения (с использованием javascript), а также импортированные шрифты @font-face.Если вы Нравится ClearType, тогда вы собираетесь ненависть что делает IE, когда пытается использовать ClearType в таких ситуациях...ваш текст выглядит корявым, жирным и уродливым.

В этих случаях ClearType следует удалить, если это возможно, чтобы добиться плавных шрифтов, которые вы, ребята, хотите.

Не существует CSS-решения для отключения cleartype.Причина, по которой вы могли сделать это в IE7, была побочным продуктом того, как браузер отображал текст в элементах, которые использовали фильтры.Похоже, IE8 справляется с этим лучше, так что вы больше не сможете использовать этот взлом (по крайней мере, без фактического применения некоторого фильтра).

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

Тот факт, что текст отображается по-разному в разных браузерах и разных операционных системах, - это то, с чем вам приходится мириться.Если вы хотите, чтобы это выглядело абсолютно одинаково для всех, вы должны сделать это образом.

Я чувствую, что здесь много людей, которые меня не слушают.@Daniel Sloof все это время говорил, что он спрашивал "как", а не "хорошая ли это идея".IE - это плохая идея, но факт в том, что многие люди все еще используют его старые версии, и из этих людей я рискну предположить, что 90% даже не знают, что такое Clear Type even - я чертовски уверен, что не знал, пока не начал отлаживать сайты.Они, конечно, не осознают, насколько дрянной у них браузер.Если вы хотите создавать гладко функционирующие страницы, которые выглядят в IE так же гладко, как и в webkit, вам время от времени приходится прибегать к странным взлому, конечно, это некрасиво, но такова жизнь.На большинство людей больше повлияет красивый сайт, чем красивый код.

@capnhairdo - это боб, когда он говорит о @font-face тоже - кто-нибудь из вас действительно тестировал эти шрифты с включенным Clear Type в IE7 и 8?Если бы у вас были, вы бы поняли, что многие из них отображаются ужасно - как то, что вы обычно получаете при отключенной компьютерной томографии - в первую очередь, это приводит к поражению объекта при выборе хорошего шрифта, и для многих подобных Cufon и Sifr не являются жизнеспособными решениями.Для некоторых из нас нормально, когда все выглядит посредственно.Для меня это не так, мой сайт продает мой имидж.

Если учесть, что даже Apple внедряет эмуляцию IE7 для IE8 на своем сайте, следует подчеркнуть, что на большинство людей действительно не влияют незначительные отклонения от "рекомендуемой практики", вместо этого они гораздо больше замечают сайт, который имеет дерьмовую эстетику и едва читаем.Это никому не приносит пользы и является проблемой, которая может возникнуть при включенной компьютерной томографии!Я стремлюсь к максимально возможной согласованности и не мог бы указать, какой выбор должен и не должен иметь пользователь IE в этой ситуации.Microsoft напичкала себя, создав браузеры, которые пытались отклониться от стандартов, для которых они сами выпустили хаки и исправления, поэтому нам приходится с этим работать.Если это означает воспользоваться ошибкой для устранения проблемы, то при условии, что это не сильно влияет на производительность, пропускную способность или удобство использования, просто сделайте это!Жизнь слишком коротка, чтобы возиться с цитированием соответствия стандартам, я отношусь к аккуратному коду и строгой методологии как к идеалу, но да ладно, вы, ребята, сами прекрасно сказали, что совершенства не существует.Хороший дизайн и конструкция исходят из сбалансированной перспективы.Здесь заканчивается напыщенная речь :-P

Cleartype иногда выглядит глупо в решениях на основе JavaScript / AJAX, но в этом разделе возможны ответы на вопрос, почему некоторые анимации на основе jQuery выглядят неработающими в IE..итак, ответ заключается в том, что когда JavaScript создает эффект затухания с непрозрачностью (непрозрачность до 0 из 100 за длительность 1 секунду), то шрифты cleartype удаляются из элемента, который начинает затухать, и анимация выглядит действительно плохо.

по какой-то причине позиционированные элементы (все, что находится внутри { position:относительный } ) - не анимируется с непрозрачностью меньше 1.

Вы можете использовать как фильтр MS CSS для элемента, так и по-прежнему включать ClearType для шрифта внутри.Просто добавьте дочерний элемент и установите для его css "position" значение "relative", и ClearType не будет отключен.Скопируйте следующее и попробуйте это.

<style>
#parent{
     background-color:white;
     filter:progid:DXImageTransform.Microsoft.Shadow(color=#000000,direction=180,strength=2);
     position:relative;
     border:solid 1px black;
     padding:10px;
     width:500px;
}
#child{
     position:relative; /*THIS SOLVED THE CLEARTYPE DISABLING PROBLEM IN BOTH IE7 & IE8*/ :)
}
</style>

<div id="parent">
     <div id="child">This text should always be smooth</div>
</div>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top