2012-02-19 29 views
10

「ECOTree」という素晴らしいjavascript組織ツリージェネレータを使用しますが、<!DOCTYPE html>を入力すると描画が機能しません。ボックス内のラベルは正しくボックスに入れられません。"<!DOCTYPE html>"それはどういう意味ですか?

以下のサイトのsample1.htmでエラーが表示されます。誰でも私に修正方法を教えてもらえますか? http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=16192

(私のプロジェクトのルールに従うために、私は<!DOCTYPE html>を定義する必要が)

+6

'<!DOCTYPE html>'はドキュメントのdoctypeです。基本的にWebブラウザにページのレンダリング方法を伝えます(異なるdoctypeがあります)。ページが適切なdoctypeで不適切にレンダリングされた場合、ページが正しくコーディングされていないことを意味します。 – Blender

+5

[What's up、Doctype?]の複製が可能ですか(0120-998-301) – animuson

+0

Thaks a lot!あなたが言ったように、この質問は重複しています。私はそれを読むでしょう( "ECOTree"からサポートされていないコードを見つけるのは難しいかもしれませんが、試してみます) – zono

答えて

25

<!DOCTYPE html>が明示的Document Type Declarationです。

リンク先のページから:

DOCTYPE宣言(DTDや文書型宣言は)物事のカップルん:Webページ上のHTMLの検証テストを実行する場合

  1. それはHTMLを伝えますWebページのコーディングが遵守されていると思われる(X)HTML標準のバージョン(HyperText Markup Language)バリデーターです。 Webページを検証すると、HTMLバリデーターは該当する標準とコーディングをチェックし、コーディングのどの部分がHTML検証をパスしないかを報告します(準拠していません)。
  2. 標準対応モードでページをレンダリングする方法をブラウザに指示します。

#2は非常に重要な理由です。

<!DOCTYPE html>は、具体的には、correct declaration for HTML5であり、近い将来使用する必要があります。従来の文字列や古い文字列を使用することはできますが、以前に書かれた形式はHTML5で必要なものだけです。さらに、このDTDによって、HTML5をサポートしていない場合でも、最新のすべてのブラウザ dead link switch to their standards (compliance) modeが発生します。

Activating Browser Modes with Doctype & Choosing a Doctype (same page)
World Wide Web Consortium(彼らはWeb標準を作る)

+1

@thirtydot「第三者が行った包括的な声明に頼るのではなく、どのような特定のページが良い参考資料であるかを決める際には、自分自身を考えなければならない」(http://meta.stackexchange.com/a/87680)。リンクが間違っていない情報を提供していて、明らかに件名が分からない人のために吸収しやすいのであれば、それは良いリンクです。あなたが提供したリンクは、本を持って顔を打つようなものです。品質情報、私は確信していますが、レイマンの有用性についての理論的な白書のレベルにあります。 – rockerest

+0

"htmlはHTML5の宣言です"あ、そうではありません。有効なDOCTYPE宣言では、文書のルート要素が ''であることを意味します。シーケンス '<!DOCTYPE html> 'はHTML5仕様によって全体としてとらえられています。 – BoltClock

+0

w3schoolsのリンクを削除したのは、主にHTML5のdoctypeに言及していないからです。 2012年に、それはちょうど良いことではありません。 w3schoolsにリンクすることは、決して良い考えではありません。彼らの情報は何らかの形で欠陥があることが多く、たとえそうでなくても、アップボンスを得る可能性は低く、ダウンボート(個人的な経験)を得る可能性は高くなります。私が提供したリンクが複雑すぎるという懸念を緩和するため、http://hsivonen.iki.fi/doctype/#choosingへのリンクを更新することができます。これは重要な部分に直接つながります。あなたの答えをロールバックしてくれてくれてありがとう。 – thirtydot

2

「< DOCTYPE htmlの>!の」それはどういう意味:

ここではいくつかのより多くの情報ですか?

これは、Webページがhtml5標準に従ってレンダリングされることを意味します。ブラウザでサポートされていないものがある場合は、そのためにpolyfillを使用する必要があります。

13

<!DOCTYPE html>は、ではなく、 "ドキュメントタイプ宣言"です。

"ドキュメントタイプ宣言"は、マークアップ構文とそれに続くマークアップのためのボキャブラリをシグナリングするためのSGMLの概念です。 <!DOCTYPE html>はその要件に準拠していません。これは、SGML準拠の文書型宣言である<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">とは異なります。

<!DOCTYPE html>はHTML5ドキュメントを示します。

text/htmlシリアル化のHTML5準拠のドキュメントは、最初に<!DOCTYPE html>にする必要がありますが、その逆には当てはまりません。私。ドキュメントの先頭に<!DOCTYPE html>があり、HTML5ドキュメントではありません。たとえば、将来のすべてのバージョンのHTMLでは、開始時に同じ文字シーケンスが使用されることが意図されています。したがって、HTML5ドキュメント、HTML6、HTML7などのドキュメント、HTML5 + RDFa-liteドキュメント、または完全に競合する標準のドキュメントを示す可能性があります。

HTML5仕様では<!DOCTYPE html>"a required preamble"と記載されています。

これは、最新のHTML処理モードを使用して、ブラウザがドキュメントのHTMLを処理する必要があるレガシーおよび今後のブラウザに要求する最短の文字シーケンスです。その理由だけで、HTML5の準拠プリアンブルとして選ばれました。

何らかの意味があると言えるのは、文書が作成されたか、または2007年頃以降にリファクタリングされたことを示しているということです。繰り返しになりますが、その逆も必ずしも当てはまりません。 <!DOCTYPE html>が含まれていない文書は、特定の日付の前に文書が作成されたことを意味するものではありません。

+1

後継者:ワールド・ワイド・ウェブ・コンソーシアムの[文書型宣言リスト](http://www.w3.org/QA/2002/04/valid-dtd-list.html#DTD)。明示的に '<!DOCTYPE html>' _は文書型宣言ですが、公式にはまだ標準化されていません。さらに、上記の答えのリンク[HTMLドキュメントの作成時に他のDTDが廃止されていることを明示](http://www.w3.org/html/wg/drafts/html/master/syntax.html#obsolete-permitted -doctype) – rockerest

0

バージョンを示します。つまり、ページはHTML5で記述されています。 基本的には、ページが書き込まれるHTMLのバージョンに関するWebブラウザへの指示であり、Webブラウザにページのレンダリング方法を指示することさえあります。

http://www.w3.org/QA/2002/04/valid-dtd-list.html

0

⦁用語のDOCTYPEは、HTMLの種類は、ウェブページ上で使用されているブラウザに指示します:

には、以下のHTML文書型宣言リストのリストです。次に、ブラウザーはDOCTYPEを使用してページのレンダリング方法を決定します。 DOCTYPEを使用しないか、間違ったDOCTYPEを使用すると、Quirksモードでページが読み込まれることがあります。例を参照してください:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">. 
関連する問題