Atributo de span en colgroup y col

¿Son estos códigos lógicamente equivalentes?

  

Y

  

Y

          

¿Algún atributo mediante HTML o propiedades a través de CSS tendrá el mismo efecto? ¿Puede Sombody también agregar la etiqueta “colgroup“? No hay suficientes representantes para que haga eso.

De la especificación para

:

Contextos en los que se puede usar este elemento:
Como hijo de un elemento colgroup que no tiene un atributo span.
[…]
Atributos de contenido: atributos globales
lapso

Leí eso diciendo que solo

por sí solo no es válido, pero esto:

    

es válido y lo mismo que:

   

Sin embargo, si el

tiene un atributo span , entonces no debería tener

children:

Si el elemento colgroup no contiene elementos col, entonces el elemento puede tener un atributo de rango de contenido especificado …

Mi interpretación (basada en la especificación HTML4 más que en la versión más delgada de HTML5) es que normalmente

menos que necesites aplicar un estilo diferente a una de las columnas del grupo como en este ejemplo (modificado) de la especificación HTML4:

     

entonces las primeras 39 columnas usarían lo que sea que el

especifique pero el 40th podría ser ajustado. OTOH, tengo problemas para que los navegadores presten mucha atención a esto (a pesar de lo que dicen las especificaciones) en jsfiddle.net así que YMMV.

Aquí está mi interpretación de las especificaciones. Actualización: Después de mirar las especificaciones HTML4, he cambiado de opinión sobre el atributo span del elemento colgroup .

(Esto también es en respuesta a mi propio comentario de la 2da pregunta en la respuesta de @mu).

Un colgroup representa un grupo de una o más columnas , y su span especifica el número de columnas en un grupo de columnas . Así que lo considero un atajo, evitando que el autor escriba múltiples elementos col en sucesión.

  

(No puedes escribir

por alguna estúpida razón)

El grupo de columnas abarca más de tres columnas y tiene un estilo según la regla CSS .x {...} . Esto es equivalente a

      

Por otro lado, col representa una o más columnas en el grupo de columnas , y su span especifica el número de columnas “distribuidas” por el elemento COL … que es una definición cíclica si me preguntas.

La única forma en que puedo interpretar esto es que escribiendo

  

usted dice que hay tres columnas, cada una en la misma agrupación lógica, con el mismo estilo de acuerdo con .y {...} . Este es un atajo para escribir

      

En la presentación, no estoy seguro de que haya una diferencia notable. Cómo se ve todo depende de su CSS, por supuesto. Pero semánticamente, son muy diferentes. El primer ejemplo representa tres grupos de columnas con cada grupo que contiene una columna, mientras que el segundo ejemplo representa un grupo de tres columnas.

Después de repensar esto, decidí que ambos son lo mismo. Tener un número de columnas colgroup n es lo mismo que tener un colgroup con un col child que abarca n columnas. No hay diferencia lógica o semántica en mi opinión.

Nota: el elemento col debe estar contenido en un elemento colgroup que no tenga ningún atributo span . Puede no ser un elemento directo del elemento de table .

    Intereting Posts