Таблица начальной загрузки с полосами: как изменить цвет фона полосы?


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
Не делай этого. В следующий раз, когда вы обновите бутстрап, вы потеряете свое пользовательское переопределение. Намного лучше иметь собственный css в отдельном файле, который вы помещаете сразу после bootstrap.css в голову.
Бен Терли

Как бы вы изменили цвет фона для наведения здесь всей строки?
Барри Майкл Дойл,

2
на этой странице объясняется, как это сделать при наведении курсора [ stackoverflow.com/questions/15643037/…
Yvon Huynh

4
Это был тот ответ, который мне был нужен, однако я добавил его в отдельный файл CSS, а не в фактический CSS 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
 }

хорошо работает при перезаписи цвета таблицы начальной загрузки по умолчанию. Спасибо.
euccas

Это отключает класс "table-hover" для четных строк ... есть ли исправление?
exSnake 01

14

Если вы используете Bootstrap 3, вы можете использовать метод Флорина или собственный файл CSS.

Если вы используете исходный код Bootstrap less вместо обработанных файлов css, вы можете напрямую изменить его в bootstrap/less/variables.less.

Найдите что-нибудь вроде:

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

11

У вас есть два варианта: либо вы переопределяете стили с помощью настраиваемой таблицы стилей, либо редактируете основной файл начальной загрузки css. Я предпочитаю первое.

Ваши пользовательские стили должны быть связаны после начальной загрузки.

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

В custom.css

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

У меня не сработало. Ответ Кириакоса действительно хорошо работает.
varagrawal

В этом примере отсутствует тег
tbody

> означает непосредственный дочерний элемент, поэтому, если между table и tr есть тег tbody, это не сработает. но просто удалите>, и он будет действителен для всех tr в указанной таблице, независимо от того, являются ли они непосредственными дочерними элементами или нет.
jumps4fun

3

Не настраивайте свой загрузочный CSS, напрямую редактируя файл загрузочного CSS. Вместо этого я предлагаю скопировать вставку загрузочного 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;
}

Используйте «even» для изменения цвета четных строк и используйте «odd» для изменения цвета нечетных строк.


Это отключит класс начальной загрузки таблицы, есть ли способ использовать оба?
exSnake 01

3

Delete table-striped Его попытки изменить цвет строки отменяются.

Затем сделайте это в 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

В Bootstrap 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.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.