2013-06-30 34 views
5

Làm cách nào để tôi vừa với hình ảnh trong bảng td ô? [HTML thuần túy]Hình ảnh phù hợp với ô bảng [HTML thuần túy]

Tôi đã thử mã bên dưới để vừa với hình ảnh trong ô td bảng.

HTML đang ở đây:

<table border="1" bordercolor="#aaa" cellspacing="0" cellpadding="0"> 
<tr> 
    <td><img width="100%" height="100%" src="http://dummyimage.com/68x68/000/fff" /></td> 
</tr> 
</table> 

Như bạn có thể thấy trong ảnh chụp màn hình sau đây và trong JsFiddle DEMO, hình ảnh không phù hợp để td tế bào.

Shot:

enter image description here

am i làm gì sai?

Mọi đề xuất sẽ thật tuyệt vời.

+1

'img {display: block; } ' –

+0

@MattWhipple. Tôi đã nói HTML thuần túy ... –

+3

HTML thuần túy không được tạo kiểu. Khoảnh khắc nó sẽ không được coi là tinh khiết bên ngoài những năm 90. –

Trả lời

5

nội dung Inline lá không gian ở phía dưới cho các ký tự mà xuống (j, y, q):

https://developer.mozilla.org/en-US/docs/Images,_Tables,_and_Mysterious_Gaps

Có một vài sửa:

Sử dụng display: block;

<img style="display:block;" width="100%" height="100%" src="http://dummyimage.com/68x68/000/fff" /> 

hoặc sử dụng vertical-align: bottom;

<img style="vertical-align: bottom;" width="100%" height="100%" src="http://dummyimage.com/68x68/000/fff" /> 
+1

Đây là một ví dụ điển hình của cả hai: http://jsfiddle.net/sj9YE/ – LouD

0

Sử dụng công cụ của nhà phát triển bạn chọn và kiểm tra xem tr, td hoặc img có bất kỳ phần đệm hoặc lề nào không.

+0

Cảm ơn bạn, nhưng bạn có thể giải thích thêm không? Tôi đang bối rối –

+0

Sử dụng ví dụ Công cụ dành cho nhà phát triển của Chrome, bạn có thể nhấp chuột phải vào một phần tử và kiểm tra xem có bất kỳ phần đệm lề nào trên các phần tử kèm theo hình ảnh hay không. – adamse

1

Đó là tất cả về display: block :)

Cập nhật:

Ok vì vậy bạn phải bàn, tr và td thẻ:

<table> 
    <tr> 
    <td> 
     <!-- your image goes here --> 
    </td> 
    </tr> 
</table> 

phép nói rằng bạn table hay td (bất cứ điều gì xác định chiều rộng của bạn) có thuộc tính width: 360px;. Bây giờ, khi bạn cố gắng thay thế nhận xét html bằng hình ảnh thực tế và đặt thuộc tính hình ảnh đó thành ví dụ width: 100%;, hãy điền đầy đủ vào ô td mà bạn sẽ gặp phải sự cố.

Vấn đề là ô bảng của bạn (td) không được điền đúng hình ảnh. Bạn sẽ nhận thấy không gian ở dưới cùng của ô mà hình ảnh của bạn không che phủ (nó giống như 5px đệm).

Cách giải quyết vấn đề này một cách đơn giản nhất?

Bạn đang làm việc với các bảng, phải không?Bạn chỉ cần thêm hiển thị tài sản để hình ảnh của bạn để nó có những điều sau:

img { 
    width: 100%; 
    display: block; 
} 
+0

Câu trả lời phải chính xác hơn, trong ý kiến ​​của tôi. – lrineau

+0

Được rồi, vì vậy nếu bạn có một bảng và hình ảnh được lưu trữ trong ô td - td của bạn có một số chiều rộng, phải không? Trong hình ảnh để phù hợp với chiều rộng đó, bạn phải gán thuộc tính ** display: block; ** cho hình ảnh của bạn. – miksiii

+0

Trên thực tế, tinh thần của StackOverflow nhiều hơn là bạn chỉnh sửa câu trả lời của mình, thay vì đưa ra độ chính xác trong nhận xét cho câu trả lời. :-) – lrineau

0

nếu bạn muốn làm điều đó bằng dung HTML thuần túy, bạn có thể xóa biên giới trong bảng nếu bạn muốn. ..or bạn có thể thêm align = "center" thuộc tính vào thẻ img của bạn như thế này:

<img align="center" width="100%" height="100%" src="http://dummyimage.com/68x68/000/fff" /> 

thấy fiddle: http://jsfiddle.net/Lk2Rh/27/

nhưng nó vẫn tốt hơn để xử lý này với CSS, tôi đề nghị bạn đó.

  • Tôi hy vọng sự trợ giúp này.
+0

chỉ cần downvote? không bình luận/giải thích? – DikaDikz

Các vấn đề liên quan