web-dev-qa-db-ja.com

HTML5やCSS3を使用してWebサイトを構築する必要がありますか?

新しいHTML5/CSS3(Web8!)のものはかっこいいですね!今すぐ使用を開始するか、css/xhtmlを使い続ける必要がありますか?

16
Jason

HTML5は、IE5を含むすべてのブラウザーでサポートされるようになりました(html5shivスクリプトを使用する場合)。読むことを強くお勧めします http://diveintohtml5.org これは、最高のHTML5リソースの1つです。

CSS3については、使用する場合は、通常の構文に加えて、ベンダーのpredixも必ず使用してください。例えば.

境界半径

-moz-border-radius

-webkit-border-radius

私は進歩的な強化を信じています。 IE9のcss3サポートは非​​常に有望です。

13
Jin

おそらく。

HTML5には、今すぐ使用できる部分があります。たとえばフォーム。 HTML5をサポートしていないブラウザー(はい、IE6でも)に<input type="email">がある場合、<input type="text">を使用した場合と同じものが表示されます。しかし、HTML5フォーム要素をサポートするブラウザーでは、emailタイプの利点が得られます。つまり、クライアントは余分なJSを必要とせずに値をエラーチェックします。はい、HTML5以外のブラウザにはJSが必要ですが、サポートするブラウザにはもう1つの検証レイヤーがあります。

別の このサイトに関する質問 は、HTML5およびCSS3で利用可能な新機能の概要を提供します。その質問には、フォームに関する多くの優れたデータもあります。

Internet Explorer(およびSafariとFirefoxの古いバージョン、まれではあるが)はこれらの機能の多くをサポートしていないため、空白を埋めるためにJavaScriptライブラリが残っています。これらには、パフォーマンスヒットが含まれます(使用する必要があるのはブラウザのみですが)ため、使用する際はユーザーに注意してください。

機能サポートの欠如に関する問題を軽減するには、これらの新機能が価値があると判断した場合、次のリソースを使用します。

  • html5shiv: IEのJavaScript shivは、HTML5要素を認識およびスタイルします。
  • CSS3パイ: IE添付動作(.htcファイル)により、Internet Explorer 6-8は、最も多くの便利なCSS3装飾機能。要素に適用すると、IEがborder-radiusbox-shadowborder-image、複数の背景画像、およびlinear-gradientを認識して背景画像として表示できます。 。
  • Modernizr:機能検出を使用して、今後のCSS3/HTML5機能に対して現在のブラウザーをテストし、サポートされるクラスの<html>要素にクラスを追加するJavascriptライブラリ。また、各機能のブールプロパティ、サポートされている場合はtrue、サポートされていない場合はfalseを含むセルフタイトルのグローバルJavaScriptオブジェクトを作成します。 HTML5要素のスタイルと印刷のサポートを追加して、<section><header><nav>などの要素を使用できるようにします。
  • ie-css3.js: Internet ExplorerはCSS3擬似クラスセレクターを識別し、それらで定義されたスタイルルールをレンダリングできます。サイトが使用するJavaScriptライブラリに基づいて、さまざまなCSS3セレクターをサポートします。
  • DD_belatedPNG: IE6にPNG画像サポートを追加するJavascriptライブラリ。 PNGは、<img />要素のsrcまたはCSSのbackground-imageプロパティとして使用できます。 AlphaImageLoaderとは異なり、background-positionおよびbackground-repeatは意図したとおりに機能し、要素はa:hover疑似クラスに応答します。
  • TwinHelix IE PNG Fix:アルファ付きのPNGサポートを追加するIE添付動作(.htcファイル) IEへの不透明度6.完全なCSSバックグラウンドポジショニングとリピートが(CSSスプライトを含む)追加(含まれる)JavaScriptでサポートされています。
  • Whatever:hover: IE6の:hover、:activeおよび:focusに自動的にパッチを適用するIE添付動作(.htcファイル) 、IE7およびIE8の癖があり、他のブラウザと同じように使用できます。 AJAXのサポートが含まれます。つまり、javascriptを介してドキュメントに挿入されるHTMLは、IEで:hover:active、および:focusスタイルもトリガーします。

興味深いことに、DD_belatedPNGはWhatever:hoverとTwinHelixのIE PNG Fixが純粋なJavaScriptで解決した両方の問題を解決し、Whatever:hoverとTwinHelixのIE PNG FixはJavaScriptと_の組み合わせを使用します。IE添付の動作(.htc files)。

一般に、IE以外のブラウザを使用する人は、求められたときにアップグレードするため、IEは「しかし、一部のブラウザはこの機能をサポートしていない!」苦情。 Modernizrは、IEだけでなく、表示される可能性のある任意のブラウザーにHTML5/CSS3を使用する機能を追加します。 ie-css3.jsは同じことを行います。IE条件付きコメントなしで実装する必要があります(つまり、allブラウザーは最終的にそれを取得することになります)サーバー側のユーザーエージェントチェックに含めない限り、IEユーザーだけでなく、すべての訪問者のパフォーマンスが大幅に低下します。)

12
Bryson

ニーズに最も適したテクノロジーを使用してください。

Eric Meyerは、CSSルールでベンダー固有のプレフィックスを使用し始めるのが以前のCSSフィルターハックを使用するのと同じではない理由について A nice article を書きました。

同じことがHTML5にも当てはまると思います。さまざまな機能のブラウザサポートを確認できる場合は、使用しないでください。サイトが正常に劣化する限り、それを維持します。

5
jessegavin

使用するCSS3機能を決定する際に役立つその他のリンク: http://caniuse.com/ (どのプラットフォームでどの要素とセレクターが使用可能かを十分に説明します)

http://css3please.com/ (CSS3機能を混乱させるページ内編集可能なプレイグラウンド。これは、一般的に要求されるスタイリングのプラットフォームによってサポートされるテクニックと機能に関するアドバイスも提供します。丸い角、グラデーションの背景など)

2

私はこれを使用して、最新のブラウザーでのエクスペリエンスを強化し、優れたブラウザーを持つユーザーが見栄えの良いUI(丸い角、影、そのようなもの)で「報酬」を得られるようにします。何らかのJSフォールバックを取得しない限り、現在のクライアント側のフォーム検証の代わりに使用しないでください。

1
D4V360

古いブラウザでもサポートされるHTML5を使用して新しいプロジェクトを開始する場合、最良のオプションはInitializrを使用することです-

http://www.initializr.com/

バックエンドでHTML5 Boilerplateを使用し、独自のいくつかのオプションを追加して、独自のサイトにデプロイできるテンプレートを提供します。 Javascriptライブラリ(HTML ShivやModernizrなど)が含まれているため、サイトが古いブラウザーと互換性があります。

1
Mozan Sykol

視聴者が何であり、どの機能を使用するかによって異なります。平均的なプロジェクトがie6のサポートを終了できるようになるまでに、さらに数年かかると予想しています:(

0
theotherreceive

サイトがプライベートイントラネットであり、ブラウザーを制御するか、処理するブラウザーの範囲が限られている場合は、最先端のテクノロジーに気軽に取り組んでください。

そうでない場合は、何を使用しても、常に最小公分母を考慮する必要があります。この場合、おそらくIE 6とモバイルブラウザの範囲の組み合わせです。したがって、HTML 5を使用すると、サイトが適切に「劣化」することを確認するという追加の問題が発生します。

0
Gary.Ray