雇われWebデザイナー、SWDのサイトです。なにも目指してません。すみません。

2008

01/08

IE7:filterを使用するとフォントのアンチエイリアスが無効になる この記事をはてなブックマークに登録 この記事をクリップ! Yahoo!ブックマークに登録 Buzzurlにブックマーク
CATEGORY:,, TAG:,,
MT復帰の際に過去の一部の記事で正常に表示できないものがあるようです。
閲覧数の多い記事から少しずつ直していこうと思いますがすべての記事の復旧は難しいと思います。
わざわざお越しの方には申し訳ありませんがご容赦ください。

タイトルのままなのですが、
これまた遭遇確率の低い地味な現象なので備忘録として。

IEの独自拡張として用意されているfilterですが、Web制作時には
おもに透明度(opacityとか-moz-opacity)のクロスブラウザ対策として
使用することが比較的多いかと思います。

その際、IE7でこのfilterを指定すると指定された要素内のテキストの
アンチエイリアスが無効になるようです。

IE7でfilterを指定すると文字が細くなる

ただ、実際にはアンチエイリアスが無効というのは
少々語弊があるのかもしれません。
ためしに、
screen.fontSmoothingEnabled
を使用してアンチエイリアスの状態を監視すると、常に"true"
返してきますので、アンチエイリアスは有効な指定状態なんだけど
ブラウザ上に正しく描画できていないという感じなのだと思われます。


まぁ、バグですね。

また、厄介なのが
style.filter = null

でも現象が再現するようですので、フェードインして表示させるような
スクリプトを書かれている場合は、フェードインした後
(完全に不透明になった状態)で
style.removeAttribute('filter');

って感じで、filter指定ごと削除してやればまだ何とか
マシな感じなりますが、透明度を維持させないといけない場合は
現状では回避するすべはないかと思われます。


MS ゴシックなどを指定している場合にはアンチエイリアスが
利いていなくてもそれほど違和感はありませんので、あえて
screen.fontSmoothingEnabled
"false"を指定してアンチエイリアスをもともと
無効にしておいてやるのも手かもしれませんが、
メイリオを指定している場合はフォントサイズによっては著しく
劣化しますので、次期IE8ではこのあたりの対応が望まれますね。

トラックバック(0)
トラックバックURL: http://www.heion.net/mt/mt-tb.cgi/162
コメント(0)
[PR]
_FEED
このRSSを取得する
_CATEGORY
_TAG
                                       
_ARCHIVE
2010年5月 (5)
2010年4月 (2)
2009年10月 (3)
2009年8月 (1)
2009年7月 (2)
2009年6月 (6)
2009年5月 (1)
2009年4月 (2)
2009年3月 (2)
2009年2月 (1)
2009年1月 (3)
2008年12月 (5)
_BLOG PARTS


あわせて読みたいブログパーツフィードメーター - 日々平穏スカウター : 日々平穏
OpenID対応しています OpenIDについて

このブログはクリエイティブ・コモンズでライセンスされています。