引导表中的垂直对齐


123

我正在尝试显示具有4列的表格,其中之一是图像。以下是快照:-在此处输入图片说明

我想将文本垂直对齐到中心位置,但是以某种方式,css似乎不起作用。我已经使用了引导响应表。我想知道为什么我的代码不起作用,什么是使它起作用的正确方法。

以下是该表的代码

的CSS

img {
    height: 150px;
    width: 200px;
}
th, td {
    text-align: center;
    vertical-align: middle;
}

的HTML

<table id="news" class="table table-striped table-responsive">
    <thead>
        <tr>
          <th>Name</th>
          <th>Email</th>
          <th>Phone</th>
          <th>Photo</th>
        </tr>
    </thead>
    <tbody>
        <?php
        $i=0;
        foreach ($result as $row) 
        { ?>
        <tr>
            <td>
                <?php echo 'Lorem Ispum'; ?>
            </td>
            <td>
                <?php echo 'lrem@ispum.com'; ?>
            </td>
            <td>
                <?php echo '9999999999'; ?>
            </td>
            <td>
                <?php echo '<img src="'.  base_url('files/images/test.jpg').'">'; ?>
            </td>
        </tr>

        <?php
        }
        ?>           
    </tbody>
</table>

Answers:


251

根据您提供的信息,您的CSS选择器不够具体,无法覆盖Bootstrap定义的CSS规则。

试试这个:

.table > tbody > tr > td {
     vertical-align: middle;
}

Boostrap 4中,这可以通过“ .align-middle 垂直对齐”实用程序类来实现。

<td class="align-middle">Text</td>

8
@BarryFranklin向该表添加一个类<table class="table vertical-align">,并使用该类稍微增加选择器的特异性table.vertical-align > tbody > tr > td {}。您也可以这样做,.table.vertical-alilgn > tbody > tr > td {}尽管它具有比第一种选择更高的特异性。我总是尽可能地提高CSS选择器的特异性。注意,第一个选项选择一个具有的表元素,.vertical-align而第二个选项选择具有.tableAND .vertical-align类的元素。
hungerstar '16

37

从Bootstrap 4开始,现在使用随附的实用程序代替自定义CSS 更加容易。您只需要将align-middle类添加到td-element中:

<table>
  <tbody>
    <tr>
      <td class="align-baseline">baseline</td>
      <td class="align-top">top</td>
      <td class="align-middle">middle</td>
      <td class="align-bottom">bottom</td>
      <td class="align-text-top">text-top</td>
      <td class="align-text-bottom">text-bottom</td>
    </tr>
  </tbody>
</table>

11

为我<td class="align-middle" >${element.imie}</td>工作。我正在使用Bootstrap v4.0.0-beta。


4

以下内容似乎起作用:

table td {
  vertical-align: middle !important;
}

您也可以像这样申请一个特定的表:

#some_table td {
  vertical-align: middle !important;
}

7
!important是多余的,增加了不必要的特异性。
hungerstar


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.