web-dev-qa-db-ja.com

<a>タグにはどの要素を含めることができますか?

<a>タグ内に含めることができる有効なhtml要素がある場合、それは何ですか?

36
Ahmad

インライン要素(a, span, strong, emには、他のインライン要素やテキストノードを含めることができます。アンカーには、テキストノードを含めることができるスパンを含めることができます。

一般に、ブロックレベルの要素には、インライン要素と他のブロックレベルの要素が含まれる場合があります。通常、インライン要素には、データと他のインライン要素のみを含めることができます。この構造上の違いは、ブロック要素がインライン要素よりも「大きい」構造を作成するという考え方にあります。

から http://www.w3.org/TR/html401/struct/global.html

他の回答で述べたように、aaにネストすることはできません。

28
meder omuraliev

HTML 5以降、<a>には、(有効な)インライン要素だけでなく、ブロック要素なども含めることができます。

W3: http://dev.w3.org/html5/markup/a.html

54
Aya

<a>タグには、別の<a>タグのほかに、任意の インライン要素 を含めることができます。

3
Mike Sherov

仕様の アンカーセクション を参照してください。

<!ELEMENT A - - (%inline;)* -(A)       -- anchor -->

関連セクションは(%inline;)* -(A)は、「グループ%inline内の、A要素を除くすべてのもの」を意味します。 %inline はハイパーリンクされており、展開しやすくなっています。

3
Quentin

プレーンテキストとインライン要素を含めることができます。インライン要素は次のとおりです。

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を使用しても、seneseにはなりません。

2

アンカータグはインライン要素であるため、他のインライン要素を含めることができます(他のアンカータグを除く)。

アンカー内にブロック要素を配置する場合は、インライン要素を使用し、CSSを使用してアンカータグ自体と共にブロック要素に変換する必要があります。

例:

<a href="page.html" class="blocklink"><span>eat me</span></a>

CSS:

.blocklink { display: block; }
.blocklink span { display: block; }
2
Guffa