-
ID:gxPCQ8 さんの質問

aタグとかimgタグってよくpタグで囲われて使われてるのを見かけるのですが、そのまま、divタグの中でpタグで囲む事無くaタグやpタグを使っても良いのでしょうか?

というか、使ってますか?

ちなみに、html5では特定条件下においては、aタグでdivタグ囲えてしまうので、また話は別になるとは思うのですが!

みんなの回答 3 件

ID:Bhpivq さんの回答

imgは使ってる。
aしか入ってないdivってのがちょっとよくわからないけど。

ID:gxPCQ8

「imgは使ってる」というのは、pタグの中で使ってるという意味でよろしいでしょうか?

「aしか入ってないdiv(divの中にaのみ)」というケースは今頭に浮かばないのですが、質問内容としては、divの中で例えば、dl,dt,ddタグを使っていて、そのdlの兄弟要素としてaタグがあるみたいなかんじです。

ID:Bhpivq

imgはpの中に入れずに使ったことがある。
>dl,dt,ddタグを使っていて、そのdlの兄弟要素としてaタグがあるみたいなかんじ
っていうのは、
<div>
<dl>
<dt>aaa</dt>
<dd>AAA</dd>
</dl>
<a href="#"></a>
</div>
ってこと?使ったことはないけど、問題はないんじゃないかと思う。
そうじゃなくて、
<dl>
<dt>aaa</dt>
<dd>AAA</dd>
<a href="#"></a>
</dl>
とか
<dl>
<a href="#"><dt>aaa</dt></a>
<dd>AAA</dd>
</dl>
ってことを言っているのなら、これはNG。
dlの直下にaを入れることはできないから、やりたいならdtかddの中にaを入れるしかないと思う。

ID:gxPCQ8

>ってこと?

そうです!そういう意味でした^^

ID:tH6IjE さんの回答

全然良いよ、文法的には何も問題ない。マークアップの解釈が<p>段落に該当するかしないだけのことだからね

ID:gxPCQ8

仕様的には問題ないんですよね。でも、リンクだけをpタグで囲ってたりするのを見ると凄い違和感があるんですけど、結構、そういうマークアップってよくみかけませんか?

なんで、リンクだけで段落を構成するんだろう。。。

あと、aタグで作ったボタンとかもpタグで囲われてたり、結構意味不明です。

ID:tH6IjE

例えば、以下のようなもんが違和感を覚えるのかな?
.
<p><a href="#">詳細はこちら</a><p>
.
<p>タグは、厳密的な文章=段落のためだけにあるもんじゃないよ。汎用的なブロック要素として使っても別に構わないし、もちろんこの場合、<div>で囲んでもいいし、<p>で囲む必要もない。言い換えるとHTMLのタグ要素の種類が単に少なすぎるだけ。

ID:gxPCQ8

"The P element represents a paragraph"ってw3.orgに書いてありましたよ。むしろ、それくらいしか書かれていななくて汎用的な要素として使ってもOKということも書いてなかったです。禁止とも明言はされてなかったですが。あと、pタグよりも適切なタグがある場合は、pタグでなくてそっちを使えって書いてありました。

ID:tH6IjE

HTML5ならimgは<figure>要素がよかったりするし、あとはコンテンツの前後や隣接するもんから、適度に判断すればオッケーよ。

ID:gxPCQ8

ありがとうございます^^

figure要素ってのも誤用されてるケースであったり、誤った解説がされていること多い印象があります。htmlの要素以前に英語文書でのfigureっていう意味を理解してない人が多いからかな。

ID:pONqpZ

><p><a href="#">詳細はこちら</a><p>
自分もpで囲っちゃうんだけど、違和感感じてた。
liで囲ったほうがいい気もするけどうーん。。

ID:gxPCQ8

liは箇条書きなので、liで囲まずに普通にaタグのみで良いんじゃないですか?それか何か装飾を加える必要があるならspanで囲んであげて対応するとか。

ID:tH6IjE

こういう議論って誰もが通る道なのよ。例えば「パンくず」をどうマークアップするとか、おしらせを<dl>要素で組むとか気に食わねーとかね。基本的に終わりはないよw

ID:6ePLbT

XHTMLがbody直下に(divでしか囲まれていない)インライン要素置くのNGだった名残もあるでしょ。まぁ、リンクとはいえテキストだから、テキストが何の意味付けもされずに置かれてるのも気持ち悪いっていうのもあるだろうけど。

ID:pONqpZ

自分もやっぱり何らかのブロックで囲みたくなっちゃうなぁ。

>liは箇条書きなので、liで囲まずに普通にaタグのみで良いんじゃないですか?
ああごめん。ブログ一覧みたいなのをイメージしていたので、liって言ったのは後で数が増えたり文言変更が発生したときに対応しやすいから。デザインにもよるけどね。

ID:4.jYdU さんの回答

ブロックレベル要素が並んでいて、同階層にインライン要素が並んでいるのが気になるというか嫌なので、やっぱりインライン要素はブロックレベルのタグで囲んでしまいますね(^^;) 好みの問題なんですかね…

ID:jphNoi

超わかる

ID:rFMCRy

分かるわぁ、その気持ち。

最終更新日:2014-08-28 (30,327 views)

関連するトピックス

ページ上部に戻る