今日はヘッダー画像を変えようと思いましたがうまくいかず(いいのを作れなかった)、各要素の背景色を分けることにしました。
特に3カラム部分は背景を色分けしてみたかった。
まあフロントページではカテゴリの背景色違うのにカテゴリページに行くと同じ色なのはどうなんだという気もしますが…。
とにかく背景色を各div要素で色分けしました。
ただそうすると高さが不ぞろいになってしまったんですね。
うちは基本的な構造で、

<div id=”container”>
 <div id=”header”>
 </div>
 <div id=”contents”>
  <div id=”left-sidebar”>
  </div>
  <div id=”posts”>
  </div>
  <div id=”right-sidebar”>
  </div>
 </div>
 <div id=”footer”>
 </div>
</div>

これでそれぞれleft-sidebarとpostsとright-sidebarを

div#left-sidebar{
float: left;
}
div#posts{
float: left;
}
div#right-sidebar{
float: left;
}

として横並びの3カラムにしていたわけですが、これだと背景の高さが不ぞろいになると。
なので昔ながらのfloat: left;をやめてdisplay: table;に変えました。

div#contents{
display: table;
}
div#left-sidebar{
display: table-cell;
}
div#posts{
display: table-cell;
}
div#right-sidebar{
display: table-cell;
}

とすると今度は別の問題が発生しまして、
うちのページではフロントページのみ3カラムでそれ以外は2カラムなんですね。
つまりleft-sidebarとpostsしかない。
そうなるとなぜかleft-sidebarの上に不可解なpaddingができる。なぜ。
別に問題はないんですがフロントページとレイアウトが微妙に違うの気になる。

フロントページ以外にのみあるページナビゲーションの分の空間なのかもしれない。
あそこだけfloatつかってるわ…。
あとフッターにも色振ってみたらなぜかフッターと3カラムの間にマージンができてる。
どういうことにゃあ???
まあフッター使ってる意味もないから消せば解決なんだけど……

あと3カラム部分とcontainer部分で可変下限が異なるのを発見。
3カラム部分は左サイドバーだけmin-widthを指定していない。
これも今後直す部分ということでメモ。

ちなみに前の記事に書いてたiphoneのツイッターブラウザで崩れる問題。
display: table;にしたら解決しました。やたー。
しかしtableだなんて…
昔はHTMLでtableタグ多用してtableタグはダメと言われてCSSにしたのに、そこでもtableになるとは…。