TD高度问题在表中

时间:2011-10-21 14:15:55

标签: html css html-table

我正在使用以下结构的表格 -

**HTML:**
    <table>
        <tr class="table_row row_over">
          <td><input type="checkbox" name="check_data_1" class="check_box" /></td>
          <td>
              Data1
          </td>
          <td>$0.000</td>
          <td>$0.000</td>
          <td>$0.000</td>
          <td>
              <span class="row_controls">
                  <a href="#" class="icon_22 icon_delete">
                     <span>Delete</span>
                  </a>
              </span>
          </td>
        </tr>
    </table>

**CSS:**
.icon_delete {
    background-position: 0 0px;
}
.icon_22 {
    background-image: url("../images/icon_sprite.png");
    background-repeat: no-repeat;
    display: inline-block;
    height: 24px;    
    width: 24px;
    margin-right: 5px;
}

问题: TD的高度根据图标高度增加。它会增加TD的高度并与其他td错误对齐,因为我在TD的底部仍留有空间。

预计附图如下:

enter image description here

2 个答案:

答案 0 :(得分:0)

除非.row_controlsposition: relative;且图标为position: absolute;,否则它将成为normal flow的一部分,因此会占用空间。

目前您正在使用inline-block。您需要使用定位或浮动技术将其拉出正常流程。

请尝试以下作为基础。

.row_controls {
  position: relative;
}

.icon_22 {
  position: absolute;
}

答案 1 :(得分:0)

如果您想将图标与中间对齐,我会这样做:

将图标的CSS更改为display: block

.icon_22 {
    background-image: url("../images/icon_sprite.png");
    background-repeat: no-repeat;
    display: block;
    height: 24px;    
    width: 24px;
    margin-right: 5px;
}

然后,因为您使用的是td,请为td指定一个类,使其在中间垂直对齐:

<td class="alignMiddle">

和CSS:

.alignMiddle {
   vertical-align: middle;
}