ลายตาราง Bootstrap: ฉันจะเปลี่ยนสีพื้นหลังของแถบได้อย่างไร?


124

ด้วยคลาส Bootstrap table-stripedแถวอื่น ๆ ในตารางของฉันจะมีสีพื้นหลังเท่ากับ#F9F9F9. ฉันจะเปลี่ยนสีนี้ได้อย่างไร?

คำตอบ:


116
.table-striped > tbody > tr:nth-child(2n+1) > td, .table-striped > tbody > tr:nth-child(2n+1) > th {
   background-color: red;
}

เปลี่ยนบรรทัดนี้ใน bootstrap.css หรือคุณสามารถใช้ (คี่) หรือ (คู่) แทน (2n + 1)


100
อย่าทำแบบนี้ ครั้งต่อไปที่คุณอัปเกรด bootstrap คุณจะสูญเสียการแทนที่ที่กำหนดเอง ดีกว่ามากที่จะมี css ที่กำหนดเองในไฟล์แยกต่างหากซึ่งคุณใส่โดยตรงหลังจาก bootstrap.css ในส่วนหัว
Ben Thurley

คุณจะเปลี่ยนสีพื้นหลังสำหรับการวางเมาส์ทั้งแถวที่นี่ได้อย่างไร
Barry Michael Doyle

