รูปภาพตรงกลางในตาราง td ใน CSS


101

ฉันพยายามจัดรูปภาพให้อยู่ตรงกลางตาราง td ทำงานร่วมกับการตั้งค่าระยะขอบซ้ายเป็นค่าเฉพาะ แต่ก็เพิ่มขนาดของ td ด้วยและนั่นไม่ใช่สิ่งที่ฉันต้องการ

มีวิธีใดที่มีประสิทธิภาพในการดำเนินการนี้หรือไม่? ฉันใช้เปอร์เซ็นต์สำหรับความสูงและความสูงของตาราง


คำถามที่เกี่ยวข้อง: stackoverflow.com/questions/8639383/…นอกเหนือจากการกำหนดรูปแบบการจัดแนวข้อความให้กับผู้ปกครอง (ที่นี่ td) คุณอาจต้องให้เด็ก (ที่นี่ img) รูปแบบการแสดงผล: บล็อกหรือการแสดงผล : inline-block
mathheadinclouds

คำตอบ:


178
<td align="center">

หรือผ่าน css ซึ่งเป็นวิธีที่ต้องการอีกต่อไป ...

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

23
หมายเหตุถึง OP ... ใช้ตัวเลือกที่สองของ Scott เนื่องจากไม่รองรับ 'align' ใน HTML5 นับจากนี้ไป
isNaN1247

แล้วเราจะเอาชนะ HTML5 ได้อย่างไร?
ดีที่สุด

25
คุณไม่เอาชนะ HTML5 .. คุณปรับตัวเข้ากับมัน @beardtwizzle .. ขอบคุณสำหรับการเพิ่มว่า.
Scott

1
จะเป็นอย่างไรถ้าฉันต้องการให้ศูนย์กลางจากด้านบนด้วย
Sohaib

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

55

วิธีง่ายๆในการทำ html5 ใน css:

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

}

ทำงานให้ฉันอย่างสมบูรณ์แบบ


มันทำงานได้อย่างสมบูรณ์ <td style = "text-align: center;"> ไม่ทำงาน <td align = "center"> ใช้งานได้ แต่ไม่รองรับ HTML5
user2431763

10

จัดกึ่งกลาง div ภายใน td โดยใช้ระยะขอบเคล็ดลับคือทำให้ div width เท่ากับความกว้างของรูปภาพ

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

1
@Saike ไม่จริงพวก<div>เขาถูกคัดออกจากอีเมลส่วนใหญ่และไม่ถือว่าเป็นการปฏิบัติที่ดี
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

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-margin / padding บนรูปภาพเพื่อ ...

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

หรือตั้งtext-alignศูนย์ ...

td {
    text-align: center;
}


0

ตัวเลือกหนึ่งคือการใช้งานแทน<th> ค่าเริ่มต้นเป็นศูนย์ ค่าเริ่มต้นไปทางซ้าย<td><th><td>


ฉันได้แก้ไขให้คุณแล้ว แต่ในอนาคตให้ใช้ backticks (`) ที่ด้านใดด้านหนึ่งขององค์ประกอบ HTML เพื่อให้แน่ใจว่าจะแสดง
Jeremy Caney

-6

จากการวิเคราะห์และการค้นหาบนอินเทอร์เน็ตของฉันฉันไม่พบวิธีจัดกึ่งกลางภาพในแนวตั้งโดยใช้<div>มันเป็นไปได้โดยใช้เพียง<table>เพราะตารางมีคุณสมบัติดังต่อไปนี้:

valign="middle"

3
ไม่แนะนำให้ใช้คำแนะนำนี้เนื่องจากไม่ได้รับการสนับสนุนใน HTML5 ควรใช้สไตล์หรือคลาส CSS ที่มีแนวตั้ง: ตรงกลางใช้กับคอลัมน์หรือคอนเทนเนอร์
mbokil
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.