俺的 XHTML 構造
だいたい決まった構造の HTML を書くようになってきたので、俺の場合を紹介してみる。body 以下を書く。
- body
- (div#all)
- h1#top
- a
- div.section#navigation
- h2
- (p#skip-to-main-content)
- a
- map
- ul
- li#navigation-home
- a
- 以下似たようなのが続く
- li#navigation-home
- ul
- div.section#content
- div.section
- h2
- 内容
- 以下似たような(ry
- div.section
- div.section#footer
- address
- h1#top
- (div#all)
おおむね上のような感じ。っていうか ol, li で書くとすげぇ大変なんですが!!
これはもちろん現実的にこうなっただけであって、いろんな妥協に溢れている。
body 直下の div#all なんてもちろんいらない要素だけど、実際問題 CSS 書くときに、これがあるだけで、クロスブラウザ用の無駄にややこしいハックを減らせるので、安全になる。幅も広がる。
div#navigation map なんて、パっと見変な風に見えないかもしれないけど、ぶっちゃけた話、こじつけられた div 要素みたいなもの。意味的には問題ないので、使ってみると結構便利。ただし display: block を書かないとハマるときがある。こいつには一枚多く背景に画像突っ込めるわけだ。あと実は p#skip-to-main-content も、アクセシビリティの配慮とか、そういうの関係なく、あると便利な要素の一つ。サイトによっては書かなかったり (そもそもナヴィゲーションがないとか) するけど。
できるだけ意味をこじつけて、div じゃない要素を使おうとしているだけ。いろいろ置換してけば div 厨になるんです。なんでもいいけど、悪いのは微妙な仕様の CSS と、その CSS に対応してない IE なんですよ!! 俺は悪くない! 放せ!
関連エントリー
- たたかわなくちゃげんじつと, CSS エロスタを書くにあたり、#whole という body 直下全てを内容にする div 要素を追加する。 いやね、今までこれなしで、よく頑張っ...
- CSS 本来の力・XHTML のあるべき姿 上のセクションに続き (とはいえ書いたのはこっちが先だ。つまり、まだ今「上のセクション」はない) 割と理想的な XHTML の姿と、CSS ...
- SFC は W3C ホストとして見本に(以下略 えっと、W3C ホストとして見本がどうたら雑誌で言っていた気がするので。 design switch すると構造が変わるよ。なんで? des...
- HTML要素が見える範囲にあるかの判定 HTML上のある要素が見える範囲にあるかを JavaScript で判定したい。なんか1発で判定できるメソッドがあった気がしたが見つからなか...
- Angular JS で View を伴う Service 的なことをしたいとき、あるいは Directive に Controller をつけたいとき。 クソコード を書いたはいいが、釈然としなかった。 "View independent business logic: Services" と...