2011-02-04 12 views
15

Me gustaría rotar un texto 90 grados en el sentido contrario a las agujas del reloj. Firefox y Chrome no son un problema, usando:Girar texto en IE, sin que se ponga feo

-webkit-transform-origin: top left; 
-webkit-transform: rotate(-90deg); 
-moz-transform-origin: top left; 
-moz-transform: rotate(-90deg); 

Para Internet Explorer, debe ser esta línea, por lo que yo sé:

filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); 

(El otro método, escritura en modo, solo puede rotar el texto en el sentido de las agujas del reloj 90 grados).

Sin embargo, en IE, el texto girado se ve como una imagen mal escalada de un lado (comparación más abajo).

Firefox/Chrome Firefox/Chrome - vs - Internet Explorer: Internet Explorer

¿Hay alguna forma en que Internet Explorer puede girar el texto de una manera más elegante (posiblemente Javascript/jQuery)? He estado buscando en Google, pero solo puedo encontrar más referencias a este método ...

+0

Asegúrese de que el elemento final es girada píxeles alineados. –

Respuesta

5

RenderEngine de IE es horrible ... Intentaría trabajar con imágenes de fondo. Tal vez un reemplazo de fuente como Cufon haría un mejor trabajo. Cufon genera imágenes de tu texto. Funciona bien en IE hasta donde yo sé.

+0

+1 Parece ser una buena solución ... – gearsdigital

+0

El texto presentado como imágenes es difícil para los usuarios que usan dispositivos de accesibilidad, como lectores de pantalla. –

+0

+1 Gracias. Creo que iré con este tipo de solución. Con la función imagettftext, ya puede definir el ángulo en el que se debe representar la imagen. Requiere un archivo separado, como si se usara una imagen real (title.php). En cuanto a las ayudas de accesibilidad, este texto es para el título de la página, que es lo mismo que su correspondiente elemento de menú, así que creo que en este caso no es tan importante. – RemiX

2

sugeriría cualquiera API de Google o Fuentes Cufon (como se dijo @swishmiller), o desactivación del componente Anti-Aliasing (ClearType) en IE por lo que las fuentes siempre se ven sin filtrar (es que una palabra)?

Google API Fuente: http://code.google.com/webfonts

Cufón: http://cufon.shoqolate.com/generate/

Desactivar ClearType:

/* This will force IE into thinking there is a filter actually doing something, so it'll disable ClearType */ 
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=100)"; 
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100); 

[editar] Debo mencionar que no he probado la solución Google Font API ...

+0

La opción Desactivar ClearType sonaba prometedor, pero no vimos ninguna diferencia ... –

+0

¡Vaya, esta es oficialmente la espera más larga para un comentario! - 2.5 años –

37

Defina el motor de representación de texto en IE; sin embargo, es factible.

filtro: requiere que el elemento tenga diseño (es decir, zoom). Puede superar el problema de renderizado (la mayoría de las veces), dando al elemento un color de fondo. Pruebe lo siguiente en el ejemplo:

zoom:1; 
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); 
background-color:white; 
+0

+1 Ayuda un poco. Desafortunadamente, todavía no está tan limpio como Firefox o Chrome. – RemiX

+0

:-) es IE estamos hablando aquí. La solución funciona, pero tiene su propio conjunto de pros/contras. Todos los profesionales giran en torno a la accesibilidad y a la menor cantidad de líneas de código posible. Contras todos giran alrededor de la presentación. – Dawson

+9

+1 Agregar el color de fondo funciona bien para mí. Ahora es legible, antes era un desastre. No quería tener que agregar otra capa de complejidad con Cufon, etc. – Voodoo

Cuestiones relacionadas