You are here: Home » html関係 » DOCTYPE 宣言、html4.0、xhtml、html5とかの事

DOCTYPE 宣言、html4.0、xhtml、html5とかの事

名称未設定-4-min

DOCTYPE 宣言とはhtmlを記述する際に、この言語を記述しますよとブラウザに宣言する、DTD=Document Type Definition(文書型宣言)です。

 

html4.0、xhtml、html5などは、そのバージョンごとに使えるタグや記述方法が違ってくるので最初にブラウザに「これで記述します」と、教えてあげることが必要になるのです。

また、<!DOCTYPE>は、<HTML>タグよりも上(文章の先頭)に記述します。

スポンサーリンク

html4.0の場合

html4.0の<!DOCTYPE>は三つの種類があります。

html4.0 Strict

html4.0 Strict(Strictとは厳格の意味)は、いくつかの属性と要素が非推奨になっていて、フレームを使用することもできません。

具体的には、<font>、<menu>、<center>、<u>、<s>など、物理要素、デザインに関わる要素が非推奨になってます。

なぜか、<b>、<big>、<i>、<small>、<tt>など非推奨ではないです。

この理由には、htmlでデザインをしないで、cssでデザインをする方が管理運営しやすいので、htmlタグのデザインに関するタグをできるだ非推奨したかったとい思われます。タグは大文字・小文字のどちらでもかまいません。

 

さらに、様々な記述制限があるので扱いずらいとも言われていました。

また

 

こんな感じで、終了タグとかを省くこともできました

 

個人的には本人はいい加減で、コーダーに厳しいイメージのStrictでしたが、改善?されたTransitionalというのが出てくることになります。

 

 

html4.0 Transitional

html4.0 Transitional(過渡的)上に書いた要素や属性は使用できるようになってます。厳格だったStrictに比べて要素の配置などは制限が緩くなりましたが、フレームを使用することができません。 ひと昔前は、ほとんどのTransitionalを使っていました。

 

html4.0 Frameset

Transitionalとほぼ同じで、フレームが使用できます。

xhmlの場合

xhtml=Extensible HyperText Markup Language(エクステンシブル ハイパーテキスト マークアップ ランゲージ)は、バージョンが変わるたびに複雑化するhtmlをxmlのルールに従って再定義したマークアップ言語(扱いやすくなった)。

 

4.0とほとんど同じタグが使え、3種類のhtmlがあります(xhml 1.0 Transitionalを使うことがほとんどでした)。

4.0と違うのは大文字小文字は区別され、要素、属性は小文字で書く必要があり、今では当たり前ですが/>閉じタグと、属性値は” “ダブルコーテーションが必要です。

また、xhtmlの標準の文字コードセットはutf-8、またはutf-16です。

スポンサーリンク

xhmlの場合

xhtmlは、xml=Extensible Markup Language(エクステンシブルマークアップ ランゲージ)を採用したので、

MathML=Mathematical Markup Language(マスマティカル マークアップ ランゲージ)や

svg=Scalable Vector Graphics(スケーラブル・ベクター・グラフィックス)など他のxml文書を埋め込むことができるようになりました。

 

xmlはメタ言語なので(メタ言語=言語に情報を持たせる言語)。なのでxmlを使うだけで情報は記述する事ができないです。htmlは元々文書を表示する為に作られた言語なので、データの管理などはほとんどできません、そこをW3Cという機関が1998年にxmlを使いデータの管理もできるようにしようとしたのがxhtmlです。

 

htmlは表示に特化しているので、人間用、xmlはデータの意味を理解し管理できるので、コンピュータ用のイメージで良いと思います。

その二つを足したのがxhtmlです。

 

xmlベースの言語はたくさんあります。

分かりやすく言うと、xmlという大きな街にある、一つ地域がxhtmlで、その街にはMathMLやsvgもあるということです。

 

xhml 1.0 Transitionalの場合の<!DOCTYPE>

html5の場合

 

かなり短くなり、あんまり意味無いと言われてたりもしますが、必要な宣言です。

大文字と小文字は区別されません。

これからの時代はほとんどこれになっていくと思います。

 

<!DOCTYPE>しないとモードが変わる

ブラウザにはレンダリングモードがあります。レンダリングモードとはブラウザの表示状態の事で、DOCTYPE宣言が無いと、ほとんどのブラウザではレンダリングモードがまだcssとかなかった時代の過去のブラウザのモードの互換モードになることもあります。

なので、互換モードになると、cssが制作者の意図とは違って表示されてしまうことがあります。

それを避けるために、<!DOCTYPE>をしておくと、cssを正しく表示される標準モードになるのです。

スポンサーリンク

コメントを残す