KuzLog

KuzLog
2017/02/03 2018/01/13 Web制作

ブロック要素をaタグで囲うのはルール違反?調べてみた結果…

トップページの記事一覧部分のコードを整理している時に気付いたんですが、うちのブログ、div要素をaタグで囲ってました。

あれ?インライン要素の中にブロック要素を含めるのってダメだよな…

ブロック要素全体をリンク対象にするには全体をaタグで囲っちまうのが一番手っ取り早いんですが、もしこのやり方がHTMLの構文的にアウトだとしたら、めんどくさいけど直さなきゃなぁ…と思って調べたところ…

結論から言うと「OK」

ググったらこのページに答えが書いてありました。

HTML5では、インライン要素とブロックレベル要素の分類は廃止されており、 段落・リスト・表などのセクションに対しても、全体を<a>~</a>で囲んでリンクを指定できるようになっています。 ただし、その中に他のリンクやフォームボタンなどのインタラクティブコンテンツが含まれる場合には、リンクを指定することはできません。

なるほど、HTML5として宣言されたページなら、aタグでdiv要素等を囲うのは問題ないみたいです。良かった良かった。

てかインライン要素とブロックレベル要素の分類が廃止…?え?知らないんだけど。完全に勉強不足だこれ…

とにかく、DOCTYPE宣言で「このページはHTML5で作りましたよー」って宣言しとけばOKです。