もちろん、縦位置・横位置ともに真ん中です。
どのへんがうまくいっていないのかイマイチわかりませんが、tdタグにalign属性・valign属性を付けるか、もしくはcssでtext-align・vertical-alignを付けてみてはどうでしょうか
<th align="center" valign="middle">
あとはtd直下にaタグを置くのではなく、divを間に挟んでcssでゴリゴリやるとか。
スタイルシート[CSS]/テーブル/セル内の文字の位置を指定する - TAG index Webサイト
▽2
●
Lhankor_Mhy ●300ポイント ベストアンサー |
うーん、ご希望には添えなさそうですが、一応回答します。
IE10(quirks)、firefox、Chromeでセンタリングと縦中寄せとを確認しています。IE9以下とIE10(標準)で上手く表示されないことも確認済み。
tr.link_row a { display : table; /* 変更 */ width : 100%; height : 100%; text-align : center; } /* 追加部分 */ tr.link_row td { height: 0px; /* 黒魔術 */ } tr.link_row a span { display : table-cell; width : 100%; height : 100%; vertical-align : middle; }
</tr><tr class="link_row"> <td><a href="link-a"><span>LINK A</span></a></td> <!--変更--> <td><a href="link-b"><span>LINK B</span></a></td> <!--変更--> <td><a href="link-c"><span>LINK C</span></a></td> <!--変更--> </tr>
問題はIE標準のレンダリングだと「height:100%で親要素を参照してautoだった場合、テーブルレイアウトで計算された高さを取らずにCSSでの値を参照する」ことだと思います。たとえば、『黒魔術』の部分を80pxぐらいにしてみるとよく分かると思います。
ですから、テーブルやセルの高さを拘束しない形でご希望のレイアウトをするには、IE標準のレンダリングにテーブルレイアウトで計算された高さを参照させることが必要だったのですが、ちょっとその方法が見つかりませんでした。CSS3の仕様書でもひっくり返せばもしかすると何か手が見つかるかもしれませんが、こうなるとJavascriptを使ってしまった方が早いと思います。
サンプルを置いておきます(その内消します)。
https://www.dropbox.com/s/hliuj23dhar2zpk/hatena1.htm