読者です 読者をやめる 読者になる 読者になる

謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

HTML5 の基本を学び直す

html5 勉強 日記

HTML5 では DOCTYPE 宣言は html としか書かない。

HTML5 からは DTD を指定するという意味合いから、単に「レンダリングモードがHTMLですよ」というだけの意味に変わった。

省略可能なタグ

  • html/head/body/tbody/colgroup はタグ自体を省略可能
    • tbody : テーブルの本体
    • colgroup : thead の前にでも置く、テーブルの縦列単位でグループ化、まとめて設定するためのタグ。
  • li/dt/dd/p/tr/td/th/rt/rp/optgroup/option/thread/tfoot は終了タグを省略可能
    • rb,rt : ruby タグのサブタグ 弾幕(だんまく) と書いて試せ
    • optgroup : option (セレクトボックス)の内容をグループ化するタグ
    • thead/tfoot : テーブルヘッダ/フッタ。間に tbody を突っ込む。
  • br/img/hr/meta/input/embet/area/base/col/keygen/link/param/source は開始タグだけで意味がある
    • embet : 外部アプリケーションやインタラクティブなコンテンツを埋め込むタグ
    • area : 画像の部分部分にリンクを仕込む機能(クリッカブルマップ)の指定
    • base : header に指定、スタイルシートとかJavaScriptソースのパスルートを指定する
    • col : colgroup に近いが、グループ化はしない
    • keygen : フォーム送信時にキーを発行して送りつける(multipart/form-data 必須)。RSA したいときとか使うそうだ
    • source : video タグとかの子要素で指定。名前の通り

すべてのタグで利用可能な属性(グローバル属性)

  • accessKey : キーボードショートカットキー
  • class : スタイルシートクラスの指定
  • contenteditable : 編集可能指定
  • contextmenu : menu 要素の id を指定してコンテクストメニューを表示
  • dir : テキストの方向を指定
  • draggable : ドラッグ可能指定
  • hidden : 関係・無関係の指定
  • id : ユニークID
  • lang : この要素で使用する言語を指定、普通は html につける
  • spellcheck : スペルチェックの設定
  • style : スタイルシートを直書き
  • tabindex : タブインデックス
  • title : タイトル指定
  • data : 独自データを指定

タグの種類、意味(調べた順)

HTML タグは基本的にグローバル属性のみ。
規約上は、必ず head 要素、head > title 要素を入れる必要がある。

mata タグは head 上に配置する情報タグ。head の先頭に置く必要がある。charset は必須ではないが推奨の設定。
属性はグローバル以外に name, http-equiv, content, charset がある。
meta の name には有名どころで keyword, description がある。どっちも有名。keyword スパムやめてくれマジで。
http-equiv はプラグマ指定子を指定するそうだ。ブラウザに文書の状態、挙動を指示するもの。Content−Type, refresh などが指定される。

style タグは、文書内のスタイルを指定する。一応どこに置いても合法だが、head に置くのが行儀いい。
media 属性で、対象を指定できる。

  • all : 全部に適用
  • screen : ディスプレイに適用
  • speech : 読み上げブラウザに適用
  • braille : 点字ディスプレイとか
  • embossed : 点字プリンタ
  • handheld : 携帯機器
  • print : 印刷用
  • projection : プロジェクタ用
  • tty : 文字が固定された機器、コンソールブラウザとか
  • tv : テレビ用

script タグはHTML5 で仕様が変更になってる。
head でも body でも書き出して操作できるそうな。src の意味は変わらず、async が追加(利用可能な時に読み込んで実行)されてる。
defer 属性で、読み込み完了時に実行、type のデフォルトが text/javascript になった。charset でエンコーディング指定。

noscript タグはスクリプトが実行されない環境で代わりに表示するもの。「JavaScript 許可せーや!」メッセージ置く用かね?