新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > スレッド内全記事表示 (記事 1855 からのスレッド)

スレッド内全記事表示 (記事 1855 からのスレッド)

[1855] divの役割

いとちゃん (2004年4月20日 1時34分)

はじめまして。

よそのサイトの例で恐縮なんですが、疑問におつきあいください。

その内容(引用ではない)ですが、

「body要素の下にはブロック要素しかいれられない!」

ダメ例:<body><img src="某"></body> →imgはインライン要素だからダメ。

divブロックでくくって、

良い例:<body><div><img src="某"></div></body>

ならばOK

との例示でした。

pやtableなどならインライン要素を入れていいのは分かるんですが、

body直下のdivタグの中には、ブロック要素しか入れてはいけない?

のではないかという疑問です。

DTDというよりも、divの本来の意味からして、この考え方は間違っていますでしょうか?

PS:以下をOperaで開いて、見た目バグるのでソース見て、

「なにこれ~」でした。

http://www.microsoft.com/japan/technet/treeview/default.asp?url=/japan/technet/security/bulletin/ms04-004.asp

[1861] Re: divの役割

ばけら (2004年4月20日 17時34分)

>pやtableなどならインライン要素を入れていいのは分かるんですが、

>body直下のdivタグの中には、ブロック要素しか入れてはいけない?

>のではないかという疑問です。

>DTDというよりも、divの本来の意味からして、この考え方は間違っていますでしょうか?

 DTD 的には OK というところは理解されているものとお見受けしました。

 そうなると次は仕様書がどう言っているのかという話になってきますが、

 あたりを見ても今ひとつ分かりません。いちおう div 直下に p要素と #PCDATA が混在している例が出ていて、そこには DEPRECATED EXAMPLE などと書かれてはいないようなので、仕様的には問題ないのではないと思います。

 あとはポリシーの問題で、「divをなくしても valid なマーク付けをすべきだ」という考え方は有りだと思いますが、そのあたりはもう好みの問題のような気がしています。

[1863] Re: divの役割

義珍 (2004年4月20日 18時37分)

その要素が段落である場合はp、見出しである場合はh1~h6、順不同のリストであるならul……と考えていって、既存のブロック要素のどれにも当てはまらないような場合はdivでマーク付けしてしまってよいのでは。

個人的には、そういう「既存のどの要素にも当てはまらないブロック」はpでマーク付けしており、「divの中身はブロックだけにする(divをなくしてもvalidなマーク付け)」という「俺ルール」を自分に課していたりするのですが、理由を訊かれても「(俺には)その方がわかりやすい」とか「なんとなく」としか答えられません。

[1865] Re: divの役割

いとちゃん (2004年4月20日 20時13分)

>「divをなくしても valid なマーク付けをすべきだ」という考え方は有りだと思いますが、そのあたりはもう好みの問題

>「俺ルール」、理由を訊かれても「(俺には)その方がわかりやすい」とか「なんとなく」としか答えられません。

わかりました。

いちおう、もう一度つっこんで伺っておきます。

英語難しいので邦訳版から引用http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/global.html#h-7.5.4

>DIV要素とSPAN要素は、id属性及び class属性と併用する

>ことで、文書に構造を付加するための一般機構を提供する。

>各々、内容が行内であるか(SPAN)ブロックレベルであるか(DIV)は

>定めるが、他のプレゼンテーション的語彙を示すことはない。

>従って著者は、この両要素をスタイルシートやlang属性等と

>併用することで、HTMLを自身の必要や好みに応じられるように

>できる。

div(およびspan)には、次の2つの効果があるということですよね。

1.id属性及び class属性と併用して、文書に構造を付加する

2.スタイルシートやlang属性等と併用して、HTMLの見栄えを整える

「併用する」というのは義務ですか?

[1866] Re: divの役割

ばけら (2004年4月20日 20時31分)

>div(およびspan)には、次の2つの効果があるということですよね。

>1.id属性及び class属性と併用して、文書に構造を付加する

>2.スタイルシートやlang属性等と併用して、HTMLの見栄えを整える

>「併用する」というのは義務ですか?

 DTD 的には併用する必要は特にありませんが、そもそも特定の意味を持たない要素ですので、属性が何もない div や span にはあまり意味がないように思います。

 もっとも、文脈セレクタでスタイルを定義したりもできますので、全く意味がないわけでもありませんが……。

[1870] Re: divの役割

いとちゃん (2004年4月20日 22時58分)

<body><div><img なになに></div></body>

の例でも、悪いわけではない、

<div>(属性なし)では省略されているけれども明示していない<p>のような論理的意味が(弱いけれど)ある

(<div class="top_image">とか?)

省略については著者の好みに任せられている、

また、この例とは違うとは思いますが、

スタイルは「文脈依存定義」ということもあるので、<div>のみで書かれることもある、

ということで自分なりに理解しました。

ありがとうございました。

追伸:「俺ルール」的には<body><div><p><img> かも。

[1898] Re: divの役割

yuu (2004年4月23日 22時7分)

>追伸:「俺ルール」的には<body><div><p><img> かも。

だったら <body><p><img> でいいじゃんと思ったのですが、僕ルールじゃないのでこだわりません。

最近の日記

関わった本など