【问题标题】:How to vertical align middle (content) when table td div height is fixed?固定表格 td div 高度时如何垂直对齐中间(内容)?
【发布时间】:2021-11-30 00:49:51
【问题描述】:

我有一个表和一些表行。我想修复 td 的高度,所以我创建了一个 div 设置高度为 60px 并溢出到隐藏,这给了我适当的输出。但如果 td 中的内容较少,则应垂直居中对齐。

table, th, td {
  border:1px solid black;
}
.fixed-height{
    height:60px;
    overflow: hidden;
}
<table style="width:50%">
  <tr>
   <td><div class="fixed-height" ><span>TEST TEST TEST TEST TEST TEST TEST TEST TEST
   TEST TEST TEST TEST TEST TEST TEST EST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TE
   </span>
   </div></td>
    <td>Tobias</td>
    <td>Linus</td>
  </tr>
   <tr>
    <td><div class="fixed-height" >this should be center</div></td>
    <td>Tobias</td>
    <td>Linus</td>
  </tr>
  <tr>
    <td><div class="fixed-height" >this should be centerl</div></td>
    <td>14</td>
    <td>10</td>
  </tr>
</table>

jsfiddle link

【问题讨论】:

    标签: html css flexbox css-selectors


    【解决方案1】:

    将以下代码添加到您的 css 中。

    .fixed-height {
      display: inline-grid;
      align-items: center;
      height: 60px;
      overflow: hidden;
    }
    

    【讨论】:

    • 当 div 中有两个或多个 span 时,它会占用更多空间。screenshot
    • 否则您可以指定另一个类进行垂直对齐。 You can use display: flex, align-items: center。希望它有所帮助:-)
    • 之前我尝试使用 flex 本身,但由于某种原因,文本被缩减了 ss
    • 是的,这就是为什么我提到您需要指定一个新类。如果这将是一个静态页面,这将解决问题。如果它是动态的,那么这种方法不是最好的..
    • 它会是动态的会寻找另一个sol'n
    猜你喜欢
    • 2021-12-13
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2012-03-25
    相关资源
    最近更新 更多