2009-10-15 18 views
16

最近、私はdoctypesについて学んでいましたが、<!DOCTYPE html>と他のいくつかの違いは何ですか?HTML5のdoctypeを使用するとどうなりますか?

私は<!DOCTYPE html>がHTML5のdoctypeであり、実験的ですが、他のdoctypeの代わりに使用すればどうなりますか?

ありがとうございます!!!!

+6

これはあなたの答えを含めることができます。http://stackoverflow.com/questions/5629/any-reason-to-start-using-the-html-5-doctype – Greg

答えて

11

基本的には、あなたのページを「標準モード」でレンダリングすることができます。

XHTML 1.0マークアップを使用し、XHTML 1.0に準拠したい場合は、新しいDOCTYPEを使用しないでください。

HTML5を使用することの欠点は、仕様が変更できることです。これにより、積極的に変化する仕様に追いつくことが重要になります。

私はすでに自分のページに新しい構文を使用し始めています。また、それはあなたのページがlast for a very, very, long timeであることを保証します。

それでは()、それをどのようにシンプルに使うのが好きなのはです。

3

ルーカスは最も重要な側面を釘付けにしました。

ブラウザでは、doctypeはレンダリングモードを設定するために1つの目的、つまりQuirks、ほぼ標準と完全標準モードを提供します。これはMSIE 8が第2のスイッチを導入するまでは単純でしたが、「互換モード」= MSIE7バグと制限は意図的に保持されます。

HTML5のdoctypeは(通常)その設定を上書きします。したがって、XHTML 1.xまたはHTML 4.01のdoctypeよりも幾分強力です。モードを切り替えると、レイアウトdoctypeをするために決定的なガイドは、である(MSIEはしかし、時にはそれをオーバーライドすることがあります。)

を:http://hsivonen.iki.fi/doctype/

どうなる2つ目はHTML5のルールに従って、あなたがあなたのページを検証してしまうことがあります。 HTML 4で許されていた要素や属性のいくつかはなくなり、新しいものが来ています。

編集:削除の例。以前はインライン要素とブロック要素として知られていたものを混在させても問題ありません。(元の提案ではありませんでした)

HTML5のセマンティクスと構文はHTML 4のものとほとんど同じですので、よく書かれたHTML 4サイトは引き続き検証されます。主な違いは、あなたが新しいものを使い始めてもまだ有効であることです。

+0

@Lars - ようこそ。そのようにコードをエンコードする必要はありません.4つのスペースで好きなように始めたり、コードボタン(1010101)をクリックします。 – Kobi

+0

@コビ:私は彼のためにそれを修正しました。 – Kredns

+0

HTML5の兄弟としてブロックとインライン要素を混在させることには何も問題ありません。ブルースの答えを見てください – Anish

3

HTML5のdoctypeは実験的ではありません。 Ian Hicksonは多数のブラウザをテストし、<!DOCTYPE html>がHTML 4とXHTML 1のdoctypes(つまり標準モードを起動した)と同じように動作することを発見しました。

しかし、これを使用すると、バリデータはHTML5であるかのようにページを検証します(デフォルトでは、実際にHTML4を書いている場合はそうでないかもしれません)。(例:some elements are getting dropped in HTML5。ページをHTML5として検証した場合はエラーとして表示されます。)

0

<div> 
    <p>foo</p> 
    <span>bar</span> 
</div> 

(用語「ブロックレベル」と「インライン」要素はHTML5で廃止され

について違法何もない)