Foros del Web » Creando para Internet » CSS »

Definir estilo de la primera columna de una tabla

Estas en el tema de Definir estilo de la primera columna de una tabla en el foro de CSS en Foros del Web. Debido a cuestiones de diseño, necesito definir un estilo para la primera columna de una determinada tabla. La tabla tiene un class pero ninguno de ...
  #1 (permalink)  
Antiguo 19/06/2008, 12:17
 
Fecha de Ingreso: enero-2004
Mensajes: 63
Antigüedad: 20 años, 2 meses
Puntos: 0
Definir estilo de la primera columna de una tabla

Debido a cuestiones de diseño, necesito definir un estilo para la primera columna de una determinada tabla.

La tabla tiene un class pero ninguno de sus elementos lo tiene. Es decir, sería algo del tipo:

Código HTML:
<table class="id_estilo">
  <tr>
    <td>
    </td>
    <td>
    </td>
  </tr>
</table> 
Sin poder definir ningún otro class, ni modificar la tabla en modo alguno, necesito mediante css definir la anchura de la primera columna. ¿Cómo podría acceder mediante css, por ejemplo, a la primera celda para definir su anchura?

Un saludo
  #2 (permalink)  
Antiguo 19/06/2008, 14:51
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 7 meses
Puntos: 70
Respuesta: Definir estilo de la primera columna de una tabla

Hola javi_bus, cómo vas?

Pues créeme que no se me ocurre nada con esas condiciones que pones... quizàs a alguien se le acurra algo... Pero por que no puedes declarar al menos una class?? Yo lo haría así:

Código:
.anchin
{
width:5%;
}
Código HTML:
<table class="id_estilo">
  <tr>
    <td class="anchin">
    </td>
    <td>
    </td>
  </tr>
</table> 
Pero como dices que no puedes ni agregar clases ni modificar la tabla(eso está bien)... pues ...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 19/06/2008, 15:35
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 17 años, 5 meses
Puntos: 280
Respuesta: Definir estilo de la primera columna de una tabla

Podrías usar la pseudo-clase :first-child, pero me temo que no va a funcionar en Explorer.

table tr td:first-child {width: 20%;}

Mikel.
  #4 (permalink)  
Antiguo 19/06/2008, 16:57
 
Fecha de Ingreso: enero-2004
Mensajes: 63
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Definir estilo de la primera columna de una tabla

Muchas gracias a los dos.

Carxl, el motivo de no meter nada en la tabla es algo largo de contar pero tiene que ver con que esas tablas van almacenadas en una base de datos y que el sistema posee un sistema de plantillas que intento que sea muy "maleable". No me hace gracia meter nada de código html en la base de datos pero, en este caso, no tengo más remedio.

Mikmoro, la compatibilidad para mí es muy importante. Y más si se trata del explorer que, mal que nos pese, es el más utilizado (encima el más usado es el explorer 6.0). Pero he encontrado una librería javascript que podría solucionar el problema. Sería cuestión de cargarla cuando el navegador sea el explorer.

¿Qué os parece? Todavía no la he provado pues acabo de encontrala. Pero podéis echarle un vistazo en el siguiente enlace:

http://dean.edwards.name/IE7/

Un saludete
  #5 (permalink)  
Antiguo 19/06/2008, 17:52
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 17 años, 5 meses
Puntos: 280
Respuesta: Definir estilo de la primera columna de una tabla

He oido hablar mucho de él. Algo de lo que he leido es que carga la página y la hce más pesada, pero lo cierto es que nunca lo he probado.
Si vas a condenar la compatibilidad con la gente que no tenga activado javascript, mi recomendación sería meter en la base de datos ese simple atributo del width de la primera celda, aunque quizá como dices poderosas razones te lo impiden.

Mikel.
  #6 (permalink)  
Antiguo 21/06/2008, 07:54
 
Fecha de Ingreso: enero-2004
Mensajes: 63
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Definir estilo de la primera columna de una tabla

Hola Mikmoro,

Las poderosas razones son simplemente que si solo necesitase asignar un ancho a la primera fila, con añadir el class a la primera celda ya estaría. Pero necesito tener mucha más flexibilidad (anchos de varias columnas, colores de varias columnas o filas, etc). Me vería obligado a utilizar un class por celda y sería demasiado sobretodo teniendo en cuenta que el número de filas y columnas no es constante en todos los registros de la base de datos.

En la página que estoy desarrollando, el javascript es necesario para algunas funciones de modo que no habría problema con eso. Además, ya tengo pensado desde hace tiempo crear cuatro diseños seleccionables: el principal, con algo de javascript y Ajax situados de forma estratégica (es el que indexa Google), otro pensado para pantallas de poca resolución como los móviles y PDAs, otro con puro Ajax (que cargue solo la primera vez que entras y luego todo el diseño se genere vía javascript pidiendo al servidor solo los datos necesarios) y por último otro más simple sin nada de javascript, con css muy sencillo y cumpliendo las normas de accesibilidad (que no es lo mismo que las normas de la wc3). Soy muy novato en diseño pero se hará lo que se pueda. Así he aprendido todo lo que sé.

El único pero es el que comentas de que hace pesada a la página. Por otro lado veo que pesa unos 37k el IE8 y 30 el IE7, que no es mucho.

Una duda que tengo: con este código...

Código HTML:
<!--[if lt IE 8]>
<script src="http://loquesea/IE8.js" type="text/javascript"></script>
<![endif]--> 
... solo se carga el javascript si el navegador es el Internet Explorer ¿no? Si entras con Firefox, Opera y otros o con el futuro Internet Explorer 8 no se carga ¿no? No hablo solo de que no se ejecute, sino de que no lo descargue.

Un saludo
  #7 (permalink)  
Antiguo 21/06/2008, 15:30
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 17 años, 5 meses
Puntos: 280
Respuesta: Definir estilo de la primera columna de una tabla

Cita:
Pero necesito tener mucha más flexibilidad (anchos de varias columnas, colores de varias columnas o filas, etc).
Esto se parece muy poco a lo que decías en tu primer mensaje

Cita:
necesito definir un estilo para la primera columna de una determinada tabla.
Con lo cual el fist child no tendría mucha utilidad aunque sirviera para IE.

En segundo lugar:

Cita:
El único pero es el que comentas de que hace pesada a la página. Por otro lado veo que pesa unos 37k el IE8 y 30 el IE7, que no es mucho.
lo que he leido no es que se haga pesada por el tamaño del archivo, sino por el proceso que lleva a cabo.

Y en tercero:

Cita:
solo se carga el javascript si el navegador es el Internet Explorer ¿no? Si entras con Firefox, Opera y otros o con el futuro Internet Explorer 8 no se carga ¿no? No hablo solo de que no se ejecute, sino de que no lo descargue.
En parte es así y en parte hay un error. Con ese comentario condicional, si entraras con IE8 sí se cargaría. No obstante, creo que el javasript IE8.js no tiene nada que ver con Internet Explorer 8, sino que es el número de versión que el autor ha dado al propio JS.

Efectivamente, con un comentario condicional si no entras con IE no se descarga el archivo.

Creo que 4 versiones te van a ser terribles de mantener, pero bueno, todo depende del tamaño del proyecto y la asiduidad de la actualización.

Mikel.
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 05:43.