2
หน้านี้อธิบายวิธีการใช้โฮเวอร์ [ stackoverflow.com/questions/15643037/…
Yvon Huynh

4
นี่คือคำตอบที่ฉันต้องการอย่างไรก็ตามฉันเพิ่มลงในไฟล์ CSS แยกต่างหากไม่ใช่ Bootstrap CSS จริง มันเรียงซ้อนกันดังนั้นถ้าฉันเพิ่มมันหลังจาก bootstrap และมันก็ทำงานได้อย่างสมบูรณ์และป้องกันไม่ให้มันออกจาก bootstrap หลัก นอกจากนี้ฉันไม่ต้องพก bootstrap ที่แก้ไขของตัวเองแทนฉันแค่เพิ่ม css ของฉันในแต่ละโปรเจ็กต์ที่ต้องการสิ่งนี้
raddevus

อย่าเปลี่ยนไลบรารีของบุคคลที่สามโดยตรง ไม่! เพียงแค่แทนที่สไตล์ในไฟล์ css ของคุณเอง
Mehrdad

133

เพิ่มสไตล์ CSS ต่อไปนี้หลังจากโหลด Bootstrap:

.table-striped>tbody>tr:nth-child(odd)>td, 
.table-striped>tbody>tr:nth-child(odd)>th {
   background-color: red; // Choose your own color here
 }

ทำงานได้ดีกับการเขียนทับสีตาราง bootstrap เริ่มต้น ขอบคุณ.
euccas

สิ่งนี้ปิดใช้งานคลาส "table-hover" ในแถวคู่ ... มีวิธีแก้ไขไหม
exSnake

14

หากคุณใช้ Bootstrap 3 คุณสามารถใช้วิธีการของ Florin หรือใช้ไฟล์ CSS ที่กำหนดเอง

หากคุณใช้แหล่งที่มาน้อยกว่า Bootstrap แทนการประมวลผลไฟล์ css คุณสามารถเปลี่ยนได้โดยตรงในรูปแบบbootstrap/less/variables.less.

ค้นหาสิ่งที่ชอบ:

//** Background color used for `.table-striped`.
@table-bg-accent:               #f9f9f9;

11

คุณมีสองตัวเลือกไม่ว่าคุณจะแทนที่สไตล์ด้วยสไตล์ชีตที่กำหนดเองหรือคุณแก้ไขไฟล์ css bootstrap หลัก ฉันชอบอดีตมากกว่า

สไตล์ที่กำหนดเองของคุณควรเชื่อมโยงหลังจาก bootstrap

<link rel="stylesheet" src="bootstrap.css">
<link rel="stylesheet" src="custom.css">

ใน custom.css

.table-striped>tr:nth-child(odd){
   background-color:red;
}

ไม่ได้ผลสำหรับฉัน คำตอบโดย kyriakos ใช้งานได้ดีจริงๆ
varagrawal

ตัวอย่างนี้ไม่มีแท็ก tbody
kenecaswell

> หมายถึงชายด์ทันทีดังนั้นหากมีแท็ก tbody ระหว่าง table และ tr ก็จะไม่ทำงาน แต่เพียงแค่ลบ> และจะใช้ได้กับ tr ทั้งหมดภายใต้ตารางที่ระบุไม่ว่าจะเป็นลูกในทันทีหรือไม่ก็ตาม
jumps4fun

3

อย่าปรับแต่ง CSS bootstrap ของคุณโดยการแก้ไขไฟล์ bootstrap CSS โดยตรง แต่ขอแนะนำให้คัดลอกและวาง bootstrap CSS และบันทึกไว้ในโฟลเดอร์ CSS อื่นและคุณสามารถปรับแต่งหรือแก้ไขสไตล์ที่เหมาะสมกับความต้องการของคุณได้


3
.table-striped>tbody>tr:nth-child(odd)>td,
.table-striped>tbody>tr:nth-child(odd)>th {
  background-color: #e08283;
  color: white;
}
.table-striped>tbody>tr:nth-child(even)>td,
.table-striped>tbody>tr:nth-child(even)>th {
  background-color: #ECEFF1;
  color: white;
}

ใช้ 'คู่' เพื่อเปลี่ยนสีของแถวคู่และใช้ 'คี่' เพื่อเปลี่ยนสีของแถวคี่


สิ่งนี้ปิดใช้งานคลาส bootstrap แบบ table-hover มีวิธีใช้ทั้งสองอย่าง?
exSnake

3

ลบลายตารางมันจะลบล้างความพยายามของคุณในการเปลี่ยนสีแถว

จากนั้นทำใน css

   tr:nth-child(odd) {
    background-color: lightskyblue;
    }

   tr:nth-child(even) {
    background-color: lightpink;
    }

    th {
       background-color: lightseagreen;
    }

2

ฉันพบว่ารูปแบบกระดานหมากรุกนี้ (เป็นส่วนย่อยของแถบม้าลาย) เป็นวิธีที่ดีในการแสดงตารางสองคอลัมน์ สิ่งนี้เขียนโดยใช้ LESS CSS และคีย์ทุกสีออกจากสีฐาน

@base-color: #0000ff;
@row-color: lighten(@base-color, 40%);    
@other-row: darken(@row-color, 10%);

tbody {
    td:nth-child(odd) { width: 45%; }
    tr:nth-child(odd) > td:nth-child(odd) {
        background: darken(@row-color, 0%); }
    tr:nth-child(odd) > td:nth-child(even) {
        background: darken(@row-color, 7%); }
    tr:nth-child(even) > td:nth-child(odd) {
        background: darken(@other-row, 0%); }
    tr:nth-child(even) > td:nth-child(even) {
        background: darken(@other-row, 7%); }
}

หมายเหตุฉันทิ้งไป.table-stripedแต่ดูเหมือนจะไม่สำคัญ

ดูเหมือนกับ: ใส่คำอธิบายภาพที่นี่


2

ด้วยเงินทุนที่ 4 การกำหนดค่า CSS รับผิดชอบbootstrap.cssสำหรับ.table-stripedเป็น:

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

สำหรับวิธีแก้ปัญหาที่ง่ายมากฉันแค่คัดลอกลงในcustom.cssไฟล์ของฉันและเปลี่ยนค่าของbackground-colorดังนั้นตอนนี้ฉันจึงมีเฉดสีฟ้าอ่อนที่น่าสนใจยิ่งขึ้น:

.table-striped tbody tr:nth-of-type(odd) {
  background-color:  rgba(72, 113, 248, 0.068);
}

0

หากคุณต้องการกลับสีจริง ๆ คุณควรเพิ่มกฎที่ทำให้แถว "คี่" เป็นสีขาวและทำให้แถว "คู่" เป็นสีที่คุณต้องการ


0

วิธีที่ง่ายที่สุดในการเปลี่ยนลำดับของลาย:

เพิ่มช่องว่าง trก่อนแท็ก tr ตารางของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.