¿Hay alguna forma de colorear los tramos de las columnas hasta el final? Vea, ejemplo de inicio a continuación:
<table border="1">
<tr>
<th>Motor</th>
<th colspan="3">Engine</th>
<th>Car</th>
<th colspan="2">Body</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
</tr>
<tr>
<td>7</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table>
Y estoy buscando una mejor manera (menos código, coloración no individual) de colorear, por ejemplo, los tramos de "Motor" y "Cuerpo", incluidas todas las celdas debajo de ellos en #DDD
<style>
.color {
background-color: #DDD
}
</style>
<table border="1">
<tr>
<th>Motor</th>
<th colspan="3" class="color">Engine</th>
<th>Car</th>
<th colspan="2" class="color">Body</th>
</tr>
<tr>
<td>1</td>
<td class="color">2</td>
<td class="color">3</td>
<td class="color">4</td>
<td>5</td>
<td class="color">6</td>
<td class="color">7</td>
</tr>
<tr>
<td>7</td>
<td class="color">1</td>
<td class="color">2</td>
<td class="color">3</td>
<td>4</td>
<td class="color">5</td>
<td class="color">6</td>
</tr>
</table>
Respuestas:
Sí, puedes ... usando el
<col>
elemento:Nota : Puede utilizar el
span
atributo para que la definición de columna se aplique a más de una columna.Ver también :
<colgroup>
fuente
<col span="3" />
para las columnas de expansión.colgroup
que contenga todas las columnas.<tbody>
. Simplemente prefiero especificar.col
etiqueta no es tan común, pero la uso siempre para anchos de columnaPuedes usar el
nth-child
selector para eso:fuente
col
sí mismos es mucho mejor que esto (más limpio y más rápido).Por lo general, es más sencillo aplicar estilo a las celdas (por columna si se desea), pero las columnas se pueden diseñar de diferentes maneras. Una forma sencilla es envolver columnas en un
colgroup
elemento y establecer estilos en él. Ejemplo:fuente
col
elementos individuales dentro de lacolgroup
s no necesitan ser estilizados individualmente, también puede establecer elspan
atributo encolgroup
sí mismo<colgroup span="2">
- en lugar de colocarcol
elementos dentro de él.Puede utilizar CSS3: http://jsfiddle.net/snuggles08/bm98g8v8/
fuente
nth-child
Usaría la pseudoclase css para esto:Mostrar fragmento de código
fuente
El siguiente implemento es el selector de n-ésimo hijo y debería funcionar ...
fuente
>
entre tr y td, desde que se tomó la molestia de seleccionar TDS sólo dentro de trs sólo dentro de las tablas ... (mente los tablegroups.)table tr td
es redundante ya que lostd
s están siempre dentrotr
ytable
.Mi versión usando expresiones nth-child:
Usando el concepto CSS de reglas en cascada para colorear primero las celdas y luego decolorar las que quiero que sean transparentes. El primer selector selecciona todas las celdas después de la primera y el segundo selecciona la quinta celda para que sea transparente.
Consulta esta interesante referencia: http://learn.shayhowe.com/advanced-html-css/complex-selectors/
fuente
Esta es una vieja pregunta con muchas respuestas excelentes. Solo quería agregar los selectores
-n
ynth-last-child
que aún no se han mencionado. Son útiles al aplicar CSS a varias columnas, pero es posible que no sepan la cantidad de columnas antes de aplicar el estilo o que tengan varias tablas con diferentes anchos.jsFiddle: https://jsfiddle.net/3rpf5oht/2/
fuente