2

Webサイトを改造し、-prefix-freeスクリプトを使用して、CSSのプレフィックスを削除します。ただし、一部のCSSは編集しません。このCSSにはいくつかのプレフィックスが含まれています。これらのプレフィックスをCSSに残した場合でも、-prefix-freeは正しく機能しますか、それともCSSファイルを調べてすべてのプレフィックスを削除する必要がある理由がありますか?

言い換えると、CSSのプレフィックスは、-prefix-freeスクリプトと組み合わせて壊れたり、奇妙な機能を引き起こしたりしますか?

4

2 に答える 2

3

-prefix-freeは、スタイルシートですでにプレフィックスが付けられているすべてのプロパティをそのままにします。実際、少なくとも1つの個別のプレフィックスを指定した場合、同じプロパティまたはルールに他のプレフィックスは追加されません。

たとえば、

-webkit-border-radius: 10px;

その場合、-prefix-freeは4.0より古いFirefoxバージョンには追加されません。また、どのブラウザにもプレフィックスなしが追加されません。WebKitブラウザーは、を理解しているため、通常どおり境界線の半径を適用します。-moz-border-radiusborder-radius-webkit-border-radius

-prefix-freeで他のブラウザのプレフィックスを追加する場合は、これを次のように変更する必要があります。

border-radius: 10px;

したがって、必要なすべてのプレフィックスを適用するプロパティによって異なります。-prefix-freeで必要なすべての場所にプレフィックスを適用する場合は、スタイルシートを確認して、すでに存在するプレフィックスをすべて削除する必要があります。

-webkit-appearanceもちろん、WebKit固有の疑似要素や。などの特定のプロパティのプレフィックスをハードコーディングしたままにしておくこともできます-webkit-text-size-adjust。繰り返しますが、これはプロパティによって異なります。レイアウトのニーズに基づいて調査および決定する必要がある場合があります。

スクリプトのホームページには、プレフィックス付きおよびプレフィックスなしのプロパティの結果をプレビューするために使用できるテストドライブが含まれています。結果はテストドライブの実行に使用するブラウザーに合わせて調整されているためborder-radius、Firefox 4以降で追加して実行しても、変更は表示されないことに注意してください。ただし、-webkit-border-radius代わりに宣言を配置すると、使用しているブラウザーに関係なく、-prefix-freeによって、接頭辞なしのプロパティを追加しなくても、プレビューペインでその宣言が変更されないことがわかります。

于 2013-01-14T03:24:41.890 に答える
0

これら-prefixesは、ブラウザに存在するが、まだ標準化されていないか、完全な実装が行われていない機能をサポートするためだけのものです。

多くの仕様が標準化されたため、特定のプロパティのプレフィックスの要件は不要になり、多くのバージョンから存在しています。例:border-radius

ここを見て、どのプロパティにまだプレフィックスが必要かを確認できます。

一部の要素にプレフィックスが付いているCSSを使用しても効果はありませんが、他の要素にはプレフィックスがありません。

于 2013-01-14T03:19:38.067 に答える