7

一部のCSS3機能がどこでも機能することを確認したい場合は、次のようなW3C推奨バージョンのプレフィックス付きバージョンを使用する必要があることを知っています。

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

プレフィックスが実験的な機能に使用されていることは知っていますが、なぜそれらが必要なのですか?なぜ彼らはオリジナルのW3Cでそれらをテストしないのですか?すべてのCSS3機能には、すべてのブラウザーにプレフィックスが付いているか、または付いていますか、それとも、必要と思われる場合はプレフィックス付きバージョンを作成するだけですか?

4

3 に答える 3

7

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

実験的なプロパティにプレフィックスが付いていない場合は、それがプロパティの正しい標準バージョンであることを意味します。すべてのブラウザが異なる方法でレンダリングする場合、標準はあまりありません。代わりに、ブラウザは、標準に従って実装されていることが確認されるまで、接頭辞なしのプロパティの実装を回避します。その後、この特定の標準を正しくサポートしていると言う方法として、接頭辞なしのプロパティのサポートを開始します。

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

于 2013-02-11T12:14:36.350 に答える
1

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

私の意見では、新しい機能の前に付ける必要はありません。標準プロパティ、chromeのプレフィックス付きプロパティ、firefox、operaを記述しなければならないため、使用が難しくなります。また、スタイルシートが大きくなります(将来、これらのプレフィックス付きプロパティが不要になった場合は、すべて削除されます)。もう?)。

何のメリットもありませんが、それは私の意見です。

于 2013-02-11T12:35:56.170 に答える
1

Ya ..将来的には、これらのプレフィックスを異なるブラウザに使用する必要がなくなる可能性がありますが、フロントエンド開発者として、すべてのブラウザに異なるcssライブラリがあるため、cssでこれらのプレフィックスを使用する必要があります。そうしないと、一部のブラウザでレンダリングされません。 css。これが彼らの働きであり、私たちは彼らをフォローしています。

これがWebkitとFirefoxのプレフィックスライブラリの好みです

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

于 2013-02-11T12:44:31.567 に答える