Tabel bootstrap tanpa garis / batas


191

Saya agak terjebak dengan masalah CSS saat menggunakan Bootstrap. Saya juga menggunakan JS Angular dengan Angular UI.bootstrap (yang mungkin menjadi bagian dari masalah).

Saya membuat situs web yang menampilkan data dalam sebuah tabel. Terkadang, data berisi objek yang harus saya tampilkan dalam tabel. Jadi saya ingin menempatkan tabel tanpa batas di dalam tabel normal sambil menjaga di dalam garis pemisah untuk tabel tanpa batas.

Tetapi tampaknya bahkan jika saya secara khusus mengatakan untuk tidak menunjukkan perbatasan di atas meja, terpaksa:

HTML:

<table class='table borderless'>

CSS:

.borderless table {
    border-top-style: none;
    border-left-style: none;
    border-right-style: none;
    border-bottom-style: none;
}

Jadi di sini, yang saya inginkan hanyalah batas dalam.


1
Versi Bootstrap apa yang Anda gunakan?
Martin Bean

2
Saya menggunakan bootstrap 2.3.1
Romain

dengan bootstrap 4: .borderless tr td, .borderless tr th {border: none;}
Yevhenii Shashkov

Jawaban:


286

Gaya tepi diatur pada tdelemen.

html:

<table class='table borderless'>

css:

.borderless td, .borderless th {
    border: none;
}

Pembaruan: Karena Bootstrap 4.1 dapat Anda gunakan .table-borderlessuntuk menghapus perbatasan.

https://getbootstrap.com/docs/4.1/content/tables/#borderless-table


11
Catatan: Anda juga harus menambahkan .borderless th, karena gaya Bootstrap juga berlaku <th>.
Benjamin

11
Jika Anda menggunakan Bootstrap 3, periksa jawaban saya .
Davide Pastore

42
Saya harus menambahkan perbatasan: tidak ada! Penting; untuk membuatnya bekerja.
Srikanth Jeeva

@SrikanthJeeva ..atau Anda cukup menambahkan gaya css di baris tersebut style=, atau memasukkannya ke dalam file yang disesuaikan dan memastikan bahwa itu dimuat lebih lambat dari file Bootstrap css , untuk mengganti gaya default Bootstrap. CSS dimuat dengan pesanan; yang terakhir menimpa yang pertama, yang lebih spesifik menimpa yang lebih umum.
WesternGun

1
Untuk boostrap> 4,1 gunakan <table class='table table-borderless'>per Max di bawah ini
makam

339

Menggunakan Bootstrap 3.2.0 Saya punya masalah dengan solusi Brett Henderson (perbatasan selalu ada), jadi saya memperbaikinya:

HTML

<table class="table table-borderless">

CSS

.table-borderless > tbody > tr > td,
.table-borderless > tbody > tr > th,
.table-borderless > tfoot > tr > td,
.table-borderless > tfoot > tr > th,
.table-borderless > thead > tr > td,
.table-borderless > thead > tr > th {
    border: none;
}

2
Jangan lupakan thelemen di dalam tubuh: .borderless tbody tr th(seperti yang digunakan dalam contoh )
Wietse

2
@ DavidvidePastore Jika ini hanya untuk tabel, mungkin awali dengan .table-, seperti yang dilakukan Bootstrap 3 untuk kelas terkait tabel lainnya (misalnya table-striped, dll.). Jadi nama akan table-borderless.
arogachev

1
Bekerja untuk v4.0.0-alpha.2. Terima kasih!
Dominofoe

Saya masih mendapatkan batas di sepanjang bagian bawah meja sampai saya menambahkan .table-borderless,ke awal spesifikasi gaya ini.
Christopher King

Saya tidak melihat table-borderlessdalam dokumen ini getbootstrap.com/docs/3.3/css/#tables . Dari mana asalnya?
Arup Rakshit

24

mirip dengan yang lain, tetapi lebih spesifik:

    table.borderless td,table.borderless th{
     border: none !important;
}

Anda seharusnya tidak perlu penting dengan .tabel. Tanpa batas
Tidak dicintai

@ Sam Jones - Apakah ini memengaruhi seluruh tabel? Saya ingin beberapa baris memiliki batas bawah. Saya ingin border-top hilang.
MarcoZen

! Penting sangat penting
FLICKER

18

Jangan tambahkan .tablekelas ke <table>tag Anda . Dari dokumentasi Bootstrap di atas tabel :

Untuk gaya dasar — ​​padding ringan dan hanya pembagi horizontal — tambahkan kelas dasar .tableke semua <table>. Ini mungkin tampak sangat berlebihan, tetapi mengingat banyaknya penggunaan tabel untuk plugin lain seperti kalender dan pemilih tanggal, kami telah memilih untuk mengisolasi gaya tabel khusus kami.


Bahkan seperti ini: html: <table class = 'borderless'> css: .borderless {border: none; } Ini tidak berhasil.
Romain

2
Saya sarankan menggunakan Inspektur Web di Chrome kemudian dan melihat di mana batas diterapkan, karena tabel secara default tidak memiliki batas ketika menggunakan Bootstrap untuk interoperabilitas dengan komponen lain seperti pemilih tanggal dll.
Martin Bean

6
Ini bekerja dengan baik, saya hanya menggunakan varian 'table-condensed' dan lainnya tanpa kelas 'table' dan menyingkirkan perbatasan. Tip yang bagus saat para dokter melemparkan saya sedikit ke sana.
chrismacp

9

Karena Bootstrap v4.1 Anda dapat menambahkan table-borderlesske tabel Anda, lihat dokumentasi resmi :

