- ベストアンサー
<A>内に書くことはできません。
- <A>?</A> 内に書くことはできません。複数の文字を表示させつつ、まとめてリンクを貼りたいのでどうしてもこのようなコードになってしまいます。時と場合によっては私のような書き方でもOKなのでしょうか?
- <P> を 193行目の <A>?</A> 内に書くことはできません。複数の文字を表示させつつ、まとめてリンクを貼りたいのでどうしてもこのようなコードになってしまいます。時と場合によっては私のような書き方でもOKなのでしょうか?
- <P>?</P> 内に <A> を書くことはできます。複数の文字を表示させつつ、まとめてリンクを貼りたいのでどうしてもこのようなコードになってしまいます。時と場合によっては私のような書き方でもOKなのでしょうか?
- みんなの回答 (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;」しちゃえばもっと思い通りなカッコイイリンクが出来るかも。
その他の回答 (1)
- think49
- ベストアンサー率59% (285/482)
HTML5 ならば許可されますが、HTML4 では a 要素はインライン要素の子を持たなければなりません。 > <img src="/photo/○○.jpg"> HTML4 では alt 属性は必須であり、HTML5 では条件付で許可されます。 http://momdo.github.io/html5/embedded-content-0.html#alt # Re: rlbbpogfgotさん
お礼
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。