Подтвердить что ты не робот

IE8: отключить cleartype?

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

filter: none;

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

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

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


TL; DR: Как отключить шрифты clear-type в IE8 через CSS?

http://oi42.tinypic.com/23mlmiu.jpg

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

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

Ответ 8

У вас может быть как фильтр 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>