2009-06-23 9 views
25

Para Internet Explorer 7, es posible añadirIE8: ¿Desactivar cleartype?

filter: none; 

a la css cuerpo para desactivar cleartype de fuentes a través de CSS. No me gusta la apariencia difusa que ofrece, y no es consistente en todos los navegadores. ES DECIR; Firefox e IE6 lo muestran de manera diferente.

IE8 sin embargo, parece ignorar la opción CSS, incluso cuando forzando al navegador en modo de compatibilidad IE7 usando:

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


TL; DR: ¿Cómo desactivo los tipos de letra clara en IE8 a través de CSS ?

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

+17

Para los downvoters: Mi pregunta no era si era una buena idea desactivar el tipo de letra, puede dejarlo bajo mi propia consideración. La pregunta era CÓMO hacerlo. –

+13

¿Te gusta cuando tu navegador es secuestrado? Cuando la ventana se redimensiona? Cuando recibes spam con ventanas emergentes?Cuando la barra de direcciones está deshabilitada? Este es un caso clásico de pensar que usted sabe mejor cuando claramente no tiene derecho o necesita estar jugando con él en absoluto. Considere lo contrario: ¿qué pasaría si un sitio web obligara a Cleartype a estar activo? –

+2

No estoy devaluando porque creo que es una pregunta interesante. Sin embargo, a menos que esté creando el sitio web exclusivamente para usted, ¿por qué desea anular la configuración de ClearType del usuario? – RichardOD

Respuesta

18

De lo que recuerdo, Internet Explorer 7+ desactiva ClearType cuando se establece un filtro en un elemento

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

Además, no consideran que muchos usuarios pueden encontrar desactivación de ClearType para ser molesto. ¡Utilizar con moderación!

+0

Perfecto. ¿También funciona con -ms-filter: none; filtro: ninguno; ¿también? porque eso es probablemente más correcto. – rpetrich

+0

Lamentablemente, no. –

+0

Ah, lástima. Como es, el marcado parece un poco feo. Además, se agregó una advertencia para contener a los downvoters :) – rpetrich

16

No se puede. ClearType es una configuración de usuario en el navegador. Cualquier CSS que lo deshabilite para ciertos elementos probablemente sea un error, no una función (me he dado cuenta de que se desactiva para algunos elementos animados o generados dinámicamente) y no se debe confiar en ellos.

Cualquiera que sea su preferencia en este sentido, probablemente no sea el usuario que vea su sitio. ¿Entonces, para qué molestarse? Quien no le gusta ClearType probablemente ya lo tiene desactivado.

Nota: La razón por la que funciona con los filtros es que los filtros no son representados por el navegador sino por otra cosa (DirectX probablemente, considerando el "DX" allí. Todavía consideraría que es un efecto secundario, y no una característica).

Nota 2: Se corrigió desde IE 9, como se esperaba. Esta es realmente una batalla que solo puedes perder, como muchos te han dicho antes, excepto que no escucharías.

+5

¡Sí, dejas mi ClearType solo! – Benjol

+5

Entiendo sus preocupaciones pero, aunque constructivo, no es una respuesta a la pregunta. (y también es incorrecto con respecto a no poder hacerlo en IE8) –

+7

Es la mejor respuesta que muestra una comprensión de lo que está sucediendo. Incluso si pudiera encontrar otro hack de IE8, es probable que el hack también se solucione en IE9. Estás peleando una batalla que no puedes ganar. Si desea un renderizado perfecto, preste un PNG y olvídese de Opera Mobile. – MSalters

3

No hay una solución de CSS para deshabilitar cleartype. La razón por la que podría hacerlo en IE7 era un producto secundario de cómo el navegador representaba texto en elementos que usaban filtros. Aparentemente, IE8 maneja esto mejor para que no puedas usar ese hack más (al menos no sin aplicar realmente algún filtro).

El uso de cleartype es una elección del usuario, y no algo que debe imponer a los visitantes. Personalmente, me gusta mucho el tipo de letra, y si visitaba un sitio donde estaba desactivado, creo que el sitio se veía realmente horrible.

El hecho de que el texto se represente de manera diferente en diferentes navegadores y diferentes sistemas operativos es algo con lo que tiene que convivir. Si desea que se vea exactamente igual para todos, debe convertirlo en una imagen.

+0

¿Por qué el voto a favor? Si no dices qué es lo que no te gusta, es bastante inútil ... – Guffa

+0

¿Es cierto que IE8 corrige ClearType "pop" durante efectos como fade? Eso seria genial. Nunca entendí por qué IE no podía hacerlo bien cuando los otros navegadores parecían funcionar bien en Windows. – Nosredna

