style - table group html
¿Está html<COL align> en desuso? (7)
Estoy viendo la demostración de W3Schools de usar el elemento <COL>
para alinear las columnas :
<table width="100%" border="1">
<col align="left" />
<col align="left" />
<col align="right" />
<tr>
<th>ISBN</th>
<th>Title</th>
<th>Price</th>
</tr>
<tr>
<td>3476896</td>
<td>My first HTML</td>
<td>$53</td>
</tr>
</table>
Y la representación del navegador no es alentadora:
Chrome (10.0.648.127):
FireFox (3.6.8):
Internet Explorer 9 (modo estándar):
Internet Explorer 8 (modo estándar):
Internet Explorer 7 (modo estándar):
Internet Explorer (modo peculiaridades):
Es interesante observar que <COL align>
solía funcionar en los navegadores, y la función se eliminó en ie8. (Y Chrome, con la posición de ser el árbitro de todas las cosas perfectas, no lo admite).
Esto me hace preguntarme si <COL align>
es algo que no debería funcionar.
¿Se ha dejado de utilizar <COL align>
?
Actualización uno
Entiendo que no ha sido formalmente en desuso. Pero el hecho de que los navegadores solían admitirlo, luego dejó de admitirlo, me hace creer que hay una historia histórica que me falta. Asumo que la eliminación intencional de la col align
de IE, y la falta continua de compatibilidad de otros navegadores, indica que algo está sucediendo.
Actualización dos
Supuse erróneamente que la falta de soporte para todas las funciones de <COL>
significaba que <COL>
sí no es compatible. Supuse erróneamente que, dado que el único atributo que estaba intentando no funcionaba, el elemento no funcionaba. Este fue mi error; y en retrospectiva, debería haber preguntado si "COL align" está en desuso (lo que es).
En mi defensa, asumí que se habría mostrado un ejemplo de lo que no estaba funcionando "más".
Ver también
De acuerdo con la segunda tabla de ejemplo en la especificación HTML, es colgroup, a pesar de la falta de etiquetas colgroup.
En el interés de hacer que el marcado sea semánticamente significativo, ¿ha considerado sustituir sus etiquetas <col>
con <colgroup>
?
<col>
se usa puramente para el estilo, mientras que <colgroup>
se puede usar para agrupar columnas relacionadas (¿Quizás es por eso que pretende alinear dos de ellas a la izquierda?) Luego, puede aplicar CSS a los diversos grupos de colgantes para personalizarlos en consecuencia.
La etiqueta <col>
no está en desuso.
Vea: ¿Cómo usar la etiqueta <col> correctamente y está soportada en todos los navegadores? Creo que esta respuesta aclara su uso y explica algunos de los problemas que tiene con ella.
Es parte de XHTML y HTML 5. http://www.tutorialspoint.com/html5/html5_tags.htm
No, no es así, es parte de la especificación html4 y de la especificación html5.
http://www.w3.org/TR/html401/struct/tables.html#h-11.2.4.2
Sí, el atributo de align
de <col />
ya no aparece en HTML5. Dice la especificación!
Además, vale la pena señalar que no puede lograr un resultado similar utilizando CSS en la etiqueta <col />
. El atributo de style
(o estilo inducido de id
, class
, etc.) solo tiene en cuenta las propiedades que se aplican sensiblemente a la columna en sí. Es decir, mientras cada <td />
puede contener contenido de texto y, por lo tanto, puede tener atributos como el conjunto de text-align
, el elemento <col />
no contiene texto y, por lo tanto, no se aplica ninguno de los estilos de nivel de texto. (Las cosas a nivel de bloque como background-color
todavía funcionan).
Sin embargo, en los casos básicos que no involucran colspan
o rowspan
, puede seleccionar bloques de <td />
s (y, por lo tanto, "columnas" en cierto sentido) utilizando la pseudo-clase CSS :nth-of-type
. Por ejemplo, para centrar la tercera columna de la tabla con uso de clase c3
table.c3 td:nth-of-type(3) { text-align: center; }
Editar por OP:
Desde el estándar HTML :
15 características obsoletas
15.2 Características no conformesLos siguientes atributos están obsoletos (aunque los elementos siguen siendo parte del lenguaje) y no deben ser utilizados por los autores: ...
alinear en los elementos col
...Utilice CSS en su lugar.
El wiki WHATWG ofrece algunas alternativas recomendadas para varios atributos de presentación obsoletos:
Attribute CSS equivalent ===================== ===================================== align on col elements ''text-align'' on the appropriate td/th
Tratar
<!doctype html>
<html>
<head>
<title>Table</title>
<style>
table.foo td:nth-of-type(2) {
font-style: italic;
}
</style>
</head>
<body>
<table class="foo">
<thead>
<tr> <th>first</th> <th>second</th> </tr>
</thead>
<tbody>
<tr> <td>bar</td> <td>baz</td> </tr>
<tr> <td>bim</td> <td>buh</td> </tr>
</tbody>
</table>
</body>
<html>
Lo que se traduce como :
[edit] Uggh, cambiaste tu pregunta para referirse específicamente a la propiedad align.
No, no ha sido desaprobado. El soporte del navegador está ahí, pero la implementación y el alcance son variados. El único éxito entre navegadores que realmente he tenido al usarlo ha sido establecer anchos para columnas completas.
Notas de W3:
- Firefox, Chrome y Safari solo son compatibles con los atributos de ancho y ancho del elemento colgroup.
- Solo el atributo de ancho [del elemento col] funciona en Firefox (ninguno de los otros atributos).