Memusatkan teks dalam tabel di Twitter Bootstrap


114

Untuk beberapa alasan, teks di dalam tabel masih tidak berada di tengah. Mengapa? Bagaimana cara memusatkan teks di dalam tabel?

Untuk membuatnya sangat jelas: Misalnya, saya ingin "Lorem" duduk di tengah empat "1". </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> orang </s>

@import url('http://twitter.github.com/bootstrap/assets/css/bootstrap.css');
table,
thead,
tr,
tbody,
th,
td {
  text-align: center;
}
<table class="table">
  <thead>
    <tr>
      <th>1</th>
      <th>1</th>
      <th>1</th>
      <th>1</th>
      <th>2</th>
      <th>2</th>
      <th>2</th>
      <th>2</th>
      <th>3</th>
      <th>3</th>
      <th>3</th>
      <th>3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td colspan="4">Lorem</td>
      <td colspan="4">ipsum</td>
      <td colspan="4">dolor</td>
    </tr>
  </tbody>
</table>

JSFiddle

Jawaban:


149

The .table td's text-align diatur ke kiri, bukan pusat.

Menambahkan ini harus memusatkan semua tds Anda :

.table td {
   text-align: center;   
}

@import url('https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css');
table,
thead,
tr,
tbody,
th,
td {
  text-align: center;
}

.table td {
  text-align: center;
}
<table class="table">
  <thead>
    <tr>
      <th>1</th>
      <th>1</th>
      <th>1</th>
      <th>1</th>
      <th>2</th>
      <th>2</th>
      <th>2</th>
      <th>2</th>
      <th>3</th>
      <th>3</th>
      <th>3</th>
      <th>3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td colspan="4">Lorem</td>
      <td colspan="4">ipsum</td>
      <td colspan="4">dolor</td>
    </tr>
  </tbody>
</table>

JSFIDDLE diperbarui


48
Dalam versi yang lebih baru ada kelas pusat teks untuk ini.
MGP

9
hati-hati: .table td {text-align: center; } akan memusatkan SEMUA TD Anda
rbp

9
@ xr09 Ya ada .text-center, tetapi kekhususan .table tdmasih akan mengalahkannya. Inilah sebabnya mengapa bootstrap harus dimulai dengan tagnames daripada diluncurkan langsung ke kelas seperti.table
Sinetheta

6
Tambahkan .texter-centerdalam <table>dan semua baris akan menjadi terpusat.
chaim

Komentar @chaim harus dipasang sebagai jawaban. Bekerja pada bootstrap-vue 2.0.1
MrCodeX

177

Dalam Bootstrap 3 (3.0.3) menambahkan "text-center"kelas ke tdelemen berhasil di luar kotak.

Yaitu, pusat-pusat berikut some textdalam sel tabel:

<td class="text-center">some text</td>

3
Saya menyukai solusi ini karena mengubah seluruh gaya .table td.
Stuart

Anda juga bisa menambahkan kelas "text-center" ke elemen tabel.
shad0wec

Inilah jawaban sebenarnya.
Nyxynyx

33

Saya pikir siapa campuran terbaik untuk html & Css untuk mod cepat dan bersih adalah:

<table class="table text-center">
<thead>
        <tr>                    
        <th class="text-center">Uno</th>
        <th class="text-center">Due</th>
        <th class="text-center">Tre</th>
        <th class="text-center">Quattro</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
    </tr>
</tbody>
</table>

tutup <table>tag init lalu salin di tempat yang Anda inginkan :) Semoga bermanfaat. Semoga hari Anda menyenangkan dengan stackoverflow

ps Bootstrap v3.2.0


1
sementara pertanyaan ini sudah ada jawabannya, tidak ada artinya memposting jawaban baru !!
Pragnesh Ghoda シ

29

Anda dapat membuat perataan td tanpa mengubah css dengan menambahkan div dengan kelas "text-center" di dalam sel:

    <td>
        <div class="text-center">
            My centered text
        </div>
    </td>

1
Siapa yang mendefinisikan class?
Amol M Kulkarni

6
Sejauh yang saya tahu, di Bootstrap 2.3, td {text-align:left}akan menimpa setiap upaya tambahan untuk memusatkan sesuatu. Saya hanya mencoba melakukannya dengan cara ini, tetapi tidak berhasil.
Jason Lowenthal

12
<td class="text-center">

dan perbaiki .text-center di bootstrap.css:

.text-center {
    text-align: center !important;
}

3
Saya yakin Anda tidak ingin mengubah bootstrap.css secara langsung.
Mike Cole

3
Saya tidak perlu memperbaiki .text-center di bootstrap.css, ini berfungsi tanpa itu.
pengguna573335

6

Saya memiliki masalah yang sama dan cara yang lebih baik untuk menyelesaikannya tanpa menggunakan !importantadalah dengan mendefinisikan yang berikut ini di CSS saya:

table th.text-center, table td.text-center { 
    text-align: center;
}

Dengan begitu, spesifikasi text-centerkelas berfungsi dengan benar dalam tabel.


6

Jika hanya sekali, Anda sebaiknya tidak mengubah style sheet Anda. Cukup edit yang itu td:

<td style="text-align: center;">

Bersulang


4

Salah satu fitur utama Bootstrap adalah mengurangi penggunaan tag penting! Menggunakan jawaban di atas akan menggagalkan tujuan. Anda dapat dengan mudah menyesuaikan bootstrap dengan memodifikasi kelas dalam file css Anda sendiri dan menautkannya setelah memasukkan boostrap css.



0

berikan <tr>kelas khusus di sekitarnya seperti:

<tr class="custom_centered">
  <td>1</td>
  <td>2</td>
  <td>3</td>
</tr>

dan css hanya memilih <td>s yang ada di dalam <tr>dengan kelas kustom Anda.

tr.custom_centered td {
  text-align: center;
}

seperti ini Anda tidak mengambil risiko untuk menimpa tabel lain atau bahkan menimpa kelas dasar bootstrap (seperti yang disarankan beberapa pendahulu saya).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.