• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:<A>?</A> 内に書くことはできません。)

<A>内に書くことはできません。

このQ&Aのポイント
  • <A>?</A> 内に書くことはできません。複数の文字を表示させつつ、まとめてリンクを貼りたいのでどうしてもこのようなコードになってしまいます。時と場合によっては私のような書き方でもOKなのでしょうか?
  • <P> を 193行目の <A>?</A> 内に書くことはできません。複数の文字を表示させつつ、まとめてリンクを貼りたいのでどうしてもこのようなコードになってしまいます。時と場合によっては私のような書き方でもOKなのでしょうか?
  • <P>?</P> 内に <A> を書くことはできます。複数の文字を表示させつつ、まとめてリンクを貼りたいのでどうしてもこのようなコードになってしまいます。時と場合によっては私のような書き方でもOKなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

の1さんの回答を見て、HTML5は違うの? へえと思って調べてみたら、「コンテンツ・モデル」と言うモノらしいです。 難しいので、気の毒なので簡単に。 今までのxhtmlとかhtml4とかであれば、<a>タグの中(インライン要素)に<p>タグ(ブロック要素)を入れるのは、非常におかしな記述で、しかも間違った記述でした。 ちなみに、ブロック要素って言うのは、「サイドバーの塊全体の囲い」だとか「本文ブロックの塊全体の囲い」、そして、<p>「段落」のような、骨格部分、言葉そのもの「ウェブページのブロック的な部分」に当たる要素です。 インライン要素って言うのが、<a>をはじめ、<strong><span>など、文字に色をつけたり、文字を強調したりという、テキストに対する小さなまとまりのことです。 色つけのテキストのタグで、骨格のブロックを囲うというのは、かなり違和感があり、かつxhtmlやhtml4などの従来のHTMLでは、間違った記述になります。 まずは、HTML文書の一番最初の行の<DOCTYPE○○○>に注目してください。 <DOCTYPE html~~~DTD HTML 4.01~~~~> <DOCTYPE html~~~DTD XHTML 1.0~~~~> なんて書いてあったら、<a>等のインライン要素に<p>等のブロック要素を入れるのは間違った記述です。 ブラウザによっては、その部分が妙な表示になることもあります。 <!DOCTYPE html> こんな単純な記述であれば、そのHTML文書は「HTML5」です。 HTML5であれば、大丈夫みたいですね。 https://goo.gl/QndI31 ちなみに、xhtmlやhtml4で複数の文章をリンクで貼る場合は<br>タグで改行するのが無難です。 <br>は使いたくない、構文がどうの、等とうるさい人も中にはいますが、間違った記述ではありませんし、各ブラウザでも、思い通りに表示されると思います。 また、CSSがちょっと煩雑になりますが、<a>の中には<span>を入れることも出来ます。<span>と<br>で装飾すれば、構文違反にもならず、無難にある程度まではデザインできますよ。 CSS側で、<a>タグを「display:block;」しちゃえばもっと思い通りなカッコイイリンクが出来るかも。

rlbbpogfgot
質問者

お礼

ご回答ありがとうございます。

その他の回答 (1)

  • think49
  • ベストアンサー率59% (285/482)
回答No.1

HTML5 ならば許可されますが、HTML4 では a 要素はインライン要素の子を持たなければなりません。 > <img src="/photo/○○.jpg"> HTML4 では alt 属性は必須であり、HTML5 では条件付で許可されます。 http://momdo.github.io/html5/embedded-content-0.html#alt # Re: rlbbpogfgotさん

rlbbpogfgot
質問者

お礼

ご回答ありがとうございます。

関連するQ&A