Bootstrap table striped: ¿Cómo cambio el color de fondo de las rayas?

124

Con la clase Bootstrap table-striped, todas las demás filas de mi tabla tienen un color de fondo igual a #F9F9F9. ¿Cómo puedo cambiar este color?

drake035
fuente

Respuestas:

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

cambie esta línea en bootstrap.css o podría usar (impar) o (par) en lugar de (2n + 1)

Florín
fuente
100
No hagas esto. La próxima vez que actualice bootstrap perderá su anulación personalizada. Es mucho mejor tener CSS personalizado en un archivo separado que se coloca directamente después de bootstrap.css en la cabeza.
Ben Thurley
¿Cómo cambiaría el color de fondo para pasar toda la fila aquí?
Barry Michael Doyle
2
en esta página se explica cómo hacerlo para pasar el mouse
Yvon Huynh
4
Esta fue la respuesta que necesitaba, sin embargo, la agregué a un archivo CSS separado, no al CSS Bootstrap real. Está en cascada, así que si lo agrego después del bootstrap, funciona perfectamente y lo mantiene fuera del bootstrap principal. Además, no tengo que llevar mi propio bootstrap modificado, sino que solo agrego mi css a cada proyecto que lo necesite.
raddevus
Nunca cambie ninguna biblioteca de terceros directamente. ¡Nunca! Simplemente anule el estilo en su propio archivo css.
Mehrdad
133

Agregue el siguiente estilo CSS después de cargar 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
 }
kyriakos
fuente
funciona bien al sobrescribir el color predeterminado de la tabla de arranque. Gracias.
euccas
Esto deshabilita la clase "table-hover" en filas pares ... ¿hay alguna solución?
exSnake
14

Si está usando Bootstrap 3, puede usar el método de Florin o usar un archivo CSS personalizado.

Si usa Bootstrap less source en lugar de archivos css procesados, puede cambiarlo directamente en formato bootstrap/less/variables.less.

Encuentra algo como:

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

Tiene dos opciones, o anula los estilos con una hoja de estilo personalizada o edita el archivo css de arranque principal. Prefiero el primero.

Sus estilos personalizados deben estar vinculados después de bootstrap.

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

En custom.css

.table-striped>tr:nth-child(odd){
   background-color:red;
}
Eisa Adil
fuente
No funcionó para mí. La respuesta de kyriakos funciona muy bien.
varagrawal
En este ejemplo falta la etiqueta tbody
kenecaswell
el> significa hijo inmediato, por lo que si hay una etiqueta tbody entre table y tr, no funcionará. pero simplemente elimine el>, y será válido para todos los tr bajo una tabla especificada, sin importar si son hijos inmediatos o no.
jumps4fun
3

No personalices tu CSS de arranque editando directamente el archivo CSS de arranque, en su lugar, sugiero copiar y pegar CSS de arranque y guardarlos en una carpeta CSS diferente y allí puedes personalizar o editar estilos que se adapten a tus necesidades.


fuente
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;
}

Use 'par' para cambiar el color de las filas pares y use 'impar' para cambiar el color de las filas impares.

sammani anuththara
fuente
Esto deshabilita la clase de arranque flotante de tabla, ¿hay una manera de usar ambos?
exSnake
3

Eliminar rayado de tabla Anula sus intentos de cambiar el color de la fila.

Entonces haz esto en css

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

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

    th {
       background-color: lightseagreen;
    }
David Morrow
fuente
2

Encontré que este patrón de tablero de ajedrez (como un subconjunto de la raya de cebra) es una forma agradable de mostrar una tabla de dos columnas. Esto está escrito usando MENOS CSS y elimina todos los colores del color base.

@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%); }
}

Tenga en cuenta que he dejado caer el .table-striped, pero no parece importar.

Parece: ingrese la descripción de la imagen aquí

John Lehmann
fuente
2

Con Bootstrap 4, la configuración css responsable en bootstrap.cssde .table-stripedes:

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

Para una solución muy simple, simplemente lo copié en mi custom.cssarchivo y cambié los valores de background-color, de modo que ahora tengo un tono azul claro más elegante:

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

Si realmente desea invertir los colores, debe agregar una regla que haga que las filas "impares" sean blancas, así como que las filas "pares" sean del color que desee.

PhPGuy
fuente
0

La forma más sencilla de cambiar el orden de las rayas:

Agregue vacío tr antes de las etiquetas tr de la tabla.

Royal_MGH
fuente