2009-11-18 61 views
0

我在IE中需要文本陰影爲內嵌長文本文本。我瞭解漸進式增強,但情況不同。我絕對需要文字陰影,這不是設計問題,而是我的應用程序功能的核心問題。IE中的文字陰影,替代品

無論如何,IE不支持CSS文字陰影。有什麼替代品?我知道一些字體的輪廓會產生與文字陰影類似的效果,但是IE支持Web不安全字體嗎?

怎麼樣動態圖像替換?這是一種可行的策略嗎?考慮到文本的長度,我想可能不是。

有沒有人有任何建議?我也考慮強制谷歌Chrome框架,但如果沒有其他可行的策略,這是不得已而爲之的。

謝謝。

回答

0

我想你應該使用一個真正的字體(.ttf)字體並將其轉換爲.eot。然後是全球化志願服務青年在通過Java腳本的HTML喜歡這樣的:

<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 */ 
} 

然後在你的實際的HTML您提及這樣的樣式屬性的字體:

您可以轉換從.TTF到。 EOT這裏,發現它是如何workd http://www.kirsle.net/wizards/ttf2eot.cgi

0

我認爲在這裏,根據您的核心要求,Flash是您最好的選擇。我不確定SIFR是否支持影子,但這值得研究。

這對您的用戶來說肯定是一個比強迫Chrome框架更便宜的負擔。

編輯:

貌似SIFR是在這方面非常靈活:

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

更有前途,除非我錯了,它看起來像它可以在IE中支持:

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

這樣:

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

這將是驚人的,如果這個工程,但我想我以前試過,但發現它不能正常工作的內聯元素。將再次嘗試,謝謝。我真的看到了閃存的優勢,但缺乏移動支持真的很煩人。 – Charuru 2009-11-18 23:06:17

+0

不幸的是我不相信這適用於內聯元素。但是,謝謝你的幫助。 – Charuru 2010-01-14 23:11:52

0

進一步的解釋我剛纔用它進行文字陰影在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); 
} 

我唯一關心的是,如果用戶在PC上改變了他們的文本渲染,現在它會變得非常漂亮。如果我沒有大膽的文字,我的結果是好的,但是一旦我做到了,就會變得塊狀。

我可能只是在IE中留下文字陰影,但S怎麼樣!是...大聲笑