首页 > 解决方案 > 无法在表格标题中居中文本和图像

问题描述

当浮动到表格中文本的右侧时,我似乎无法使图像居中。

它在此处的示例中看起来正确,因此它可能与我网站的 css 有关,但我无法弄清楚如何垂直对齐文本和图像。

这是它对我的外观的屏幕截图:https ://www.dropbox.com/s/alejui9bchad4r0/Screen%20Shot%202020-02-06%20at%2011.37.28%20PM.png?dl=0

#sortedTable table {
  border-spacing: 0;
  width: 100%;
}

#sortedTable th {
  cursor: pointer;
  color: #fff;
  background-color: #1b1b1b;
  border: 0;
}

#sortedTable th, #sortedTable td {
  text-align: left;
  padding: 16px;
}

#sortedTable img{
    float: right;
    vertical-align: middle;
}
<table id="sortedTable" class="table-full-width">
  <tr> 
    <th onclick="sortTable(0)">Item 1 <img src="https://cigardojo.com/wp-content/uploads/2020/02/up-down-arrows.png" alt="Up Down Sorting Arrows" width="9" height="13" class="alignnone wp-image-52355" /></th>
    <th onclick="sortTable(1)">Item 2</th>
    <th onclick="sortTable(2)">Item 3</th>
  </tr>
  <tr><td>bla bla bla bla</td></tr>
</table>

标签: csshtml-tablecenter

解决方案


我无法具体帮助您使用浮动方法,但我可以向您展示一个可行的flexbox替代方案。这是创建布局和对齐的最新方法之一:

#sortedTable table {
  border-spacing: 0;
  width: 100%;
}

#sortedTable th {
  cursor: pointer;
  color: #fff;
  background-color: #1b1b1b;
  border: 0;
}

#sortedTable th, #sortedTable td {
  min-width: 100px;
  padding: 16px;
  text-align: left;
}

#sortedTable .cellContent {
  display: flex;
  align-items: center;
  justify-content: space-between;
} 
<table id="sortedTable" class="table-full-width">
  <tr> 
    <th onclick="sortTable(0)">
      <div class="cellContent">
        Item 1
        <img src="https://cigardojo.com/wp-content/uploads/2020/02/up-down-arrows.png" alt="Up Down Sorting Arrows" width="9" height="13" class="alignnone wp-image-52355" />
      </div>
    </th>
    <th onclick="sortTable(1)">Item 2</th>
    <th onclick="sortTable(2)">Item 3</th>
  </tr>
  <tr><td>bla bla bla bla</td></tr>
</table>


推荐阅读