Używam Twitter Bootstrap i próbuję wyśrodkować przycisk w komórce tabeli. Naprawdę potrzebuję tylko wyśrodkowania w pionie.
<table class="table table-bordered table-condensed">
<tbody>
<tr>
<td><a href="#" class="btn btn-primary"><i class="icon-check icon-white"></i></a></td>
<td><a href="#">Todo Item One</a><br /><span class="label label-success">One thing</span></td>
</tr>
</tbody>
</table>
Proszę zajrzeć do mojego JSFiddle dla problemu. Wypróbowałem kilka sztuczek z centrowaniem stołu, o których wiem, ale żadna z nich nie działa poprawnie. Jakieś pomysły? Z góry dziękuję.
AKTUALIZACJA: Tak, próbowałem vertical-align:middle;
i to działa, jeśli jest wbudowane, ale nie jeśli jest w klasie, którą td
ma. Zaktualizowano JSFiddle, aby to odzwierciedlić.
Ostatnia aktualizacja: jestem idiotą i nie sprawdziłem, czy został nadpisany przez plik bootstrap.css
źródło
vert-align
jest to część Bootstrap, mówię o dodaniu NOWEJ klasy w głównym pliku cssMała aktualizacja dla Bootstrap 3.
Bootstrap ma teraz następujący styl dla komórek tabeli:
.table tbody>tr>td { vertical-align: top; }
Najlepszym sposobem jest dodanie własnej klasy z tym samym selektorem:
.table tbody>tr>td.vert-align { vertical-align: middle; }
A następnie dodaj go do swoich tds
<td class="vert-align"></td>
źródło
dodaj to do swojego css
.table-vcenter td { vertical-align: middle!important; }
następnie dodaj do klasy do swojego stołu:
<table class="table table-hover table-striped table-vcenter">
źródło
td
.Aby to naprawić, umieściłem tę klasę na stronie internetowej
<style> td.vcenter { vertical-align: middle !important; text-align: center !important; } </style>
i to w moim TemplateField
<asp:TemplateField ItemStyle-CssClass="vcenter">
ponieważ klasa CSS wskazuje bezpośrednio na element td (tabledata) i ma! Important na końcu każdego ustawienia. Zmieni on reguły bootraps ustawień klas CSS.
Mam nadzieję, że to pomoże
źródło
Dodaj
vertical-align: middle;
dotd
elementu zawierającego przycisk<td style="vertical-align:middle;"> <--add this to center vertically <a href="#" class="btn btn-primary"> <i class="icon-check icon-white"></i> </a> </td>
źródło
td.vert
zamiast tego.vert
;)Dlaczego więc domyślnie td jest ustawione na vertical-align: top ;? Naprawdę jeszcze tego nie wiem. Nie odważyłbym się tego dotknąć. Zamiast tego dodaj to do swojego arkusza stylów. Zmienia przyciski w tabelach.
table .btn{ vertical-align: top; }
źródło