CSSのテーブルtdの中央の画像


100

テーブルtdの中央に画像を配置しようとしています。margin-leftを特定の値に設定することで機能しましたが、tdのサイズも大きくなり、それが私が望んでいたものとは異なります

これを行う効率的な方法はありますか?テーブルの高さと幅にはパーセンテージを使用しました。


関連する質問:stackoverflow.com/questions/8639383/…親(ここではtd)にtext-align:centerのスタイルを与える以外に、子(ここではimg)に表示のスタイルを与える必要があるかもしれません:ブロックまたはディスプレイ:インラインブロック
mathheadinclouds

回答:


176
<td align="center">

またはcssを介して、これはもう好ましい方法です...

<td style="text-align: center;">

23
OPへのメモ... 今後はHTML5では 'align'がサポートされないため、Scottの2番目のオプションを使用してください
isNaN1247

では、どうすればHTML5を克服できるでしょうか。
ベスト

25
HTML5を克服することはできません。HTML5に適応します。@beardtwizzle ..追加してくれてありがとう。
スコット

1
上から中央に配置したい場合
Sohaib 2013

11
@SilentPro<td style="text-align: center; vertical-align: middle;">
スコット

55

CSSでHTML5のためにそれを行う簡単な方法:

td img{
    display: block;
    margin-left: auto;
    margin-right: auto;

}

私のために完全に働きました。


それは完全に機能します。<td style = "text-align:center;">は機能しませんが、<td align = "center">は機能しますが、HTML5ではサポートされていません
user2431763

9

マージンを使用してdivをtdの中央に配置します。トリックは、divの幅をイメージの幅と同じにすることです。

<td>
    <div style="margin: 0 auto; width: 130px">
          <img src="me.jpg" alt="me" style="width: 130px" />
    </div>
</td>

1
@Saikeほんとうに、<div>sはほとんどのメールから取り除かれ、良い習慣とは見なされません。
crmpicco

6

この修正済みの問題:

<style>
.super-centered {
    position:absolute; 
    width:100%;
    height:100%;
    text-align:center; 
    vertical-align:middle;
    z-index: 9999;
}
</style>

<table class="super-centered"><tr><td style="width:100%;height:100%;" align="center"     valign="middle" > 
<img alt="Loading ..." src="/ALHTheme/themes/html/ALHTheme/images/loading.gif">
</td></tr></table>

これは私にとっても問題を修正しましたが、テーブルまたはtdタグではなくイメージタグで
Sumon Bappi 2015年

6
<table style="width:100%;">
<tbody ><tr><td align="center">
<img src="axe.JPG" />
</td>
</tr>
</tbody>
</table>

または

td
{
    text-align:center;
}

CSSファイル内


5

あなたのCSSにあなたの画像の固定を設定autoし、画像に-マージン/パディングを追加してください...

div.image img {
    width: 100px;
    margin: auto;
}

またはtext-alignを中央に設定します...

td {
    text-align: center;
}

2
td image 
{
    display: block;
    margin-left: auto;
    margin-right: auto;
}

素晴らしい一般的な答え
Dan

0

別のオプションは、の<th>代わりに使用することです<td><th>デフォルトは中央です。<td>デフォルトは左です。


私はあなたのためにそれを修正しましたが、将来的には、HTML要素の両側にバッククォート( `)を使用して、それらが表示されることを確認してください。
Jeremy Caney

-6

私の分析とインターネットでの検索でも、テーブルが次のプロパティを提供<div>している<table>ため、画像を垂直方向に中央に配置する方法を見つけることができませんでした。

valign="middle"

3
この提案はHTML5ではサポートされていないため、お勧めできません。列またはコンテナにvertical-align:middleを適用したCSSスタイルまたはクラスを使用することをお勧めします。
mbokil 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.