3

私は今、これにしばらく興味を持っていました。

css3 プロパティはまだ標準化されていませんが、特定のブラウザーのプレフィックスを使用して、ブラウザーで実装できます。たとえば、border-radius を使用することができ、最新のブラウザーで問題なく動作します。ただし、ブラウザー ベンダーの以前のバージョンでは、-moz、-webkit などのベンダー固有のプロパティを使用して動作させることができます。

さて、私のページでは、グラデーションとボーダー半径を使用し、それらを使用するいくつかのクラスを作成し、これらのクラスを適用しました。

次のうちどれを行うのが良いですか?

  1. JavaScript を使用してサポートがあるかどうかを確認し、サポートされている場合はプロパティを使用します。上記が false の場合は、ユーザー エージェントを確認し、それに応じてベンダー固有のプロパティを適用します。

  2. クラス内のすべてのブラウザ接頭辞を使用して、ブラウザに適したものを使用させます。

私が興味を持って懸念しているのは、DOM ロードのパフォーマンスと時間です。

4

3 に答える 3

6

次のうちどれを行うのが良いですか?

  1. JavaScript を使用してサポートがあるかどうかを確認し、サポートされている場合はプロパティを使用します。上記が false の場合は、ユーザー エージェントを確認し、それに応じてベンダー固有のプロパティを適用します。

  2. クラス内のすべてのブラウザ接頭辞を使用して、ブラウザに適したものを使用させます。

オプション 1 は、JavaScript を使用してサポートを検出し、プレフィックスの有無にかかわらず CSS コードを条件付きで書き出し、ブラウザーにスタイルを適用させることで構成されます。

オプション 2 は、単純に CSS を使用し、ブラウザが理解できないプレフィックス/宣言を無視することに依存します。

ご覧のように、オプション 1 は余分なレイヤー (JavaScript) を導入しますが、可能であれば CSS3 機能を使用したいだけであれば必要ありません。オプション 2 が最もパフォーマンスの高いソリューションになります。

于 2012-02-06T15:04:09.807 に答える