22

IE が css3 機能を使用できるようにする css3pie の舞台裏で何が起こっているのでしょうか?

4

2 に答える 2

30

CSS3Pie Web サイトには多くの詳細がありますが、少し説明してみます。

Internet Explorer は、CSS Behaviorsと呼ばれる機能をサポートしています。これは、CSS イベントがトリガーされたときに実行する Javascript 機能を指定できる IE 固有の機能です。

このために、.HTC拡張子付きのファイルを使用します。これは基本的に、カスタム XML コードの軽いラッパーを含む Javascript コードです。Behaviors は IE 固有の機能であるため、ブラウザのいくつかの欠点を回避するように設計された CSS3Pie に似たいくつかのハックを除いて、あまり使用されていません。

CSS3Pie の場合、IE にはないいくつかの機能が実装されています。これらは、境界線の半径、ボックスの影、および線形グラデーションです。

これらはすべてIE (古いバージョンでも) で実行できますが、非標準的な方法です。たとえば、IE は VML と呼ばれるベクター グラフィックス言語をサポートしています (これも IE 固有です)。VML を使用すると、Javascript を使用してグラフィックを描画できます。VML には、角の丸いボックス、グラデーションの塗りつぶし、および影を作成する関数が含まれています。

CSS3Pie は、これらの IE 固有の機能を組み合わせたものです。CSS 動作として、特定の CSS コードが使用されたときに JavaScript コードをトリガーします。この JavaScript は、VML を含むページに余分な要素を作成し、CSS クラスが適用される要素と一致するようにスタイルを設定します。次に、メイン要素を変更して関連するスタイルのほとんどを削除し、その背後にある VML 要素のスタイルを表示できるようにします。

結局のところ、それはハックです。実際には IE に新しい機能を追加するわけではありません。既存の IE 機能の一部を、もう少し標準的な方法で動作させるだけです。

さらに深く掘り下げたい場合は、CSS3Pie がオープン ソースであるため、学習することができます。ただし、これは非常に複雑なコードであるため、利用可能な他の (より単純な) HTC ファイルのいくつかを見る方が簡単な場合があります。

CSS3Pie の前に、角が丸く、CSS3Pie と非常によく似た方法で機能する HTMlRemix.comから入手可能なものが既にありました。CSS3Pie の方が優れたソフトウェアですが、HTMLRemix コードの方が理解しやすいかもしれません。

あなたが調べたいと思うかもしれないいくつかの他のものもあります:

  • Whatever:Hover<a>は IE6 を修正して、CSS :hover 機能がタグだけでなくすべての HTML 要素で機能するようにします。

  • IE PNG 修正により、古いバージョンの IE が透明な PNG グラフィックスでより適切に動作するようになります。

それがあなたの質問に答えることを願っています。

于 2010-10-23T15:14:43.200 に答える
1

JavaScript を使用して不足している動作をエミュレートするだけです。

于 2010-10-23T14:26:22.620 に答える