Foros del Web » Creando para Internet » CSS »

hover en tablas

Estas en el tema de hover en tablas en el foro de CSS en Foros del Web. Hola, que tal? Estoy haciendo una tabla con estilo css y estoy teniendo unas cuantas dudas. Esta es mi tabla: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver ...
  #1 (permalink)  
Antiguo 13/10/2011, 12:41
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
hover en tablas

Hola, que tal?

Estoy haciendo una tabla con estilo css y estoy teniendo unas cuantas dudas.

Esta es mi tabla:

Código HTML:
Ver original
  1. <table border="1">
  2.     <tr>
  3.         <th colspan=2>Palabra</th>
  4.         <th>Letras</th>
  5.         <th>Vocales</th>
  6.     </tr>
  7.     <tr>
  8.         <td width="40"></td>
  9.         <td>hola</td>
  10.         <td>4</td>
  11.         <td>2</td>
  12.     </tr>
  13.     <tr>
  14.         <td width="40"></td>
  15.         <td>murcielago</td>
  16.         <td>10</td>
  17.         <td>5</td>
  18.     </tr>

Como se daran cuenta, hay un td en blanco en cada fila, es para hacer una separacion, para que las filas no esten a la misma altura que el th.

Ahora viene el problema, quiero hacer un hover a las filas, pero sin que se haga hover en la primera columna vacia, como hago eso?

Y tambien, como hago para aplicar un estilo a un class que esta dentro de un div que esta dentro de un tr sin ponerle el estilo de frente al class?

Muchas gracias!
  #2 (permalink)  
Antiguo 13/10/2011, 12:45
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: hover en tablas

Y tambien, si es que yo le pongo:

tr:hover{
background-color:gray;
}

Solo se pone el background plomo a las celdas, es decir, el color del fondo se divide por cada celda, hay manera de hacer para que el borde de cada celda no influya con este background?

Gracias!
  #3 (permalink)  
Antiguo 13/10/2011, 13:12
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: hover en tablas

para tu primera pregunta, se trata de usar la pseudoclase :nth-of-type() con la formula (1n+2)
Cita:
td:nth-of-type(1n+2):hover
la segunda pregunta, me ha dado pereza entenderla

la tercera. prueba a usar la propiedad border
  #4 (permalink)  
Antiguo 14/10/2011, 15:29
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: hover en tablas

Con
Cita:
td:nth-of-type(1n+2):hover
Solo se hace hover a cada una de las columnas menos la primera, lo que yo necesito es hacer hover a TODA la fila MENOS la primera columna, me hago entender?

Muchas gracias!
  #5 (permalink)  
Antiguo 14/10/2011, 16:04
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: hover en tablas

a ver ahora
Cita:
tr:hover td:nth-of-type(1n+2)
  #6 (permalink)  
Antiguo 14/10/2011, 16:24
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: hover en tablas

Ahora funciona bien!

Esto es lo que puse:
Código:
tr:hover td:nth-of-type(1n+2){
	background-color:gray;
	border-color:gray;
}
Pero el borde sigue sin pintarse de color plomo.

Como debo de hacer para que el borde de pinte de plomo, sin pintar el border del primer campo?

Gracias!
  #7 (permalink)  
Antiguo 15/10/2011, 04:11
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: hover en tablas

Cita:
border: 1px solid gray;
se me olvidó comentarte que la pseudoclase nth-of-type es css3 por lo tanto no es admitida en ie8-
  #8 (permalink)  
Antiguo 15/10/2011, 12:11
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: hover en tablas

Si, supuse que era css3.

Por otra parte, con border-collapse:collapse; es que arreglo el problema de los borders, ya que aparecen separados.

Otra pregunta, sabes como hacer para que la tabla en algunas filas, la primera columna no este.

Asi como cuando tienes una tabla con 3 columnas y en alguna fila no escribes el <td></td> de la tercera columna y queda un hueco en blanco.

Quiero hacer eso, pero con la primera columna en algunas filas, es posible?

Gracias!
  #9 (permalink)  
Antiguo 15/10/2011, 12:50
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: hover en tablas

usa selectores de atributos. pongamos por caso que quieres que no aparezcan aquellos el primer td de cada fila. arreglo a la tabla de muestra sería td[width] y usas las propiedades border-color, border-width y border-style. lo mas importante es darle el mismo color de borde que el color de fondo de la tabla
  #10 (permalink)  
Antiguo 15/10/2011, 13:08
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: hover en tablas

