2015-01-02 14 views
60

Sto provando a visualizzare una tabella con 4 colonne, una delle quali è un'immagine. Segue l'istantanea: - enter image description hereAllineamento verticale nella tabella bootstrap

Voglio allineare verticalmente il testo alla posizione centrale, ma in qualche modo il css non sembra funzionare. Ho usato le tabelle reattive bootstrap. Voglio sapere perché il mio codice non funziona e qual è il metodo corretto per farlo funzionare.

seguito è riportato il codice per la tavola

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> 

risposta

155

In base a quello che ci avete fornito il vostro selettore CSS non è specific sufficiente per ignorare le regole CSS definite da Bootstrap.

Prova questo:

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

Cosa succede se voglio solo usarlo in una tabella? –

+0

Oops ... stava facendo male. Stavo provando .table tbody> tr> td> .vert-align invece di .table tbody> tr> td.vert-align. –

+6

@BarryFranklin Aggiungi una classe a quella tabella, '

', e aumenta leggermente la specificità del selettore usando quella classe, 'table.vertical-align> tbody> tr> td {} '. Si potrebbe anche fare '.table.vertical-alilgn> tbody> tr> td {}' sebbene abbia una specificità più alta rispetto alla prima opzione. Cerco sempre di aumentare la specificità nei miei selettori CSS il meno possibile se posso. Si noti che la prima opzione è selezionare un elemento di tabella che ha '.vertical-align' mentre la seconda opzione sta selezionando un elemento che ha le classi' .table' AND '.vertical-align'. – hungerstar

1

Il seguente sembra funzionare:

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

È possibile applicare a una tabella specifica e in questo modo:

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

'! Important' è eccessivo, aggiungendo più specificità del necessario. – hungerstar

1

Per me i <td class="align-middle" >${element.imie}</td> opere . Sto usando Bootstrap v4.0.0-beta.

Problemi correlati