9

.htc ファイルをダウンロードし、css に埋め込んで、Internet Explorer 8 で角を丸くしました。

.curved {

-moz-border-radius:10px;

-webkit-border-radius:10px;

behavior:url(border-radius.htc);

}
4

2 に答える 2

17

これはHTMLコンポーネントであり、Webページにロジックをカプセル化する手段です。動作は1999w3CSSワーキングドラフトで説明されていましたが、(私が知る限り)IE 5で実装を提供したのはマイクロソフトだけであり、今日では同じタスクを実行するためのより良い方法があります。

参照:http://msdn.microsoft.com/en-us/library/ms531018.aspx

HTCは、フォールバックメカニズムとしてのみ使用する必要があります(例で示しています)。それらで可能なことのほとんどは、IE9以降の標準のクロスブラウザーCSSおよびJavaScriptを使用して可能です。

なぜそれが機能するのかというと、この動作はDHTMLフィルターやVMLなどのIE固有の機能を操作し、時代を先取りした視覚的な結果を達成するために使用できると思います(現在は非推奨です)。

于 2012-05-26T14:35:36.343 に答える
-1

すべてのブラウザは、javascriptを使用してスタイルシートのルールを確認し、新しいルールを動的に挿入する方法を提供します。通常、IEは、たとえば、サポートしていないものに対して「不明」を返します。adiv p:first-childはに変わりdiv p:unknown、ap a[href]は完全に「UNKNOWN」として返されます。幸い、IEは:hoverを使い慣れたものとして認識し、そのままにしておきます。

IEはいわゆるbehaviors;もサポートしています。動的コンテンツの読み込みや永続的なデータストレージなどの事前定義された機能と、.htcまたは.htaファイルに組み込むことができるカスタム動作の両方。これらの動作は、cssを介してhtmlノードにリンクされ、指定された動作でルールのセレクターによって選択されたノードを「拡張」します。

上記を組み合わせることで、IEがサポートしていないルールのスタイルを検索する動作を作成し、影響を受ける要素をだまして関連するスタイルを別の方法で適用することができるはずです。これに関連する手順は次のようなものです。

すべてのスタイルシートで:hoverルールIEがサポートしていないものを検索し、クラス名を持つルールのようにIEがサポートしている新しいルールを挿入し、最後にクラス名を切り替えるためのスクリプトイベントを設定します。このようにして、:hover、:active、および:focusをサポートでき、開発者として、動作を含める以外に何もする必要はありません。他のすべては全自動で実行されます。

バージョン1および2とは異なり、バージョン3は動的に追加されたhtml(ajax)もサポートします。違いは、1と2がページのロード時に影響を受ける要素をアクティブに検索したのに対し(つまり、1回のみ)、3は式を使用してノードが自分でコールバックを実行できるようにすることです。

あなたはここでそれについてもっと読むことができます

于 2012-05-26T14:31:14.753 に答える