Nose si me entediste, pero te dejo unas imagenes para que veas a que me refiero.

Código HTML:
Ver original
  1.     <tr>
  2.         <th>header1</th>
  3.         <th>header2</th>
  4.         <th>header3</th>
  5.         <th>header4</th>
  6.     </tr>
  7.     <tr>
  8.         <td></td>
  9.         <td></td>
  10.         <td></td>
  11.     </tr>
  12.     <tr>
  13.         <td></td>
  14.         <td></td>
  15.         <td></td>
  16.         <td></td>
  17.     </tr>
  18.     <tr>
  19.         <td></td>
  20.         <td></td>
  21.         <td></td>
  22.     </tr>
  23.     <tr>
  24.         <td></td>
  25.         <td></td>
  26.         <td></td>
  27.         <td></td>
  28.     </tr>
  29.     <tr>
  30.         <td></td>
  31.         <td></td>
  32.         <td></td>
  33.     </tr>
  34.     <tr>
  35.         <td></td>
  36.         <td></td>
  37.         <td></td>
  38.         <td></td>
  39.     </tr>
  40.     <tr>
  41.         <td></td>
  42.         <td></td>
  43.         <td></td>
  44.     </tr>

Este codigo hace lo siguiente:
http://imageshack.us/photo/my-images/809/tabla1z.png

Pero lo que yo necesito es esto:
http://imageshack.us/photo/my-images/404/tabla2n.png

Alguna idea?

Muchas gracias por ayudarme IsaBelM!!!
  #11 (permalink)  
Antiguo 15/10/2011, 14:22
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: hover en tablas

con esto
Cita:
tr:nth-of-type(2n) td:nth-of-type(1) {
background:#ff0000;
}
y la tabla es esta
Cita:
<table border="1">
<tr>
<th>header1</th>
<th>header2</th>
<th>header3</th>
<th>header4</th>
</tr>
<tr>
<td></td>
<td>columna2</td>
<td>columna3</td>
<td>columna4</td>
</tr>
<tr>
<td>columna1</td>
<td>columna2</td>
<td>columna3</td>
<td>columna4</td>
</tr>
<tr>
<td></td>
<td>columna2</td>
<td>columna3</td>
<td>columna4</td>
</tr>
<tr>
<td>columna1</td>
<td>columna2</td>
<td>columna3</td>
<td>columna4</td>
</tr>
<tr>
<td></td>
<td>columna2</td>
<td>columna3</td>
<td>columna4</td>
</tr>
<tr>
<td>columna1</td>
<td>columna2</td>
<td>columna3</td>
<td>columna4</td>
</tr>
</table>
  #12 (permalink)  
Antiguo 15/10/2011, 15:07
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: hover en tablas

Pero ahi lo que se esta haciendo es cambiarle de color de fondo al primer campo intercalando una fila si una fila no.

Se acerca bastante a lo que necesito, pero todavia no esta 100% bien como lo quiero (tampoco se si se puede o no).

Lo que yo estoy poniendo en el codigo de mi estilo.css es:
Código:
tr:nth-of-type(2n) td:nth-of-type(1) {
background:#ff0000;
}
tr:hover td:nth-of-type(1n+2){
	background-color:gray;
}
Son los codigos que tu me pasaste, pero el problema esta en que cuando yo paso el mouse sobre el campo que esta "eliminado (color de fondo rojo)", la fila igual cambia de color de fondo a plomo, ya que se esta haciendo un hover.

Lo que yo necesito es que no pase eso. Me gustaria hacer para que cuando yo pase el mouse sobre el campo "eliminado", la fila no se haga hover. Se puede?

Gracias!
  #13 (permalink)  
Antiguo 16/10/2011, 13:02
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: hover en tablas

algo como así y lee este tutorial
Cita:
td {
background-color: red;
}

tr:nth-of-type(2n) td:nth-of-type(1) { /* escondemos el borde del 1º td de las filas pares */
border: 1px solid;
border-color: #000 #000 #000 #FFF;
background-color: #FFF;
}

tr:nth-of-type(2n+1):hover td { /* filas impares */
background-color: gray;
}

tr:nth-of-type(2n) td:nth-of-type(1):hover ~ td{ /* filas pares. 1º td. se mantiene color original de los demás tds */
background-color: red;
}

tr:nth-of-type(2n):hover td:nth-of-type(1n+2) { /* filas pares. segundo y demás tds */
background-color: gray;
}

Etiquetas: hover, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:36.