2009-11-18 2 views
0

J'ai besoin de texte-ombre pour en ligne, long, texte de paragraphe dans IE. Je comprends l'amélioration progressive, mais la situation est différente. J'ai absolument besoin de texte-ombre, ce n'est pas un problème de conception, mais un élément central de la fonction de mon application.Ombre de texte dans IE, alternatives

Dans tous les cas, IE ne prend pas en charge CSS-shadow. Quelles sont les alternatives? Je sais que certaines polices ont des contours qui créent un effet similaire à celui des ombres de texte, mais IE prend-il en charge les polices non sécurisées pour le Web?

Qu'en est-il du remplacement dynamique d'image? Est-ce une tactique viable? Je ne pense probablement pas, compte tenu de la longueur du texte.

Quelqu'un a-t-il des suggestions? J'ai également envisagé de forcer Google Chrome Frame, mais c'est une sorte de dernier recours s'il n'y a pas d'autres stratégies viables.

Merci.

Répondre

0

Je pense que vous devez utiliser une police de type true (.ttf) et la convertir en .eot. Ensuite référances dans votre code html via le script java aime ceci:

<style type="text/css"> 
@font-face { 
font-family: MyCustomFont; 
font-size:10.0pt; 
src: url("fontname_free.eot");/* EOT file for IE */ 
} 
@font-face { 
font-family: MyCustomFont; 
font-size:10.0pt; 
src: url("fontname_free.ttf") format("truetype");/* TTF file for CSS3 browsers */ 
} 

Ensuite, dans votre code html réelle vous faire référence à la police dans l'attribut de style comme ceci:

Vous pouvez convertir .ttf à. EOT ici et trouvez plus sur la façon dont il explaination workd http://www.kirsle.net/wizards/ttf2eot.cgi

0

Je pense qu'ici, avec vos exigences de base, Flash est votre meilleur. Je ne suis pas sûr que SIFR supporte l'ombre, mais cela mérite d'être étudié.

C'est certainement un fardeau moins cher pour vos utilisateurs que de forcer le cadre Chrome.

EDIT:

On dirait SIFR est assez souple sur ce front:

http://fortysevenmedia.com/blog/archives/sifr_3_hard_drop_shadows/

Encore plus prometteur, à moins que je ne me trompe pas, on dirait qu'il peut être pris en charge dans IE:

http://msdn.microsoft.com/en-us/library/ms533086%28VS.85%29.aspx

si:

.className { 
    filter:progid:DXImageTransform.Microsoft.Shadow(color=#0000FF,direction=45); 
} 
+0

Serait incroyable si cela fonctionne, mais je pense que j'ai essayé cela précédemment, mais a constaté qu'il ne fonctionne pas correctement pour les éléments en ligne. Je vais essayer à nouveau, merci. Je vois vraiment les avantages du flash, mais le manque de support mobile est vraiment énervant là-bas. – Charuru

+0

Malheureusement, je ne crois pas que cela fonctionne sur les éléments en ligne. Mais merci pour votre aide. – Charuru

0

Je viens d'utiliser cela pour text-shadow dans IE:

p { zoom: 1; background-color: *Your background colour*; -ms-filter: "progid:DXImageTransform.Microsoft.Chroma(Color=*Your background colour*) progid:DXImageTransform.Microsoft.DropShadow(Color=#000, OffX=1, OffY=1)"; filter: progid:DXImageTransform.Microsoft.Chroma(Color=*Your background colour*) progid:DXImageTransform.Microsoft.DropShadow(OffX=1, OffY=1, Color=#000); 
} 

Ma seule préoccupation avec ceci est que si l'utilisateur a changé le rendu de son texte sur son PC, il sera maintenant si joli. Le mien s'est avéré correct si je ne suis pas en gras le texte, mais dès que je le fais, il devient bloquant.

Je peux juste laisser l'ombre du texte dans IE mais comment S **! est-ce ... lol