CSS'de tablo td'de merkez resmi


101

Bir görüntüyü tablonun ortasına hizalamaya çalışıyorum td. Margin-left'i belirli bir değere ayarlamakla çalıştı ama aynı zamanda td'nin boyutunu da artırdı ve bu tam olarak istediğim şey değildi

Bunu yapmanın etkili bir yolu var mı? Tablonun yüksekliği ve genişliği için yüzdeler kullandım.


ilgili soru: stackoverflow.com/questions/8639383/… Ebeveyne (burada td) bir text-align: center stili vermenin yanı sıra, çocuğa (burada, img) bir görüntüleme stili vermeniz gerekebilir: blok veya görüntüleme : inline-block
mathheadinclouds

Yanıtlar:


178
<td align="center">

veya artık tercih edilen yöntem olan css ile ...

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

23
OP'ye

Öyleyse HTML5'in üstesinden nasıl gelebiliriz?
En iyi

25
HTML5'in üstesinden gelemezsiniz .. ona uyum sağlarsınız. @beardtwizzle .. bunu eklediğin için teşekkürler.
Scott

1
Ya yukarıdan ortalanmasını
istersem

11
@SilentPro<td style="text-align: center; vertical-align: middle;">
Scott

55

CSS'de html5 için yapmanın basit yolu:

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

}

Benim için mükemmel çalıştı.


Mükemmel çalışıyor; <td style = "text-align: center;"> çalışmıyor, <td align = "center"> çalışıyor, ancak HTML5'te desteklenmiyor
user2431763

10

Kenar boşluğunu kullanarak bir div'i td içinde ortalayın, işin püf noktası div genişliğini resim genişliğiyle aynı yapmaktır.

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

1
@Saike Pek değil, <div>e-postaların çoğundan çıkarılır ve iyi bir uygulama olarak görülmez.
crmpicco

6

Bu benim için sorunları çözdü:

<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>

bu da benim için sorunu çözdü, ancak tablo veya td etiketinde değil resim etiketinde
Sumon Bappi

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

veya

td
{
    text-align:center;
}

CSS dosyasında


5

autoCss'nizde resminizin bir sabitini ayarlayın ve resme bir -margin / padding ekleyin ...

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

Veya text-alignmerkeze ayarlayın ...

td {
    text-align: center;
}

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

harika genel cevap
Dan

0

<th>Bunun yerine başka bir seçenek kullanmaktır <td>. <th>varsayılanlar merkeze; <td>varsayılanlar sola.


Bunu sizin için düzelttim, ancak gelecekte görüntülendiklerinden emin olmak için HTML öğelerinin her iki tarafında ters işaretler (`) kullanın.
Jeremy Caney

-6

İnternetteki analizlerime ve aramalarıma göre, görüntüyü dikey olarak ortalamanın bir yolunu bulamadım <div>, yalnızca kullanmak mümkündü <table>çünkü tablo aşağıdaki özelliği sağlıyor:

valign="middle"

3
Bu öneri, HTML5'te desteklenmediği için tavsiye edilmez. Dikey hizalı CSS stilini veya sınıfını kullanmak daha iyidir: orta sütun veya kaba uygulanır.
mbokil
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.