2015-01-02 25 views
60

Tôi đang cố gắng hiển thị một bảng có 4 cột, một trong số đó là một hình ảnh. Dưới đây là ảnh chụp nhanh: - enter image description hereCăn chỉnh dọc trong bảng bootstrap

Tôi muốn căn chỉnh theo chiều dọc văn bản đến vị trí trung tâm, nhưng bằng cách nào đó css dường như không hoạt động. Tôi đã sử dụng bảng đáp ứng bootstrap. Tôi muốn biết tại sao mã của tôi không hoạt động và whats là phương pháp chính xác để làm cho nó hoạt động.

Sau đây là đoạn code cho bảng

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> 

Trả lời

155

Dựa trên những gì bạn đã cung cấp bộ chọn CSS của bạn không phải là specific đủ để ghi đè các quy tắc CSS được định nghĩa bởi Bootstrap.

Hãy thử điều này:

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

Nếu tôi chỉ muốn sử dụng điều này trong một bảng thì sao? –

+0

Rất tiếc ... đã làm sai. Tôi đã cố gắng .table tbody> tr> td> .vert-align thay vì .table tbody> tr> td.vert-align. –

+6

@BarryFranklin Thêm một lớp vào bảng đó, '

' và tăng nhẹ độ đặc hiệu của bộ chọn bằng cách sử dụng lớp đó, 'table.vertical-align> tbody> tr> td {} '. Bạn cũng có thể làm '.table.vertical-alilgn> tbody> tr> td {}' mặc dù có độ đặc hiệu cao hơn tùy chọn đầu tiên. Tôi luôn cố gắng tăng độ đặc hiệu trong bộ chọn CSS của mình càng ít càng tốt nếu có thể. Lưu ý rằng tùy chọn đầu tiên là chọn một phần tử bảng có '.vertical-align' trong khi tùy chọn thứ hai đang chọn một phần tử có các lớp' .table' AND '.vertical-align'. – hungerstar

1

Sau đây dường như làm việc:

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

Bạn có thể áp dụng cho một bảng cụ thể cũng như vậy:

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

'! Quan trọng' là quá mức cần thiết, bổ sung thêm tính đặc thù hơn mức cần thiết. – hungerstar

1

Đối với tôi <td class="align-middle" >${element.imie}</td> công trình . Tôi đang sử dụng Bootstrap v4.0.0-beta.

Các vấn đề liên quan