我想這是學習CSS中最容易搞錯的東西之一,CSS的vertical-align屬性和TH、TD標籤valign屬性是不一樣的兩個東西,valign就是物件內的東西的垂直位置,不過vertical-align不是,事實上他是用在inline物件上的,用來決定一個inline物件的垂直位置(例如:上標、下標),通常是用不太到,比較容易看到影響的是img標籤,img標籤如果沒用CSS指定的話預設就是inline的物件。我找到一個範例很清楚的教學網頁,雖然是日文的,不過光看範例的部分應該沒問題。另外還有一個英文的簡單範例。
那要怎麼讓物件垂直置中呢?如果只是單行文字要置中還簡單,只要讓line-height等於外層物件的height就可以了(舊瀏覽器有些不支援,ex: IE5/Mac),如果是block物件要置中那就麻煩了,比較土法煉鋼的方法是靠外層的padding,要準確一點的話一定會需要增加標籤數,而且很trick,就不介紹了(其實是範例找不到了@_@)。