在引导表中垂直对齐

Piy*_*rma 101 html css twitter-bootstrap

我试图显示一个包含4列的表,其中一列是图像.以下是快照: - 在此输入图像描述

我想垂直对齐文本到中心位置,但不知何故css似乎不起作用.我使用了bootstrap响应表.我想知道为什么我的代码不起作用,什么是使它工作的正确方法.

以下是该表的代码

CSS

img {
    height: 150px;
    width: 200px;
}
th, td {
    text-align: center;
    vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

hun*_*tar 219

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

试试这个:

.table > tbody > tr > td {
     vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud)

  • @BarryFranklin在该表中添加一个类,`<table class ="table vertical-align">`,并稍微增加使用该类的选择器的特异性,`table.vertical-align> tbody> tr> td {}` .您也可以执行`.table.vertical-alilgn> tbody> tr> td {}`尽管它具有比第一个选项更高的特异性.如果可以的话,我总是尽可能少地增加CSS选择器的特异性.请注意,第一个选项是选择具有`.vertical-align`的表元素,而第二个选项是选择具有`.table`和`.vertical-align`类的元素. (6认同)

And*_*röm 27

从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>
Run Code Online (Sandbox Code Playgroud)

  • 当表类为`<table class ="table-responsive">时,`<td class ="align-middle">`不起作用 (6认同)

小智 11

对我而言<td class="align-middle" >${element.imie}</td>.我正在使用Bootstrap v4.0.0-beta.


Vas*_*sco 5

以下似乎有效:

table td {
  vertical-align: middle !important;
}
Run Code Online (Sandbox Code Playgroud)

您也可以像这样应用到特定的表:

#some_table td {
  vertical-align: middle !important;
}
Run Code Online (Sandbox Code Playgroud)

  • `!important` 有点矫枉过正,增加了不必要的特殊性。 (7认同)