6 に答える
HTML 5 では、<a>(有効な) インライン要素だけでなく、ブロック要素なども含めることができます。
インライン要素 (a, span, strong, emとりわけ ) には、他のインライン要素とテキスト ノードを含めることができます。アンカーには、テキスト ノードを含むことができるスパンを含めることができます。
一般に、ブロック レベル要素には、インライン要素と他のブロック レベル要素を含めることができます。一般に、インライン要素には、データと他のインライン要素のみを含めることができます。この構造上の違いに固有のものは、ブロック要素がインライン要素よりも「大きな」構造を作成するという考えです。
http://www.w3.org/TR/html401/struct/global.htmlから
他の回答で述べたように、 を にネストすることはできませaんa。
タグには、別のタグ以外の<a>任意のインライン要素<a>を含めることができます。
仕様のアンカー セクションを参照してください。
<!ELEMENT A - - (%inline;)* -(A) -- anchor -->
関連するセクションは です(%inline;)* -(A)。これは、「A 要素を除くグループ %inline 内のすべて」を意味します。%inlineは、簡単に展開できるようにハイパーリンクされています。
プレーン テキストとインライン要素を含めることができます。インライン要素は次のとおりです。
TT | I | B | BIG | SMALL | EM | STRONG | DFN | CODE | SAMP |
KBD | VAR | CITE | ABBR | ACRONYM | A | IMG | OBJECT | BR |
SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO
しかしA、別のものにネストすることはできず、ネストしても意味がAありSCRIPTません。
アンカー タグはインライン要素であるため、他のインライン要素を含めることができます (他のアンカー タグを除く)。
アンカー内にブロック要素を配置する場合は、インライン要素を使用し、アンカー タグ自体と共に CSS を使用してそれをブロック要素に変換する必要があります。
例:
<a href="page.html" class="blocklink"><span>eat me</span></a>
CSS:
.blocklink { display: block; }
.blocklink span { display: block; }