Tambahkan border-bottom ke baris tabel <tr>


386

Saya memiliki tabel 3 oleh 3. Saya perlu cara untuk menambahkan perbatasan untuk bagian bawah setiap baris trdan memberikan warna tertentu.

Pertama saya mencoba cara langsung, yaitu:

<tr style="border-bottom:1pt solid black;">

Tapi itu tidak berhasil. Jadi saya menambahkan CSS seperti ini:

tr {
border-bottom: 1pt solid black;
}

Itu masih tidak berhasil.

Saya lebih suka menggunakan CSS karena saya tidak perlu menambahkan styleatribut ke setiap baris. Saya belum menambahkan borderatribut ke <table>. Saya harap itu tidak mempengaruhi CSS saya.


Sebagai catatan, jika penataan inline (contoh pertama dalam pertanyaan Anda) tidak berfungsi maka penataan yang disematkan (contoh kedua) tidak akan berfungsi. Anda juga harus meneliti ketersediaan atribut untuk elemen yang Anda coba gaya: w3.org/TR/html-markup/tr.html
Tass

Jika Anda ingin memiliki batas bawah untuk tr tabel Anda dapat mengikuti ini jsfiddle.net/7awN4
AllenC

6
Hanya sebuah catatan untuk mendorong para pencari di masa depan untuk menggulir ke bawah ke jawaban @Nathan Manousos, di bawah ini - itu mungkin solusi yang Anda cari
henry

Jawaban:


400

Saya punya masalah seperti ini sebelumnya. Saya tidak berpikir trbisa mengambil gaya perbatasan secara langsung. Solusi saya adalah menata huruf tds di baris:

<tr class="border_bottom">

CSS:

tr.border_bottom td {
  border-bottom:1pt solid black;
}

27
Perhatikan bahwa menggunakan solusi ini Anda kemungkinan besar akan memiliki celah di perbatasan antara td's. Jawaban simoncereska menangani hal ini tetapi perlu diketahui bahwa ini mungkin tidak terlihat bagus dengan tipe garis putus-putus atau putus-putus (karena tidak kontinu)
Griddo

24
Anda juga dapat memperbaiki ini dengan menambahkan cellspacing="0"sebagai atribut <table>(lihat pertanyaan ini ). Tidak tahu bagaimana ini akan terlihat dengan perbatasan bertitik atau putus-putus.
Stefan van den Akker

5
trdapat menggunakan gaya tepi dalam model batas yang runtuh. @Sangram, pertimbangkan untuk menerima jawaban yang mempertimbangkan itu alih-alih yang ini, bukan?
Robert Siemer

Ini tidak akan berfungsi jika ada padding di antara sel-sel tabel. Jika ada padding maka perbatasan akan terlihat terbelah.
Timothy Gonzalez

dan meja Anda memerlukan gaya ini <table style = "border-collapse: collapse">
Oguz

511

Tambahkan border-collapse:collapseke aturan tabel Anda:

table { 
    border-collapse: collapse; 
}

Tautan


2
Ini tidak bekerja dengan sendirinya. Anda masih tidak bisa mendesain baris, tetapi Anda bisa mendesain sel.
Renan

49
Anda salah, @Renan. Model border collapsing adalah apa yang membuat perbatasan baris bisa diubah. Menurut CSS sectoin 17.6 : Dalam model perbatasan yang terpisah "Baris, [...] tidak dapat memiliki batas (yaitu, agen pengguna harus mengabaikan properti perbatasan untuk elemen-elemen itu)." “Dalam model batas kolaps, dimungkinkan untuk menentukan batas yang mengelilingi semua atau sebagian sel, baris [dan] grup baris [...]” Dan omong-omong: ini berfungsi di browser saya (Chromium 37).
Robert Siemer

12
Saya pikir beberapa orang mungkin menjadi bingung (seperti yang saya lakukan) dan tidak memperhatikan bahwa gaya border-collapse perlu diatur di atas meja, bukan di baris.
Porlune

Tampaknya Chrome tidak memiliki fitur ini, meskipun mendukung fitur border-collapse lainnya.
Liqun Sun

72

Gunakan di border-collapse:collapseatas meja dan border-bottom: 1pt solid black;di atas tr


6
pengaturan perbatasan di tr tidak berguna bahkan dengan perbatasan diciutkan. Anda harus mengaturnya di tr
Radu Simionescu

9
@RaduSimionescu Salah, berfungsi dengan baik pada trbatas yang runtuh.
Styphon

Tidak ada efek pada FF 45.0.1.
imrek

41

Menggunakan

border-collapse:collapse sebagai Nathan menulis dan Anda perlu mengatur

