web-dev-qa-db-ja.com

IE8:cleartypeを無効にしますか?

IE7の場合、追加することが可能です

filter: none;

cSSを介してフォントのClearTypeを無効にするには、本体のcssに追加します。私はそれが与えるファジーな外観が好きではありません、そしてそれはブラウザ間で本当に一貫していません。 IE; FirefoxとIE6では表示が異なります。

ただし、IE8は、以下を使用してブラウザーをIE7互換モードに強制する場合でも、cssオプションを無視しているようです。

<meta http-equiv="X-UA-Compatible" content="IE=7" />


TL; DR:CSSを介してIE8でClearTypeフォントを無効にするにはどうすればよいですか?

25
Daniel Sloof

私が覚えていることから、Internet Explorer 7+は、要素にフィルターが設定されている場合、ClearTypeを無効にします

#target {
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=99)";
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=99);
}

また、多くのユーザーがClearTypeを無効にするのが面倒だと感じるかもしれないことを考慮してください。慎重に使用してください!

18
rpetrich

できません。 ClearTypeは、ブラウザのユーザー設定です。特定の要素に対して無効にするCSSは、機能ではなくバグである可能性が高く(動的に生成された要素またはアニメーション化された要素に対して無効になることに気づきました)、信頼すべきではありません。

この点であなたの好みが何であれ、おそらくあなたのサイトを見るユーザーのものではありません。では、なぜわざわざ? ClearTypeが気に入らない人は、おそらくすでに無効になっています。

注:フィルターで機能する理由は、フィルターがブラウザーではなく他の何かでレンダリングされるためです(DirectXは、おそらくそこにある「DX」を考慮します。それでも副作用と考えます、機能ではありません)。

注2:予想通りIE 9の時点で修正されました。これは本当に負けるだけの戦いです。 。

16
Joey

ジュリアーノ、body {filter:none}は、より優れた、よりクリーンなソリューションです。不透明度を使用すると、状況によっては問題が発生します。

すべてのClearType愛好家に答えるために-私もClearTypeが好きです。 LCDモニターにとっては大きな進歩だと思います。問題は、IEが特定の要素でClearTypeを使用しようとすると、見た目が悪いことです悪い ClearTypeを無効にした場合よりも。これらには、(javascriptを使用して)ビューにフェードインする要素と、インポートされた@ font-faceフォントが含まれます。like ClearTypeの場合、次のようになります。 hateこれらの状況でClearTypeを使用しようとすると、IEは何をしますか...テキストは分厚い、太く、醜いように見えます。

このような場合、必要なスムーズなフォントを実現するには、可能であればClearTypeを削除する必要があります。

3
capnhairdo

Cleartypeを無効にするCSSソリューションはありません。 IE7でそれを実行できる理由は、ブラウザーがフィルターを使用する要素でテキストをレンダリングする方法の副産物でした。どうやらIE8はこれをうまく処理するので、そのハックをこれ以上使用することはできません(少なくとも実際に何らかのフィルターを適用しない限り)。

Cleartypeの使用はユーザーの選択であり、訪問者に課すべきものではありません。個人的にはcleartypeが大好きで、無効になっているサイトにアクセスした場合、そのサイトは本当にひどいものに見えたと思います。

異なるブラウザや異なるオペレーティングシステムでテキストが異なる方法でレンダリングされるという事実は、あなたが生きなければならないものです。すべての人にまったく同じように見せたい場合は、画像にする必要があります。

3
Guffa

ここで聞いていない人が多い気がします。 @Daniel Sloofはずっと、それが良い考えかどうかではなく、方法を尋ねていたと言いました。 IEは完全に停止するのは悪い考えですが、実際には多くの人がまだ古いバージョンを使用しており、それらの人の90%はクリアタイプが何であるかさえ知らないという推測を危険にさらしますは-私がサイトのデバッグを開始するまで、地獄は確かにそうしませんでした。彼らは確かに彼らのブラウザがどれほどゴミであるかを知りません。IE)で滑らかに見えるスムーズに機能するページをデザインしたい場合= Webkitの場合と同様に、時々奇妙なハックを受け入れる必要があります。それはきれいではありませんが、それが人生です。ほとんどの人は、きれいなコードよりもきれいなサイトの影響を強く受けます。

@capnhairdoは、@ font-faceについても言っているので気が狂います-IE7と8でClearTypeを有効にしてこれらのフォントを実際にテストした人はいますか? CTを無効にした場合に通常得られるように、多くのフォントがひどくレンダリングされることに気付いた場合、そもそもニースフォントを選択することでオブジェクトを打ち負かし、CufonやSifrのようなものは実行可能なソリューションではありません。 。私たちの何人かにとっては、物事が平凡に見えても大丈夫です。私にとってはそうではありませんが、私のウェブサイトは私の画像を販売しています。

Appleが自分のサイトでIE8のIE7エミュレーションを強制していることを考えると、ほとんどの人は「推奨される方法」からのわずかな逸脱の影響を受けないことを強調する必要があります。がらくたの美学を提供し、ほとんど読めないサイト。それは誰にも有利ではなく、CTをオンにすると発生する可能性のある問題です!私は可能な限り一貫性を追求し、どのような選択肢を与えることができませんでしたIEユーザーはそのような状況にあるべきであり、そうすべきではありません。Microsoftは、標準から逸脱しようとするブラウザーを作成することで詰め込み、彼ら自身がハックと修正をリリースしたので、それを使用する必要があります。バグを利用して問題を修正し、パフォーマンス、帯域幅、または使いやすさに大きな影響を与えないようにするだけです!人生は短すぎて、標準のコンプライアンスを引用することについて混乱することはできません。私はきちんとしたコードと厳格な方法論を理想に尊重しますが、やって来ます、あなたたちはそれを言ったのと同じくらい良いですあなた自身の完璧さは存在しません。優れた設計と構造は、バランスの取れた視点から生まれます。ここで暴言を終わらせる:-P

1
Oliver

CleartypeはJavaScript/AJAXベースのソリューションではばかげているように見えることがありますが、このトピックは、一部のjQueryベースのアニメーションがIEで壊れているように見える理由について、その質問に答えることができます。 2番目の期間)次に、cleartypeフォントがフェードアウトする要素から削除され、アニメーションが非常に悪く見えます。

1
Lor Lor

何らかの理由で、配置された要素({position:relative}内のすべて)-不透明度が1未満のアニメーションではありません。

0
chovy

要素にMSCSSフィルターを設定し、その中のフォントでClearTypeを有効にすることができます。子要素を追加し、そのcssの「position」を「relative」に設定するだけで、ClearTypeは無効になりません。以下をコピーしてお試しください。

<style>
#parent{
     background-color:white;
     filter:progid:DXImageTransform.Microsoft.Shadow(color=#000000,direction=180,strength=2);
     position:relative;
     border:solid 1px black;
     padding:10px;
     width:500px;
}
#child{
     position:relative; /*THIS SOLVED THE CLEARTYPE DISABLING PROBLEM IN BOTH IE7 & IE8*/ :)
}
</style>

<div id="parent">
     <div id="child">This text should always be smooth</div>
</div>
0
Kris