このブログでは、このエントリを書いている時点で、div要素をまったく使っていないのですが、このままだとあまりにもid|class属性が多すぎてメンテをする気がちっとも起きませんよ(ついでにブログを書く気も起きませんよ(それは全然別の話だと思うよ))。ということですので、div要素なんかもちょっとは使いながら、id|class属性の数を減らしていく方向で、順を追って妄想してみることにしますよ。当方、アルファブロガ(=すごいひと)と違って文章を書くのが下手なので、ダラダラと書き連ねますのでそこんとこよろしくお願いします。
んで、divとかidとかclassとかを考える前に、「要素のまとまり」について考えますよ。ブログのトップページで言うと、要素のまとまりというか、要素のセットの単位として一番わかりやすいのはやっぱエントリですかね。エントリっていうのはhx要素とp要素とその他ゴニョゴニョからなっています。で、それらをまとめてhoge要素で括ってあげましょうというのが今回の話の核になってくるところです。
<hoge> <hx>entriy title</hx> <p>hoge is hoge. hage is not hoge.</p> </hoge>
で、このhogeが、ブログのエントリということになるとul要素とかdl要素とかにしてあげてもいいのかなってところですね。ほかのブログツールがどういうしくみになっているのかわからないんですが、blosxommerのみなさんは特に、年月日をdt要素で、各エントリをdd要素でマークアップしてみても問題ないんじゃないですかね。ひとつのdtに対して複数のddが対応しているあたり、ぴったりな感じがしますね。まぁ、dt要素はそもそも定義のリストをマークアップするものですけど、機能的には応用できそうだなぁという感じで。わざわざリストの要素を使わずにdivを使っても、それはそれでアリじゃないかと思います。
要素の話はその辺にしておいて、属性をどうつけるかですね。エントリっていうのは、「トップページの中に同じような形をしたものがいくつも出てくる」というしかたで存在してますから、class属性を使って「これはエントリの仲間だよ」と書いてあげればいいですね。id属性は、うちのブログだとエントリごとに番号がついていますから、つけるとすればそれが該当するかもしれませんね。
<hoge class="entries" id="d20060724_0736"> <hx>entriy title</hx> <p>hoge is hoge. hage is not hoge.</p> </hoge>
よくブログには「最近のトラックバック」とかってサイドバーにリストがありますよね。あれなんかも同じように、見出し(hx要素など)とリスト(ul要素など)とをセットにしてhogeると。サイドバーにあるものすべてがリストであるとも限りませんけどね。まぁ、サイドバーの具体的な中身についてあまりたくさんのことを話すのは本題からそれるのでやめときます。
ブログのデザインの真髄は、ヘッダフッタ以外に関して、「エントリの集まり」と「そうでないものの集まり」との二つに分けちゃってるところにあると思います(「そうでないものの集まり」は、一般的にサイドバーになっていると思います)。だから、「エントリの集まり」っていうのもひとつのセットだと考えることができるかもしれません。そこでその集まりを、ひとつの大きなhogeで括ってあげることにします。このへんでdiv要素が出てきますかね。
そうやって括るのはいいんですが、そこにid属性としてid="sidebar"とかって書くのはどうなんでしょうか。それは、見たことのある見栄えが偶々「sidebar」なだけじゃないでしょうか。たとえば、「ブログのタイトルを中心として、最近のコメントなどのリストの集まりが同心円状に並んでおり、その外側にエントリがこれまた同心円状に並んでいる」というようなマンダラートっぽいブログがあっても、一向に構わないんじゃないでしょうか(それがスタイルシートで作れるならばの話ですが)。だからこれはid="sidebar"じゃないですよ。そんなこと書いたら、テーブルレイアウトしてるのと同じですよ、きっと。もっとid="menu"とかにしましょうよ。
言いたかったのは、括るのがdivであるにしろ何であるにしろ、括る対象が「ひとつのもの」であるからこそ括れるのであって、「これサイドバーね! だれが何つってもサイドバーだかんね!」とかってマークアップしやがるのは、デザイニングの後追いをしているだけだっていうことですね。一定の機能的認識があるからこそサイドバーというものがデザイン上に浮かび上がってきたのであって、いきなり見栄えが先行するっていうのはデザインの本質をそれている気がしますよ。長いのに読んでくれてありがとうございました。朝ごはん食べたいので推敲しません、ごめんね。
こちらのフォームに記入してください。