2012-06-12 8 views
18

テーブルセル内にあるdivをどのように垂直に配置するのですか?divをテーブルセル内で垂直に配置するにはどうすればよいですか?

HTML:

<tr class="rowClass"> 
    <td class="cellClass"> 
     <div class="divClass">Stuff</div> 
    </td> 
</tr> 

CSS:

.rowClass { 
    vertical-align:middle !important; 
    height:90px; 
} 

.cellClass { 
    vertical-align:middle !important; 
    height:90px; 
} 

.divClass { 
    vertical-align:middle !important; 
    height:90px; 
} 

私はクラス定義が重複しているけど、私は別のものの多くをしようとしてきました。なぜソリューションが(それが何であれ)直感的ではありません。私が試した "明白な"解決策のどれもうまくいきませんでした。

答えて

13

01を定義する必要はありませんの.divClass。このように書きます:

.cellClass { 
    vertical-align:middle; 
    height:90px; 
    border:1px solid red; 
} 

チェックあなたはvalign="middle"でこれを行うことができ、このうちでhttp://jsfiddle.net/ncrKH/

+1

ありがとう!私はすべてをねじ込んだ「浮動小数点:左」を持っていました。 –

+1

はい、フロート&ディスプレイ:ブロック効果テーブル機能。 – sandeep

1

.divClass { margin-top:auto; }

HTML

<table border=1> 
<tr class="rowClass"> 
<td class="cellClass"> 
    <div class="divClass">Stuff</div> 
</td> 
</tr> 
</table> 

CSS

.rowClass { 
vertical-align:middle !important; 
height:90px; 
} 

.cellClass { 
vertical-align:middle !important; 
height:90px; 
} 

.divClass { 
margin-top:auto; 
}​ 

Live Example

+1

はここにあなたの答えにあなたのフィドルの内容を入れて、コードが何をするのかを説明します。 http://meta.stackexchange.com/questions/8231も参照してください –

0

任意のCSS自体は、このコードを試してみてください。

<table width="100%" border="1" cellspacing="0" cellpadding="0"> 
    <tr> 
    <th height="550" align="center" valign="middle" scope="col"> 

    <div>Hello</div> 
    </th> 
    </tr> 
</table> 
関連する問題