IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

HTML5 の DOCTYPE 宣言って IE6 でも標準モードになるんですね

HTML5 の DOCTYPE 宣言

<!DOCTYPE html>

ですが、今までなんとなく「どーせ IE6 では互換モードなんでしょー」って感じで生きてきたんです。
ごめんなさいごめんなさい><

サンプルコード

確認してみてください

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>HTML5 の DOCTYPE 宣言とレンダリングモードのテスト</title>
    </head>
    <body>
        <h1>HTML5 の DOCTYPE 宣言とレンダリングモードのテスト</h1>
        <dl>
            <dt>CSS1Compat</dt>
            <dd>標準モード</dd>
            <dt>BackCompat</dt>
            <dd>互換モード</dd>
        <dl>
        <script type="text/javascript">alert(document.compatMode)</script>
    </body>
</html>

まとめ

今度から HTML5 でコーディングすることにしてみます。(当然ブラウザが対応してない nav とか section とかは使いませんが)

駄文 - HTML は 20 年後どうなっているんだろう

ちょっと前にブクマを見てちょっとひっかかってたんですが

  • 2008年04月22日 kokorohamoe 20年後はもうWebじゃねーよ。20年前?電信じゃねーか。20年後もWebってどんだけ技術革新おくれてんだよ。
  • 2008年04月22日 t-tanaka 20年とは大きく出た。そもそもWebがメジャーなメディアとして残ってるのか? 1988年に「20年後のディスコで流行っている曲は」とかやってるみたいだ。
  • 2008年04月22日 noitseuq ネタエントリを本気で記事にするなんて。Webはあくまでもブラウザを介したものだから20年後は怪しい。ネット。
http://b.hatena.ne.jp/entry/http://trendy.nikkeibp.co.jp/article/column/20080416/1009441/

HTML5 は 20 年後

HTML5は、2022年以降にW3C勧告に至ると見込んでいます。2004年半ばから始めましたので、だいたい18年から20年の開発となるでしょう。

http://www.html5.jp/trans/whatwg_html5faq.html

20 年後

  • HTML は残っているか
  • HTTP は残っているか
  • TCP/IP は残っているか
  • 上にレイヤーが追加されるか
  • 下のレイヤーから入れ替わるか

どういう時代が来るんだろうか、そのとき僕は 46 歳。

駄文 - いつも先にブクマしているハテナーさん

海外の HTML とか CSS とか JS の記事で興味深い記事(特に仕様の一次ソース)があると b:id:vantguarde さんがいつも先にブックマークしてる。すごい。要お気に入り
どんな人か気になるんだけど、自己紹介とか見つからないな><

HTML5 のバリデーションを行ってくれるサービスがある

まだ Tech Preview 版ですが

WHATWGHTML5 のバリデーションを行ってくれるサービスを発見しました。
http://html5.validator.nu/

新しいものを追いかけたい人にはいい気がします。

僕もその一人です。

body の overflow: hidden が変

以下のようなコードがあって

...
<html>
...
 <body>
  <div></div>
 </body>
</html>

body が overflow hidden で幅固定で div が横に伸びていったら div は body を「はみ出ない」と思うんだ。
でも、ブラウザによってははみ出てしまう。

Opera 9
はみ出る
Safari 3
はみ出る
Firefox 2
はみ出ない
IE 6
はみ出ない
IE 7
はみ出ない

ただのバグなのかな?でも、 SafariOpera が同じ挙動なのでどうなんだろう?

この変は見てみたけど

http://www.w3.org/TR/CSS21/visufx.html#overflow
「はみ出ない」のが正しい気がする。

xmllint で XHTML をバリデーション

XHTML を書くとき

ちゃんと DOCTYPE 宣言で正しい DTD が示されていれば、 xmllint で簡単にバリデーションが出来ます。

$ xmllint --valid --noout hoge.html

便利です。
バリデーションが通らなかった場合は、根拠となる DTD が表示されるので勉強にもなります。

Another HTML Lint もいいんですけど

xmllint のバリデーションが通ればデータとしては正しいので、 xmllint だけで十分といえば十分。
Another HTML Lint などの「エレガントさ」を計る類いのものは参考程度にしておいて、「エレガントさ」は自分で探していくほうが正しい気がします。