3

ベンダープレフィックスを使用するときは、宣言にルールをリストする順序を覚えておくことが重要です。

ベンダープレフィックスがどのように機能し、なぜ必要なのかはすでに知っていますが、ベンダープレフィックスプロパティを最初にリストし、プレフィックスなしのCSS3プロパティを最後にリストするのはなぜですか?私はまた多くの重要なサイトをチェックしました、そして彼らはこのアプローチを使用しています:

.foo { 
  -webkit-border-radius: 10px; 
  -moz-border-radius: 10px; 
  border-radius: 10px; //why this is the last one?
  }

それだけです、なぜ実際のCSS3プロパティを最後に置くのですか?特別な理由がありますか?

4

3 に答える 3

3

最後のW3Cの妥当性により、新しいバージョンのブラウザーはベンダーバージョンの代わりにこのバージョンを使用します。このようにして、CSSはベンダープレフィックスのない通常のCSSとして読み取られます。

このようにして、新しいブラウザは、ブラウザでサポートされている場合、最新の仕様に更新されたW3Cバージョンを使用します。

于 2013-02-18T10:29:18.370 に答える
1

有用なリソースはhttp://taligarsiel.com/Projects/howbrowserswork1.htmhttp://www.w3.org/TR/CSS2/grammar.htmlです。おそらく、そこに答えが見つかるでしょう。

于 2013-02-18T10:29:15.193 に答える
1

これが正当な理由です:[アンディが言及したこの投稿の要約]

ブラウザがベンダープレフィックスと実際のプロパティの両方をサポートしている期間中は、cssルールの実装に違いがある可能性があります。

例:

.not-a-square {
   /* These do totally different things */
   border-radius: 30px 10px; 
   -webkit-border-radius: 30px 10px;
} 

仕様または「実際の」バージョンでは、左上隅と右下隅が30ピクセルでレンダリングされ、右上隅と左下隅が10ピクセルでレンダリングされます。ベンダープレフィックスは、幅30ピクセル、高さ10ピクセルの楕円形のコーナーで4つのコーナーすべてをレンダリングします。

于 2013-02-18T11:56:10.010 に答える