+2

completamente acordado. ¿Por qué preocuparse por IE7/8/9, cuando otro navegador o sistema operativo lo hará de manera completamente diferente? El texto en OS X no se verá como el texto en Windows se verá nada como el texto en Linux. Tratar de hacer que el texto muestre el pixel perfecto es un ejercicio inútil. – deceze

1

Cleartype a veces parece estúpido en las soluciones JavaScript/AJAX pero este tema responde a la pregunta de por qué algunas animaciones basadas en jQuery se rompen en IE ... así es que cuando JavaScript se desvanece con opacidad (opacidad a 0 de 100 en 1 segundo de duración), luego las fuentes cleartype se eliminan del elemento que se desvanece y la animación se ve como una mierda.

3

Juliano, body {filter: none} es una solución mejor y más limpia. Usar opacidad causa problemas en algunas situaciones.

Para responder a todos los entusiastas de ClearType, también me gusta ClearType. Creo que es un gran avance para los monitores LCD. El problema es que cuando IE intenta usar ClearType en algunos elementos específicos, parece peor que si tuviera ClearType deshabilitado. Estos incluyen elementos que se desvanecen a la vista (usando javascript), así como fuentes de @ font-face importadas. Si como ClearType, entonces vas a odio lo que hace IE cuando intenta usar ClearType en estas situaciones ... tu texto se ve grueso, gordo y feo.

En estos casos, ClearType se debe quitar si es posible para lograr las fuentes suaves que ustedes quieren.

0

para algunos elementos razón posicionado (nada dentro {position: relative}) - no está animada w/una opacidad inferior a 1.

0

Usted puede tener tanto un filtro MS CSS en un elemento y todavía permitir ClearType en la fuente dentro. Simplemente agregue un elemento secundario y establezca su "posición" css en "relativa" y ClearType no se deshabilite. Copia lo siguiente y pruébalo.

<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> 
1

Hay mucha gente que no está escuchando aquí lo que siento. @ Daniel Sloof dijo todo el tiempo que estaba preguntando cómo, no si era o no una buena idea. IE es una mala idea punto final, pero el hecho es que muchas personas todavía usan versiones anteriores de él y de esas personas me atrevería a suponer que el 90% ni siquiera saben lo que Clear Type es - seguro que no lo hice hasta que comencé a depurar sitios. Ciertamente no son conscientes de cuán basura es su navegador. Si quieres diseñar páginas que funcionen correctamente y que se vean tan perfectas en IE como lo hacen en el juego web, tienes que abrazar el hack de vez en cuando, seguro que no es bonito, pero así es la vida. La mayoría de las personas estarán más influenciadas por un sitio bonito que por un código bonito.

@capnhairdo se queda boquiabierto cuando dice también sobre @ font-face - ¿alguno de ustedes realmente ha probado estas fuentes con Clear Type habilitado en IE7 y 8? Si lo hicieras, te darías cuenta de que muchos se renderizan horriblemente, como lo que obtendrías normalmente con CT inhabilitado; en primer lugar, derrota al objeto al seleccionar una buena fuente y para muchos, los gustos de Cufon y Sifr no son soluciones viables. . Para algunos de nosotros está bien que las cosas se vean mediocres. Para mí no es así, mi sitio web vende mi imagen.

Cuando considera que incluso Apple está forzando la simulación de IE7 para IE8 en su sitio, debe enfatizar que la mayoría de las personas no se ven afectadas por desviaciones menores de la "práctica recomendada", sino que notan mucho más un sitio que produce una mierda estético y apenas legible. ¡Eso no está haciendo ningún favor a nadie y es un problema que puede ocurrir con CT encendido! Me esfuerzo por lograr la mayor coherencia posible y no puedo dar a conocer las opciones que un usuario de IE debería y no debería tener en esa situación. Microsoft se asombró al hacer navegadores que intentaban desviarse de los estándares, que ellos mismos habían liberado hacks y correcciones, así que tenemos que trabajar con eso. Si eso significa tomar ventaja de un error para solucionar un problema, entonces siempre que no tenga un gran impacto en el rendimiento, el ancho de banda o la facilidad de uso ¡simplemente hágalo! La vida es demasiado corta para andar de un lado para otro citando el cumplimiento estándar, respeto el código limpio y la metodología estricta a un ideal, pero vamos, muchachos han dicho que la perfección no existe. Un buen diseño y construcción provienen de una perspectiva equilibrada. Aquí termina la diatriba :-P