td { border-bottom: 1px solid #000; }


Itulah cara saya akan melakukannya juga! Tambahkan perbatasan di td dan gunakan border-collapse di atas meja
Sayan

30

Ada banyak jawaban yang tidak lengkap di sini. Karena Anda tidak dapat menerapkan batas pada trtag, Anda perlu menerapkannya pada tag tdatau thseperti:

td {
  border-bottom: 1pt solid black;
}

Melakukan hal ini akan menyisakan ruang kecil di antara masing-masing td, yang kemungkinan tidak diinginkan jika Anda ingin perbatasan muncul seolah-olah itu adalah trtag. Untuk "mengisi celah", Anda perlu memanfaatkan border-collapseproperti pada tableelemen dan menetapkan nilainya collapse, seperti:

table {
  border-collapse: collapse;
}

8

Menggunakan

table{border-collapse:collapse}
tr{border-top:thin solid}

Ganti "thin solid" dengan properti CSS.


7

Tampilkan baris sebagai blok.

tr {
    display: block;
    border-bottom: 1px solid #000;
}

dan untuk menampilkan warna alternatif hanya:

tr.oddrow {
    display: block;
    border-bottom: 1px solid #F00;
}

11
Tidak baik ide untuk setdisplay: blockuntuktr's. Gunakantr td { border-bottom: ... }iklantr.oddrow td { border-bottom: ... }sebagai gantinya
vladr

4
tampilan blok mungkin menghancurkan tata letak tabel. perbatasan-runtuh: runtuh di atas meja itu sendiri jelas merupakan solusi terbaik
N4ppeL

7

Anda bisa menggunakan box-shadowproperti untuk memalsukan batas trelemen. Sesuaikan posisi Y box-shadow(di bawah direpresentasikan sebagai 2px) untuk menyesuaikan ketebalan.

tr {
  -webkit-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
  -moz-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
  box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
}

6

Saya mencoba menambahkan

    table {
      border-collapse: collapse;
    }   

di samping

    tr {
      bottom-border: 2pt solid #color;
    }

dan kemudian berkomentar keluar-runtuh perbatasan untuk melihat apa yang berhasil. Hanya memiliki pemilih tr dengan properti perbatasan bawah bekerja untuk saya!

Tidak ada Border CSS ex.

Tidak ada Border CSS ex.

Tidak ada Foto Perbatasan

Tidak ada Foto Perbatasan

CSS Border ex.

CSS Border ex.

Tabel dengan foto perbatasan langsung

Tabel dengan foto perbatasan langsung


2

Saya menemukan ketika menggunakan metode ini bahwa ruang antara elemen td menyebabkan celah terbentuk di perbatasan, tetapi tidak takut ...

Salah satu cara mengatasi ini:

<tr>
    <td>
        Example of normal table data
    </td>

    <td class="end" colspan="/* total number of columns in entire table*/">
        /* insert nothing in here */ 
    </td>
</tr>

Dengan CSS:

td.end{
    border:2px solid black;
}

2

<td style="border-bottom-style: solid; border-bottom: thick dotted #ff0000; ">

Anda dapat melakukan hal yang sama ke seluruh baris juga.

Ada border-bottom-style, border-top-style, border-left-style, border-right-style. Atau hanya border-styleitu berlaku untuk keempat perbatasan sekaligus.

Anda dapat melihat (dan COBA DIRI secara online) lebih detail di sini


2

Beberapa jawaban menarik. Karena Anda hanya menginginkan batas bawah (atau atas) di sini ada dua lagi. Dengan asumsi Anda ingin perbatasan biru tebal 3px. Di bagian gaya Anda dapat menambahkan

.blueB {background-color:blue; height:3px} or
hr {background-color:blue; color:blue height:3px}

Dalam kode tabel juga

<tr><td colspan='3' class='blueB></td></tr> or
<tr><td colspan='3'><hr></td></tr>

1

Solusi lain untuk ini adalah border-spacingproperti:

table td {
  border-bottom: 2px solid black;
}

table {
  border-spacing: 0px;
}
<table>
 <tr>
   <td>ABC</td>
   <td>XYZ</td>
</table>


1

Tidak ada batas bawah CSS:

<table>
    <thead>
        <tr>
            <th>Title</th>
        </tr>
        <tr>
            <th>
                <hr>
            </th>
        </tr>
    </thead>
</table>

0

Anda tidak dapat menempatkan perbatasan pada elemen tr. Ini bekerja untuk saya di firefox dan IE 11:

<td style='border-bottom:1pt solid black'>

Anda tidak dapat menempatkan perbatasan di tr. Jawaban yang diedit untuk memperjelas ini.
Decko

Itu jawaban paling sederhana dan paling akurat.
JamesC

-3

HTML

<tr class="bottom-border">
</tr>

CSS

tr.bottom-border {
  border-bottom: 1px solid #222;
}

2
tidak berguna tanpa perbatasan-runtuh: runtuh;
m1crdy
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.