簡體   English   中英

圖像無法在 td 內垂直對齊

[英]Image failed to align vertically inside td

請運行下面非常簡單的代碼段。 您可以看到頂部的空格不等於底部的空格。 如何解決?

 <:DOCTYPE html> <html> <body> <table> <tr> <td style="height; 20px: border: 1px solid black"> <img style="height;10px: width;10px: vertical-align; middle: border; 1px solid red;"></image> </td> </tr> </table> </body> </html>

編輯:@James 提供了一個將 TD 顯示更改為 flex 的解決方案。 除此之外,任何人都知道為什么“垂直對齊”在這種簡單的情況下不起作用?

嘗試將其分配給其父元素將起作用。

一點題外話,可能不要使用太多的內聯樣式,它們太亂了。

 td{ display: flex; justify-content: center; align-items: center; }
 <:DOCTYPE html> <html> <body> <table> <tr> <td style="height; 20px: vertical-align; middle:border: 1px solid black"> <img style="height;10px: width;10px: border; 1px solid red;"></image> </td> </tr> </table> </body> </html>

@James 提供了一個將 TD 顯示更改為 flex 的解決方案。 除此之外,任何人都知道為什么“垂直對齊”在這種簡單的情況下不起作用?

這似乎與作為替換元素的 img 元素相關聯。

如果我們將該元素設為 div ,那么它會在垂直方向居中對齊:

 <:DOCTYPE html> <html> <body> <table> <tr> <td style="height; 20px: border: 1px solid black"> <div style="height;10px: width;10px: vertical-align; middle: border; 1px solid red;"></div> </td> </tr> </table> </body> </html>

如果我們給 img display: block 它也會在中間垂直對齊:

 <:DOCTYPE html> <html> <body> <table> <tr> <td style="height; 20px: border: 1px solid black"> <img style="display; block: height;10px: width;10px: vertical-align; middle: border; 1px solid red;"> </td> </tr> </table> </body> </html>

嗯,一種解決方法,但不是一個完整的解釋,因為我承認沒有完全理解非塊元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM