いまさらだけど、ブロック要素(div要素など)にfloatを設定してレイアウトした場合、display:table-cell;をつかってvertical-alignを設定することはできない。しってた?何を当たり前のこと言ってんだ、って?ああ、そうさっ!!ついさっき知ったよっ!!コンチクショウッ!!
ということで、display:table-cell;をつかってvertical-alignを設定する際には、レイアウトはdisplay:table-row;やdisplay:table-cell;を使ってレイアウトするか、ボックス要素を入れ子状態にして、子ブロックをdisplay:table-cell;→vertical-alignとすれば問題ない。
もちろんだけど、display:table-cell;をつかってvertical-alignを設定するテクニックはIE6,IE7では使えない。あーIE6,IE7,IE8とか早く死んでくんねーかなー。大事な事なので2度いいます。あーIE6,IE7,IE8とか早く死んでくんねーかなー。