3

質問を編集しました

ベンダー固有の拡張機能とは何ですか?

ベンダー固有の拡張機能は、「-」(ダッシュ)または「_」(アンダースコア)で始まり、通常、その拡張機能が固有の会社またはブラウザープロジェクトの略語、Mozillaブラウザーの場合はfi「-moz-」が続きます。 、またはWebKitベースのブラウザの場合は「-webkit-」。このベンダー固有のプレフィックスの後には、プロパティ名が続きます。この良い例は、-webkit-border-radiusまたは-moz-border-radiusです。

IEには3つのものがあります。

  1. .htcファイルのサポート(javascriptと同じ)
  2. css式(javascriptの形式でもあります)
  3. 一部のIEのみのxhtmlおよびcssプロパティ

Web-kitMozillaには、独自のCSSプロパティもいくつかあります。

他のいくつかのリンク:

http://webdesign.about.com/cs/htmltags/a/aa012300a.htm

http://reference.sitepoint.com/css/vendorspecific#

http://www.456bereastreet.com/archive/200911/vendor-specific_extensions_are_invalid_css/

http://www.css3.info/vendor-specific-extensions-to-css3/

私の質問:

非W3C標準CSSを使用する場合、現在または将来、問題に直面する可能性がありますか?例:

  1. 同じソリューションのjqueryコードとベンダー固有のCSSコードがある場合、どちらを使用する必要がありますか?JSが無効になっている場合は、ベンダー固有のCSSソリューションを使用できますが、ページはW3C検証に合格しません。JSソリューションを使用すると、ページはバリデーターに渡されます。例としては、丸い角を作る場合があります。

  2. ベンダー固有のプロパティを使用しているためにサイトが完全にW3C検証されていない場合、何らかの意味で害がありますか?PC、MAC、iPhone、その他のモバイルなど、クロスブラウザーとプラットフォームの互換性を高めるために、ベンダー固有のものをできるだけ避ける必要がありますか?

  3. W3C検証に合格するために両方にソリューションがある場合、ベンダー固有のCSSプロパティではなくJSソリューションを選択する必要がありますか?毎回JSソリューションを選択すると、モバイルブラウザでサイトがうまく機能しなくなります。W3C検証でベンダー固有の拡張機能にエラーが発生する場合は、そのままにしておいてかまいませんか?

4

4 に答える 4

5

うーん…他のブラウザでは動かない…?

于 2009-12-26T06:13:14.293 に答える
5

ベンダー固有の拡張機能を検討する際に従うべき原則は、プログレッシブ エンハンスメントです。基本的な考え方は、できるだけ多くの人が利用できるようにサイトを設計する必要があるということです。JavaScript、CSS、またはあらゆる種類のベンダー固有の拡張機能を使用せずに、端末クライアントでプレーンな HTML 3.2 で動作するように設計します。

次に、スタイルと機能を追加します。すべてのブラウザーがサポートしているわけではないより高度な標準を使用し、ビジュアル メディアのデザインを使用し、無効にできる CSS と JavaScript を使用し、最後に、ブラウザーによってまったくサポートされていないベンダー固有の拡張機能を使用します。他のブラウザ。しかし、最初は誰もがサポートする共通の機能セットを考慮して設計を開始したため、サイトが機能するために新しい機能からの追加機能は必要ありません。新しい機能は機能強化として追加されたものであり、サイトが機能するために不可欠なものではないため、古い機能を備えた古いブラウザーでも引き続き機能します。

したがって、これらのベンダー固有の拡張機能に依存するのではなく、拡張機能として使用してください。何らかの理由でそれらに依存している場合 (特定のブラウザーで利用可能な拡張機能がないと製品が機能しない場合) は、使用する価値があるかもしれません。しかし、その場合、あなたの未来はそのブラウザーと密接に関連しています。道端に落ちたらSOLです。それが韓国でのみ使用されることになり、製品がドイツ語であり、別のブラウザーが支配的なものである場合、あなたは SOL です。

現在、これらの決定を行う際に選択できる、さまざまな種類のベンダー固有の機能があります。特定のベンダーに常に固有の機能がいくつかあります。他のプラットフォームに適用できない機能、または標準化団体に提案され、そのアプローチ全体が拒否された機能。これらの機能は、非常に慎重に使用したい機能です。

