doctype 宣 言 のありなしの違 い
◆ strict モードか互 換 モードかが変 わる
◆ デフォルトのマージンで画 面 外 の部 分 は無 視 される
◆ css の px が省 略 可 能
◆ デフォルトのマージンで
◆ css の px が
みなさん doctype 宣 言 書 いてますかー?
ちょっと試 したい時 には 書 かないで作 って あとから書 いてある方 に埋 め込むと動 かなかったりずれてたり そういうことがあるのでとりあえず全 部 に書 いておいたほうがいいと思 います
行 目 に書 くだけです
コピペしなくても特 に困 らない長 さです
どういう違 いがあるかですが 上 の宣 言 文 は HTML5 の書 き方 で sttrict モードになります
何 もかかないのは 互 換 モードです
互 換 モードは名 前 の通 り昔 の記 述 方 法 でも動 くようにしています
こっちのほうが便 利 なところもありますが HTML5 は strict モードだけらしいですし strict モードをメインに考 えていけばいいと思 います
宣 言 なしだと HTML5 が使 えないってわけではないんですけどね
よく困 る違 いは 高 さの 100% の扱 いの違 いですね
strict モードだと html と body から height:100% を指 定 しないとダメです
さらに Chrome だとなぜか 100% なのにはみ出 てスクロールバーが出 るバグのような挙 動 をします
ここまでは (Chromeがおかしいのは除 いて)有 名 なところだと思 います
今 回 は 最 近 私 が気 づいた部 分 2つの紹 介 です
サンプルを用 意 してるので比 較 してみてください
doctype宣 言 あり
doctype宣 言 なし

見 てみてください
宣 言 なしのほうが上 の方 に文 字 があります
p タグは Chrome だと 18px の上 下 マージンがデフォルト値 です
宣 言 ありでは 18px 上 部 に確 保 されていますが 宣 言 なしではマージンは body タグの部 分 だけで p タグ分 の上 部 マージンはありません
ですが自 分 で margin:18px 0; と設 定 すると 宣 言 ありと一 緒 の位 置 になります
ブラウザ固 有 のスタイルに限 り適 用 されないみたいです
黄 緑 の四 角 にマウスカーソルを持 っていってください
宣 言 なしでは ピンクの四 角 が移 動 しますが 宣 言 ありだと移 動 しません
違 いは スタイルの変 更 で px をつけるかどうかです宣 言 なしの方 はちゃんと 100px にしてくれています
1つめは宣 言 ありの動 きのほうが好 きですが 2つめは宣 言 なしの動 きのほうが好 きです
こういう違 いは探 すとまだまだありそうなので互 換 モードで作 ったのを strict モードにコピペするのは危 険 だと思 います
可 能 なら最 初 から両 方 一 緒 にしたほうがいいです
ちょっと
<!doctype html>
これを1コピペしなくても
違 いは?
どういうこっちのほうが
よく
strict モードだと html と body から height:100% を
さらに Chrome だとなぜか 100% なのにはみ
気 づきづらい違 い
ここまでは (Chromeがおかしいのはサンプルを
doctype
doctype
1つめ
margin をp タグは Chrome だと 18px の
ですが
ブラウザ
2つめ
elem.style.left = 100
と px なしでも 1つめは
こういう