-
ID:p/P5.v さんの質問

HTML構造のルールについて質問させてください。

初歩的な質問かと思いますが、
同じ階層の要素は何らかのタグで囲わなくてはいけませんか?

具体的には、下記Aは正しくなく、Bのようにしなければならないのでしょうか?

A.-----------------------
<div>
アイウエオ
<div>カキクケコ</div>
</div>

B.-----------------------
<div>
<p>アイウエオ</p>
<div>カキクケコ</div>
</div>

みんなの回答 5 件

ID:RjEyjH さんの回答

文法上はどちらでもよい。
しかし、Bのほうが行儀がいい。
理由は、HTML4.01時代はbody直下にテキストがあるのはだめだったのの名残。つまり、HTML4.01では
<body>
これはだめ
<div>これはいい</div>
</body>
だった。

ID:yAHrHp さんの回答

リンク先で確認してみれば?

文法の次に気になるのは、Aだと、cssやjavascriptで色々するとき
面倒だから、俺だったらpかspanの中に入れてしまうだろうと
思った。今時cssなしのウェブページはかんがえられないし、
Javasriptでdom操作は普通なので、良く纏められた書き方は必須

もしかしたら俺の知らない理由でAの書き方をする人が居るのかもしれない

The W3C Markup Validation Service

https://validator.w3.org/#validate_by_input
ID:Sa5toG さんの回答

>同じ階層の要素は何らかのタグで囲わなくてはいけませんか?
別にそういうルールはない。
それにA、Bともに文法違反ではない。
.
ただし、それと本来のタグの正しい使い方をしているかは別。
例えばpタグは段落を表すものだから、
<p>アイウエオ</p>を段落と見なしているなら、同階層のテキストが並んだ<div>カキクケコ</div>もpタグじゃないと辻褄が合わないよね。
divタグは文章構造上の意味を持たないタグで、pタグ等の意味を持ったタグに該当しないときに初めて使うタグだからね。
言わば適切なタグがないときに使う手段。

ID:DLl5hB

これに一票

ID:RB1PVV さんの回答

少なくとも例に出したdivに関しては意味を持たない要素だから、あってもなくなくても何も意味は変わらない。極端な話、divを100回ネストしても変わらない。
<div>
<div>

<div>

<div>

<div>

<div>

</div>
</div>
</div>
</div>
</div>
</div>


  • <div>あいうえお</div>

ID:qqg6j1 さんの回答

セクショニングに関係ないならどっちでもいいんじゃね。

最終更新日:2016-10-20 (1,810 views)

関連するトピックス

ページ上部に戻る