標準化過程にある他の機能があります。これらは現在の CSS 3 ドラフトにあり、2 つまたは 3 つの異なるブラウザーにほぼ互換性を持って実装されています。これらの機能は、ユーザーベースがすべてそれらをサポートしている場合、信頼できる機能です。これらの機能は、主要なブラウザーの大部分 (潜在的なユーザーの大多数によって使用される) によって実装されることがかなり確実であるためです。将来。

つまり、個々のブラウザーでのみサポートされている効果をページに自由に追加する必要があると言えます。ただし、主要なブラウザーすべてで間もなくサポートされると信じる十分な理由がない限り、これらに依存するべきではありません。主要なブラウザーでサポートされている HTML の現在の状態では、非常に多くのことができます。標準に準拠することは請求書を支払うことではなく、機能を提供することであり、ある程度のスタイルを提供することであることに留意しながら、できる限り現在の標準とブラウザ間で共通の機能の範囲内で作業してみてください。

ベンダー固有の拡張機能の長所と短所に関する質問への直接的な回答として:

長所

  • すぐに普及する可能性のある機能にアクセスする
  • お客様により良い価値を提供する
  • あなたは本当にクールで楽しいことをすることができます
  • 他のブラウザーの実装者や標準に取り組んでいる人々に、この機能が良いアイデアであることを奨励するのに役立ちます

短所

  • この機能はなくなり、同じブラウザの新しいバージョンでも表示されない可能性があります
  • このような拡張機能に依存している場合、ユーザー ベースが大幅に制限される可能性があります
  • この機能は、リリース前に大幅に変更される可能性があり、ページが壊れたり、特定が非常に困難な新しいスニッフィング モードが発生したりする可能性があります。

JavaScript ベースのアプローチと CSS 拡張アプローチのどちらを使用するかについては、ケースバイケースで判断する必要があります。プログレッシブエンハンスメントの原則に従うことができた場合は、どちらも問題なく使用できます。それがあなたのサイトに不可欠な機能でない限り、またはすべての主要なブラウザで同じことを行う別の方法を見つけている限り、JavaScript ソリューションよりも CSS の方が好ましいと言えます。より速い読み込み。

検証について考慮すべきことは、HTML が検証されることを確認することは一般的には良い考えですが (常に必須というわけではありません。たとえば、検証よりもダウンロード サイズを最小化することが重要であると考えているGoogleを参照してください)、ベンダー固有の理由による検証の失敗です。 CSS のプロパティはあまり重要ではありません。CSS では、不明なプロパティは単に無視されるように定義されているため、ベンダー固有のプロパティを使用しているために検証されない場合でも、そのプロパティをサポートしていないブラウザーでどのように動作するかがわかります。彼らはそれを無視します。プログレッシブ エンハンスメントのアプローチに従った場合、これらのプロパティが無視されてもサイトは正常に機能するはずです。つまり、サイトの見栄えが少し悪くなる以外に悪影響はありません。

于 2010-01-01T09:23:16.883 に答える
2

標準への準拠は、予測可能性と相互運用性につながるため、業界全体でベスト プラクティスと見なされています。

これは、Web コンテンツの作成だけでなく、すべての業界に当てはまります。

W3C が Web の標準化団体であることに同意するのであれば、W3C が設定したガイドラインに従う必要があります。

これは、誰が導入したかに関係なく、独自の拡張機能に依存しないことを意味します。

于 2009-12-26T06:21:21.327 に答える
0

あなたのサイトが厳密かつ排他的に Windows + IE ユーザーをターゲットにしており、Firefox ユーザー、Mac ユーザー、iPhone や Blackberry、Android デバイスなどからのすべてのトラフィックを喜んで失う場合を除き、独自の IE 拡張機能を使用することは信じられないほど近視眼的です。Microsoft は、近い将来、ユーザーがデフォルトのブラウザーとして選択できる「ブラウザーのパレット」を提供することで EU と合意したところです。将来。

Firefox のプロプライエタリな拡張機能を使用することは、ほとんど近視眼的です。すべての訪問者にサイトの FF に (IE、Safari、またはその他の好きなものから) 切り替えるよう説得するのは難しいでしょう。 FF をインストールできるデバイスは IE をインストールできるデバイスよりも広く、「従来の PC」よりもはるかに急速に成長している市場セグメントである iPhone や Android などのデバイスをまだ切り捨てています。

于 2009-12-26T06:18:28.760 に答える