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

124

С классом Bootstrap table-stripedкаждая вторая строка в моей таблице имеет цвет фона, равный #F9F9F9. Как я могу изменить этот цвет?

drake035
источник

Ответы:

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

Если вы действительно хотите изменить цвета, вы должны добавить правило, которое делает «нечетные» строки белыми, а также делает «четные» строки любого цвета, который вы хотите.

PhPGuy
источник
0

Самый простой способ изменить порядок полос:

Добавьте пустой tr перед тегами таблицы tr.

Royal_MGH
источник