2011-02-04 2 views
15

Je voudrais faire pivoter un texte de 90 degrés dans le sens anti-horaire. Firefox et Chrome sont pas de problème, en utilisant:Faire pivoter le texte dans IE, sans qu'il devienne moche

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

Pour Internet Explorer, il devrait être cette ligne, pour autant que je sais:

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

(L'autre méthode, mode d'écriture, peut seulement faire pivoter le texte dans le sens des aiguilles d'une montre à 90 degrés).

Cependant, dans IE, le texte pivoté ressemble à une image mal mise à l'échelle sur son côté (comparaison ci-dessous).

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

Est-il possible qu'Internet Explorer peut faire pivoter le texte d'une manière plus élégante (peut-être avec Javascript/jQuery)? J'ai été googling, mais je ne peux trouver plus de références à cette méthode ...

+0

Assurez-vous que votre élément pivotée final est aligné pixel. –

Répondre

5

Le RenderEngine de IE est horrible ... Je voudrais essayer de travailler avec des images de fond. Peut-être un Remplacement de police comme Cufon ferait un meilleur travail. Cufon génère des images de votre texte. Fonctionne bien dans IE pour autant que je sache.

+0

+1 Semble être une bonne solution ... – gearsdigital

+0

Le texte rendu en tant qu'images est difficile pour les utilisateurs qui utilisent des aides à l'accessibilité, tels que les lecteurs d'écran. –

+0

+1 Merci. Je pense que je vais aller avec ce type de solution. Avec la fonction imagettftext, vous pouvez déjà définir l'angle de rendu de l'image. Cela nécessite un fichier séparé, comme si vous utilisiez une image réelle (title.php). En ce qui concerne les aides à l'accessibilité, ce texte est pour le titre de la page, qui est le même que l'élément de menu correspondant, donc je pense que dans ce cas ce n'est pas un gros problème. – RemiX

2

Je suggère soit API Google Fonts ou Cufon (comme @swishmiller dit), ou désactivation de l'Anti-Aliasing (ClearType) dans IE de sorte que les polices sont toujours lissées (est-ce un mot)?

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

Cufon: http://cufon.shoqolate.com/generate/

Désactiver 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); 

[modifier] Je dois dire que je ne l'ai pas essayé l'API Google Font solution ...

+0

La chose Disable ClearType semblait prometteuse, mais nous n'avons pas vu de différence ... –

+0

Wow, c'est officiellement la plus longue attente d'un commentaire jamais! - 2,5 ans –

37

Il est Def le moteur de rendu de texte dans IE; Cependant, c'est faisable.

Le filtre: exige que l'élément ait disposition (zoom). Vous pouvez battre le problème de rendu (la plupart du temps) en donnant à l'élément une couleur de fond. Effectuez les opérations suivantes sur votre exemple:

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

+1 Ça aide un peu. Malheureusement, il n'est pas encore aussi propre que Firefox ou Chrome. – RemiX

+0

:-) c'est IE dont nous parlons ici. La solution fonctionne, mais elle a son propre ensemble de avantages/inconvénients. Les pros tournent tous autour de l'accessibilité et aussi peu de lignes de code que possible. Tous les inconvénients tournent autour de la présentation. – Dawson

+9

+1 L'ajout de la couleur de fond fonctionne bien pour moi. C'est lisible maintenant, avant que ça ne soit un gâchis. Je ne voulais pas avoir à ajouter une autre couche de complexité avec Cufon, etc. – Voodoo

Questions connexes