<table class='table table-borderless'>

5

Di CSS saya:

.borderless tr td {
    border: none !important;
    padding: 0px !important;
}

Dalam arahan saya:

<table class='table borderless'>
    <tr class='borderless' ....>

Saya tidak menempatkan 'tanpa batas' untuk elemen td.

Diuji dan berhasil! Semua batas dan bantalan sepenuhnya dilepas.


4

Saya memperluas gaya tabel Bootstrap seperti yang Davide Pastore lakukan, tetapi dengan metode itu gaya diterapkan ke semua tabel anak juga, dan mereka tidak berlaku untuk catatan kaki.

Solusi yang lebih baik akan meniru gaya tabel Bootstrap inti, tetapi dengan kelas baru Anda:

.table-borderless>thead>tr>th
.table-borderless>thead>tr>td
.table-borderless>tbody>tr>th
.table-borderless>tbody>tr>td
.table-borderless>tfoot>tr>th
.table-borderless>tfoot>tr>td {
    border: none;
}

Maka ketika Anda <table class='table table-borderless'>hanya menggunakan tabel spesifik dengan kelas akan dibatasi, bukan tabel di pohon.


3

Coba ini:

<table class='borderless'>

CSS

.borderless {
 border:none;
}

Catatan: Apa yang Anda lakukan sebelumnya tidak berfungsi karena kode css Anda menargetkan tabel di dalam tabel .borderless Anda (yang mungkin tidak ada)


3

Saya tahu ini adalah utas lama dan bahwa Anda telah mengambil jawaban, tetapi saya pikir saya akan memposting ini karena relevan untuk orang lain yang sedang mencari.

Tidak ada alasan untuk membuat aturan CSS baru, cukup batalkan aturan saat ini dan perbatasan akan hilang.

    .tabel> tbody> tr> th,
    .table> tbody> tr> td {
        border-top: 0;
    }

maju, apa pun yang ditata

    .meja

tidak akan menunjukkan batas.


2

Gunakan border-kelas dari Boostrap 4

<td class="border-0"></td>

atau

<table class='table border-0'></table>

Pastikan untuk mengakhiri input kelas dengan perubahan terakhir yang ingin Anda lakukan.



1

Aku terlambat untuk permainan di sini tapi FWIW: menambahkan .table-borderedke .tablehanya membungkus meja dengan perbatasan, meskipun dengan menambahkan perbatasan penuh untuk setiap sel.

Tetapi menghapus .table-borderedmasih meninggalkan garis aturan. Ini adalah masalah semantik, tetapi sesuai dengan nomenklatur BS3 +, saya telah menggunakan serangkaian penggantian ini:

.table.table-unruled>tbody>tr>td,
.table.table-unruled>tbody>tr>th {
  border-top: 0 none transparent;
  border-bottom: 0 none transparent;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<div class="container">
  <div class="row">
    <div class="col-xs-5">
      .table
      <table class="table">
        <thead>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tbody>
        <tfoot>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </tfoot>
      </table>
    </div>
    <div class="col-xs-5 col-xs-offset-1">
      <table class="table table-bordered">
        .table .table-bordered
        <thead>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tbody>
        <tfoot>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </tfoot>
      </table>
    </div>
  </div>

  <div class="row">
    <div class="col-xs-5">
      <table class="table table-unruled">
        .table .table-unruled
        <thead>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tbody>
        <tfoot>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </tfoot>
      </table>
    </div>
    <div class="col-xs-5 col-xs-offset-1">
      <table class="table table-bordered table-unruled">
        .table .table-bordered .table-unruled
        <thead>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tbody>
        <tfoot>
          <tr>
            <th>a</th>
            <th>b</th>
            <th>c</th>
          </tr>
        </tfoot>
      </table>
    </div>
  </div>

</div>


1

Gunakan hiddenalih-alih none:

.hide-bottom {
    border-bottom-style: hidden;
}

1

Sebagian besar contoh tampaknya terlalu spesifik dan / atau kembung.

Inilah solusi saya yang dipangkas menggunakan Bootstrap 4.0.0 (4.1 termasuk .table-borderlesstetapi masih alpha) ...

.table-borderless th{border:0;}
.table-borderless td{border:0;}

Mirip dengan banyak solusi yang diusulkan, tetapi byte minimal 😉

Catatan: Berakhir di sini karena saya melihat referensi BS4.1 dan tidak tahu mengapa .table-borderlesstidak bekerja dengan sumber-sumber 4.0 saya (misalnya: kesalahan operator, ya) 💩


Koreksi: 4.1 bukan alfa. Diasumsikan itu karena saya tidak menggunakan versi itu 🤣
Mavelo

1

Dalam beberapa kasus, seseorang juga harus menggunakan spasi-perbatasan di kelas tabel, seperti:

batas-jarak: 0! penting;


0

Instal bootstrap dengan tautan npm atau cdn

<table class="table table-borderless">
<thead>
<tr>
  <th scope="col">#</th>
  <th scope="col">First</th>
  <th scope="col">Last</th>
  <th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
  <th scope="row">1</th>
  <td>Mark</td>
  <td>Otto</td>
  <td>@mdo</td>
</tr>
<tr>
  <th scope="row">2</th>
  <td>Jacob</td>
  <td>Thornton</td>
  <td>@fat</td>
  </tr>
  <tr>
  <th scope="row">3</th>
    <td colspan="2">Larry the Bird</td>
    <td>@twitter</td>
   </tr>
 </tbody>
</table>

dapatkan referensi dengan tautan ini

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.