Alineación vertical en la tabla bootstrap


Estoy tratando de mostrar una tabla con 4 columnas, una de las cuales es una imagen. A continuación se muestra la instantánea:-introduzca la descripción de la imagen aquí

Quiero alinear verticalmente el texto a la posición central, pero de alguna manera el css no parece funcionar. He utilizado las tablas de bootstrap responsive. Quiero saber por qué mi código no funciona y cuál es el método correcto para hacerlo funcionar.

A continuación se muestra el código de la tabla

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 '[email protected]'; ?>
            </td>
            <td>
                <?php echo '9999999999'; ?>
            </td>
            <td>
                <?php echo '<img src="'.  base_url('files/images/test.jpg').'">'; ?>
            </td>
        </tr>

        <?php
        }
        ?>           
    </tbody>
</table>
Author: Piyush Vishwakarma, 2015-01-02

4 answers

Basado en lo que ha proporcionado su selector CSS no es específico suficiente para anular las reglas CSS definidas por Bootstrap.

Prueba esto:

.table > tbody > tr > td {
     vertical-align: middle;
}
 178
Author: hungerstar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-02 19:10:24

Para mí <td class="align-middle" >${element.imie}</td> funciona. Estoy usando Bootstrap v4. 0. 0-beta .

 6
Author: Paweł Gil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-31 20:18:14

A partir de Bootstrap 4, ahora es mucho más fácil usar las utilidades incluidas en lugar de CSS personalizado. Basta con añadir la clase align-middle al elemento td:

<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>
 4
Author: Andreas Bergström,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-29 09:49:03

Lo siguiente parece funcionar:

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

Puede aplicar a una tabla específica así:

#some_table td {
  vertical-align: middle !important;
}
 1
Author: Vasco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-29 15:02:15