2013-02-11 14 views
5

私たちはいくつかのCSS3の機能はどこでも働くことを確認したい場合は、我々はW3Cの接頭辞のバージョンを使用する必要があることを知っていますが、お勧めのような1:CSSプレフィックスの目的は何ですか?

transition: all 1s ease; 
-moz-transition: all 1s ease; 
-o-transition: all 1s ease; 
-webkit-transition: all 1s ease; 

私は、接頭辞が実験的な機能に使用されていることを知っているが、なぜ彼らは必要ですか?なぜ彼らは元のW3Cのものでそれらをテストしないのですか? CSS3のすべての機能には、すべてのブラウザのプレフィックスが付いていますか、またはプレフィックスが付いていますか?

+0

「なぜ単に標準に従わない」フレキシボックスモジュールでの良い例です。この仕様は何年も前から実績があり、どのブラウザでも実装された最初のドラフトは2009年からのものでした。それ以来、ドラフトは完全に書き直されました。プロパティ名とプロパティの値が変更されました。 2012年9月になってから仕様が推奨候補になりました*。 – cimmanon

答えて

6

ベンダープレフィックスの本来の目的は、ベンダーがCSS実装で使用するために独自の非標準機能を追加できるようにすることでした。しかし、それらのほとんどは、最終的に標準になるものの実験的なバージョンに使用されています。

実験的なプロパティーに接頭辞が付いていない場合は、そのプロパティーが正しい標準バージョンであることを示します。すべてのブラウザが異なるレンダリングを行う場合、標準はあまりありません。その代わりに、ブラウザは、標準に準拠していると確信されるまで、接頭辞なしのプロパティを実装することを避け、この特定の標準を正しくサポートしていると言います。

すべての機能に接頭辞が付いているわけではありません。実際、ベンダーは必要と思われる場合にのみプレフィックスを作成します。

+2

さらに、ベンダーは標準が安定したときにプレフィックスを削除することになっています(候補者候補)。 Webkitベースのブラウザは、多くの新しいプロパティ(http://caniuse.com/#search=gradientを参照)に接頭辞を削除することを頑なに拒否する唯一のものです。 – cimmanon

+0

@cimmanon:私にWebKitを憎む理由を教えてください。 – BoltClock

+1

それは何ですか?あなたは*もっと*理由が欲しいですか?さて、あなたは行く! http://css-tricks.com/tldr-on-vendor-prefix-drama/ – cimmanon

1

実験的な機能を使用する人は、標準のクロスブラウザーの動作がまったく期待できないことを既に知っています。

私の意見では、新しい機能の前にプレフィックスを付ける必要はありません。クロムの接頭辞付きプロパティー、firefox、operaなどの標準プロパティーを作成する必要があるため、これらのプロパティーを使用するのが難しくなります。スタイルシートを大きくします(将来誰かが必要としないプロパティーをすべて削除しますもう?)。

私には利点はありませんが、私の意見です。

1

ヤフー将来的にはこれらのプレフィックスをブラウザごとに使用する必要はありませんが、すべてのブラウザにはさまざまなCSSライブラリが用意されていますので、フロントエンドの開発者はこれらのプレフィックスをCSSの他の賢明なブラウザ私たちのCSSをレンダリングしません。これは彼らが働く方法であり、私たちはそれに従っています。

は、ここでのWebkitとFirefoxの接頭ライブラリのliks

http://developer.apple.com/library/safari/#documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Gradients/Gradient.html

https://developer.mozilla.org/en-US/docs/CSS/CSS_Reference/Mozilla_Extensions

関連する問題