如何防止<td>过高?

Ily*_*gan 4 html formatting

它一定是蠢事,但到目前为止我无法弄明白......

这是我的HTML:

<table cellspacing="0" cellpadding="0" border="0">
<tr>
    <td style="height: 8px"><img src="/media/note2.png" width="8" height="8" border="0"></td>
    <td style="height: 8px"></td>
    <td style="height: 8px"><img src="/media/note1.png" width="8" height="8" border="0"></td>
</tr>
<tr>
    <td class="NoteCell"></td>
    <td class="NoteCell">{{ text }}</td>
    <td class="NoteCell"></td>
</tr>
<tr>
    <td style="height: 8px"><img src="/media/note4.png" width="8" height="8" border="0"></td>
    <td style="height: 8px"></td>
    <td style="height: 8px"><img src="/media/note3.png" width="8" height="8" border="0"></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我希望第一行和第三行的高度为8像素,但由于某种原因它们要高得多(就好像里面有文字,但没有文字!)

困惑......任何帮助将不胜感激!

Alo*_*hci 15

尝试 td img { display: block; }

  • @adius - 正如OP所说"好像里面有文字".就是这样.默认情况下,图像是替换的内联元素,位于行框中.所有行框都包含一个[strut](http://www.w3.org/TR/CSS2/visudet.html#strut),一个零宽度的匿名框,由文本的字体大小和行高组成容器元素中的字符并垂直对齐基线.正是支柱创造了额外的高度.使图像"display:block"表示它不在行框中.从不创建线框,并且没有支柱,因此没有额外的高度. (2认同)