◆ strict モードか互換ごかんモードかがわる
◆ デフォルトのマージンで画面がめんがい部分ぶぶん無視むしされる
◆ css の px が省略しょうりゃく可能かのう

みなさん doctype 宣言せんげんいてますかー?

ちょっとためしたいときには かないでつくって あとからいてあるほうむとうごかなかったりずれてたり そういうことがあるのでとりあえず全部ぜんぶいておいたほうがいいとおもいます

<!doctype html>
これを1ぎょうくだけです
コピペしなくてもとくこまらないながさです

ちがいは?

どういうちがいがあるかですが うえ宣言せんげんぶんは HTML5 のかたで sttrict モードになります
なにもかかないのは 互換ごかんモードです
互換ごかんモードは名前なまえとおむかし記述きじゅつ方法ほうほうでもうごくようにしています
こっちのほうが便利べんりなところもありますが HTML5 は strict モードだけらしいですし strict モードをメインにかんがえていけばいいとおもいます
宣言せんげんなしだと HTML5 が使つかえないってわけではないんですけどね

よくこまちがいは たかさの 100% のあつかいのちがいですね
strict モードだと html と body から height:100% を指定していしないとダメです
さらに Chrome だとなぜか 100% なのにはみてスクロールバーがるバグのような挙動きょどうをします

づきづらいちが

ここまでは (Chromeがおかしいのはのぞいて)有名ゆうめいなところだとおもいます
今回こんかい最近さいきんわたしづいた部分ぶぶん2つの紹介しょうかいです

サンプルを用意よういしてるので比較ひかくしてみてください
doctype 宣言せんげんあり
doctype 宣言せんげんなし

doctype-px-sample

1つめ

margin をてみてください
宣言せんげんなしのほうがうえほう文字もじがあります

p タグは Chrome だと 18px の上下じょうげマージンがデフォルトです
宣言せんげんありでは 18px 上部じょうぶ確保かくほされていますが 宣言せんげんなしではマージンは body タグの部分ぶぶんだけで p タグぶん上部じょうぶマージンはありません

ですが 自分じぶんで margin:18px 0; と設定せっていすると 宣言せんげんありと一緒いっしょ位置いちになります
ブラウザ固有こゆうのスタイルにかぎ適用てきようされないみたいです

2つめ

みどり四角しかくにマウスカーソルをっていってください
宣言せんげんなしでは ピンクの四角よつかど移動いどうしますが 宣言せんげんありだと移動いどうしません

ちがいは スタイルの変更へんこうで px をつけるかどうかです
elem.style.left = 100
と px なしでも 宣言せんげんなしのほうはちゃんと 100px にしてくれています




1つめは宣言せんげんありのうごきのほうがきですが 2つめは宣言せんげんなしのうごきのほうがきです

こういうちがいはさがすとまだまだありそうなので互換ごかんモードでつくったのを strict モードにコピペするのは危険きけんだとおもいます
可能かのうなら最初さいしょから両方りょうほう一緒いっしょにしたほうがいいです