ブラウザがCSS3トランジションを自動修正しないのはなぜですか?Safari /ChromeとFirefoxCSSの移行の唯一の違いは、「moz」と「webkit」です。確かに、Firefoxはオートコレクト機能を追加して、css内の「webkit」のすべてのインスタンスを「moz」に変更することができ、問題は解決されます。それとももっと何かありますか?
2 に答える
通常、CSS selctorsの-moz
and-webkit
は、ブラウザエンジンに固有のプロパティです。セレクターが不安定になるか、ブラウザーごとに動作が異なる可能性があります。
他のブラウザのCSSプロパティの解釈が異なる可能性があるため、他の実装に「自動修正」することは望んでいません。競合が発生した場合に、CSSプロパティが「勝つ」必要があるという問題が発生する可能性があります。最後に、他のブラウザエンジンが何をしているのかを把握する必要があるため、各ブラウザの開発時間が長くなる可能性があります。
-*
結局のところ、必要なのはプレフィックスをまったく使用しないことです。それを可能にするには、CSS標準で定義された標準の構文と動作が必要です。次に、他のCSS宣言のように*-opacity: ...
、異なるプレフィックスで数回繰り返す代わりに、 1回だけ記述します。opacity: ...
ベンダー固有のプレフィックスは、現在の標準の内容に関係なく、ブラウザー固有の動作を可能にするためにあります。これにより、ベンダーは、標準がまだ存在しない新しい機能を実装したり、コミットする前に機能の実装をテストしたりできます。最終的な目標は、常に、標準で定義されているすべての機能を、標準で定義されている方法で実装することです。しかし、あなたは一晩そこに着くことはありません。新しい機能は、それらの実装に関する問題や標準自体で発生する可能性のある問題を見つけるために、可能な限り広くテストする必要があります。このテストは、ベンダー固有のプレフィックスを介して機能を利用できるようにすることで行われます。
のような文書化された標準機能を使用する場合、opacity
ブラウザ間で一貫して機能することはほぼ確実です(* cough *letsforgetabout * cough * IE * cough * forasecond * cough *)。ベンダー固有のプレフィックス機能を使用する場合、それは、変更される可能性がある、および/または(まだ)一貫して機能しない可能性がある機能を自己責任で使用していることを意味します。ブラウザベンダーは、理由のためにお互いのプレフィックスに触れません。彼らは標準に向かって働き、最終的にはプレフィックスなしで機能を利用できるようにします。