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?

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)


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
 }

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;

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

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.


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.


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

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í


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

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.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.