aタグとかimgタグってよくpタグで囲われて使われてるのを見かけるのですが、そのまま、divタグの中でpタグで囲む事無くaタグやpタグを使っても良いのでしょうか?
というか、使ってますか?
ちなみに、html5では特定条件下においては、aタグでdivタグ囲えてしまうので、また話は別になるとは思うのですが!
imgは使ってる。aしか入ってないdivってのがちょっとよくわからないけど。
「imgは使ってる」というのは、pタグの中で使ってるという意味でよろしいでしょうか?
「aしか入ってないdiv(divの中にaのみ)」というケースは今頭に浮かばないのですが、質問内容としては、divの中で例えば、dl,dt,ddタグを使っていて、そのdlの兄弟要素としてaタグがあるみたいなかんじです。
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を入れるしかないと思う。
>ってこと?
そうです!そういう意味でした^^
全然良いよ、文法的には何も問題ない。マークアップの解釈が<p>段落に該当するかしないだけのことだからね
仕様的には問題ないんですよね。でも、リンクだけをpタグで囲ってたりするのを見ると凄い違和感があるんですけど、結構、そういうマークアップってよくみかけませんか?
なんで、リンクだけで段落を構成するんだろう。。。
あと、aタグで作ったボタンとかもpタグで囲われてたり、結構意味不明です。
例えば、以下のようなもんが違和感を覚えるのかな?.<p><a href="#">詳細はこちら</a><p>.<p>タグは、厳密的な文章=段落のためだけにあるもんじゃないよ。汎用的なブロック要素として使っても別に構わないし、もちろんこの場合、<div>で囲んでもいいし、<p>で囲む必要もない。言い換えるとHTMLのタグ要素の種類が単に少なすぎるだけ。
"The P element represents a paragraph"ってw3.orgに書いてありましたよ。むしろ、それくらいしか書かれていななくて汎用的な要素として使ってもOKということも書いてなかったです。禁止とも明言はされてなかったですが。あと、pタグよりも適切なタグがある場合は、pタグでなくてそっちを使えって書いてありました。
HTML5ならimgは<figure>要素がよかったりするし、あとはコンテンツの前後や隣接するもんから、適度に判断すればオッケーよ。
ありがとうございます^^
figure要素ってのも誤用されてるケースであったり、誤った解説がされていること多い印象があります。htmlの要素以前に英語文書でのfigureっていう意味を理解してない人が多いからかな。
><p><a href="#">詳細はこちら</a><p>自分もpで囲っちゃうんだけど、違和感感じてた。liで囲ったほうがいい気もするけどうーん。。
liは箇条書きなので、liで囲まずに普通にaタグのみで良いんじゃないですか?それか何か装飾を加える必要があるならspanで囲んであげて対応するとか。
こういう議論って誰もが通る道なのよ。例えば「パンくず」をどうマークアップするとか、おしらせを<dl>要素で組むとか気に食わねーとかね。基本的に終わりはないよw
XHTMLがbody直下に(divでしか囲まれていない)インライン要素置くのNGだった名残もあるでしょ。まぁ、リンクとはいえテキストだから、テキストが何の意味付けもされずに置かれてるのも気持ち悪いっていうのもあるだろうけど。
自分もやっぱり何らかのブロックで囲みたくなっちゃうなぁ。
>liは箇条書きなので、liで囲まずに普通にaタグのみで良いんじゃないですか?ああごめん。ブログ一覧みたいなのをイメージしていたので、liって言ったのは後で数が増えたり文言変更が発生したときに対応しやすいから。デザインにもよるけどね。
ブロックレベル要素が並んでいて、同階層にインライン要素が並んでいるのが気になるというか嫌なので、やっぱりインライン要素はブロックレベルのタグで囲んでしまいますね(^^;) 好みの問題なんですかね…
超わかる
分かるわぁ、その気持ち。
みんなの回答 3 件
imgは使ってる。
aしか入ってないdivってのがちょっとよくわからないけど。
全然良いよ、文法的には何も問題ない。マークアップの解釈が<p>段落に該当するかしないだけのことだからね
ブロックレベル要素が並んでいて、同階層にインライン要素が並んでいるのが気になるというか嫌なので、やっぱりインライン要素はブロックレベルのタグで囲んでしまいますね(^^;) 好みの問題なんですかね…
関連するトピックス