NULL::something

Login via flickr, はてな, TypeKey.

2005-11-21

俺的 XHTML 構造

だいたい決まった構造の HTML を書くようになってきたので、俺の場合を紹介してみる。body 以下を書く。

  1. body
    1. (div#all)
      1. h1#top
        1. a
      2. div.section#navigation
        1. h2
        2. (p#skip-to-main-content)
          1. a
        3. map
          1. ul
            1. li#navigation-home
              1. a
            2. 以下似たようなのが続く
      3. div.section#content
        1. div.section
          1. h2
          2. 内容
        2. 以下似たような(ry
      4. div.section#footer
        1. address

おおむね上のような感じ。っていうか ol, li で書くとすげぇ大変なんですが!!

これはもちろん現実的にこうなっただけであって、いろんな妥協に溢れている。

body 直下の div#all なんてもちろんいらない要素だけど、実際問題 CSS 書くときに、これがあるだけで、クロスブラウザ用の無駄にややこしいハックを減らせるので、安全になる。幅も広がる。

div#navigation map なんて、パっと見変な風に見えないかもしれないけど、ぶっちゃけた話、こじつけられた div 要素みたいなもの。意味的には問題ないので、使ってみると結構便利。ただし display: block を書かないとハマるときがある。こいつには一枚多く背景に画像突っ込めるわけだ。あと実は p#skip-to-main-content も、アクセシビリティの配慮とか、そういうの関係なく、あると便利な要素の一つ。サイトによっては書かなかったり (そもそもナヴィゲーションがないとか) するけど。

できるだけ意味をこじつけて、div じゃない要素を使おうとしているだけ。いろいろ置換してけば div 厨になるんです。なんでもいいけど、悪いのは微妙な仕様の CSS と、その CSS に対応してない IE なんですよ!! 俺は悪くない! 放せ!

Comments (2)

哀's image
哀 says:
まぁ普通にサーバーサイドなりクライアントサイドのスクリプトで if 分かなんか書いてブラウザごとに最終的に text/css として送り出す文章の記述を動的に変えたほうがいいと思うがね。PHP 辺りが適しているだろうな。   ハック技なんざメンテナンス性や汎用性が低過ぎて使い物にならん。こじつけの div はまぁ自分に恥じない程度に。俺はやらん。やっててつまらん。meta 要素の具現化とかこそやっててわくわくするね。
2005-11-22T00:01:59+09:00
cho45(砂糖)'s image
cho45(砂糖) says:
ブラウザごとに CSS の内容を変えなきゃいけないってのが既に終わってるので、それ以上に終わっている (CSS ハック) ことはもうどうでもいいです。
2005-11-22T08:18:59+09:00

Trackback URI: http://lowreal.net/logs/2005/11/21/2.trackback

NULL

RSS feed meter for http://lowreal.net/logs/latest

Alternates

  1. RSS 1.0
  2. Atom 1.0

Generated with Taglibro

この日記は Taglibro と呼ばれる XML ベースの XSLT をテンプレートとして使ったシステムを使っています。現在の Taglibro は Ruby, ruby-xslt, libxml-ruby による実装です。ソースコードはとりあえず公開していません。