miércoles, 6 de enero de 2021

👨‍💻 Cómo crear tablas en HTML sin morir en el intento. Lección nivel principiantes.

tablas html
⏩ Snippet: ⏪
El empleo de las es un recurso valioso en la presentacxión de la información, y con HTML puedes hacerlo fácilmente.

⏩ PALABRAS CLAVES: ⏪

tablas, filas, columnas, HTML, colspan, rowspan,tr,th,td,caption,border, tfoot, thead, tbody

Portafolio de temas tratados en esta publicación

    TABLAS HTML
    Clic para ir directo a cada contenido
  1. Generalidades
  2. Anatomía de una tabla básica y sencilla de 2x2.
  3. Anatomía de una tabla con combinación de columnas
  4. Anatomía de una tabla con combinación de filas
  5. Anatomía de una tabla con columnas y filas combinadas
  6. Tablas avanzadas
  7. Sinopsis de los conceptos estudiados en esta Lección
  8. Fuentes Consultadas

Generalidades

   El concepto TABLA ha estado presente en nuestra sociedad por un largo período de tiempo y ha sido adoptado por HTML desde sus primeras versiones, como una forma de transmitir información que, de otro modo, no sería comprendida tan fácilmente, así que constituyen esencialmente, una forma fantástica de mostrar datos claramente.

   Además, si las construimos de forma semántica y correctamente, es muy sencillo darle estilos desde CSS y cambiar su diseño con unas cuantas propiedades CSS, puesto que mediante las etiquetas que la componen se puede hacer referencia a cada parte de la misma.

   Entonces, en HTML, recurrimos a la etiqueta <table>, para poder elaborar tablas. Pero como en el abordaje de cualquier tema, tiene la primacía la necesaria definición del concepto tratado. Así que:

(Fundamentación)
<table> … ¿Qué es eso?

   Iniciemos, precisando, con la respuesta a la anterior pregunta. En documentos HTML una tabla puede ser considerada, resumidamente, como un grupo de filas donde cada una contiene a un grupo de celdas. Esto es conceptualmente distinto a un grupo de columnas que contiene a un grupo de filas, y esta diferencia tendrá un impacto en la composición y comportamiento de la tabla.

   En Html las tablas sirven no sólo para alinear cifras pero sobre todo para colocar elementos al emplazamiento deseado. El uso de las tablas es muy frecuente.

   Como muchas otras estructuras de HTML, las tablas son construidas utilizando elementos. En particular, una tabla básica puede ser declarada usando tres elementos, a saber, table (el contenedor principal), tr (representando a las filas contenedoras de las celdas) y td (representando a las celdas).

   Puntualizando: las filas quedan definidas por la etiqueta tr, mientras que las columnas quedan definidas por la etiqueta td....¡ABC primario de tablas HTML!!!... recordemos que este tipo de aprendizaje constituye una forma de alfabetización, hacia un nuevo lenguaje, que es el lenguaje de marcado. Por apreciaciones de este estilo, esta lección es nivel principiante, porque ubica y puntualiza los elementos teóricos básicos, para una mejor y mayor fundamentación posterior.

   En el diseño de una tabla se recurre al uso de otras etiquetas, las cuales carecen de sentido sino están situadas dentro de una etiqueta de tabla.

⏫ Ir al inicio del post ⏫

 Anatomía   de   una   tabla   básica   y   sencilla   de   2x2.

   Iniciemos el trabajo de crear una tabla básica con HTML, siguiendo la metodología de ir paso a paso en el dominio de los conceptos de este tema, tal como debe ser al nivel que se enfoca esta lección que es precisamente el nivel principiante; pero eso sí, sin descuidar el debido abordaje en profundidad a los conceptos señalados: sencillez y profundidad se combinan ene este post.

   Las tablas más sencillas de HTML se definen con tres etiquetas, considerados los tres elementos primariostablas html para iniciarse en el tema, y que por tanto requiere su adecuada comprensión y empleo:

  1.    Primeramente la etiqueta <table> para crear la tabla, y que precisamente define la tabla. Encierra esta etiqueta todas las filas y columnas de la tabla

  2.    sigue, la etiqueta <tr> (del inglés "table row") definen cada fila de la tabla y encierran todas las columnas.

  3.    por último, encontramos las columnas dentro de la fila, con las cuales se puede utilizar una etiqueta <th>(del inglés "table header") o <td>, (del inglés "table data cell"), dependiendo de que sea una casilla de cabecera o normal. Vale aclarar que realmente HTML no define columnas sino casillas o celdas de datos.

    Respecto a esta última etiqueta, <th> y <td> se utilizarían para cada uno de los campos de la tabla; por un lado, la etiqueta <td>, se refiere específicamente a cada una de las celdas de la tabla. Por su parte, la etiqueta <th> se refiere específicamente a cada una de las celdas de cabecera de la tabla.

    Cada vez que se quisiera añadir una nueva fila, habría que incluirlo todo dentro de una etiqueta <tr> .

   De forma predeterminada, el texto de los <th> elementos está en negrita y está centrado.

   De forma predeterminada, el texto de los <td> elementos es regular y está alineado a la izquierda.

   Nota: Los <td> elementos son los contenedores de datos de la tabla. Pueden contener todo tipo de elementos HTML; texto, imágenes, listas, otras tablas, etc.

    Estas tres etiquetas serían las etiquetas necesarias para crear una tabla.

    Es momento de sugerir la conveniencia de la definición de una tabla básica en condición de ejemplo conceptual gráfico, que podría ser la construcción de una tabla de dos filas por dos columnas, y que además, haga referencia por decir algo, por ejemplo a capitales. Aunque en versiones anteriores de HTML, se pueden aplicar varios atributos a la etiqueta <table>, actualmente solo está permitido uno, el atributo border, al cual se le puede dar un valor de 0 o 1

De esta forma se visualiza un borde en la tabla, este atributo solo se ha de utilizar cuando se está realizando el documento web por motivos de visualización del diseño, siendo conveniente quitar el mismo cuando se publique el documento y establecer los formatos de la tabla mediante hojas de estilo.

    Para los ejemplos utilizados y con el fin de poder apreciar el resultado en el navegador se ha establecido el atributo border con un valor de 1

Si se visualiza el código anterior en cualquier navegador, se obtiene una tabla como la que muestra la siguiente imagen:.

Tabla HTML con dos filas y columnas

   Puedes ver claramente en el ejemplo anterior, el concepto de filas conteniendo columnas del que hablamos previamente. Aquí se hace evidente como las celdas, siguen una secuencia en la representación que va de izquierda a derecha, una fila por vez, y esto en función a una numeración de acuerdo a su apariciónen el código y que lo dejo ver en el ítem siguiente. Esto tendrá implicaciones futuras, especialmente cuando se trate el tema de unificación de celdas y agrupamiento.

    Sobre las celdas de encabezado:

   Profundizando un tantito más en el desarrollo de los conceptos estudiados en esta lección, señalemos que una celda de encabezado es un tipo especial de celda utilizada para organizar y categorizar otras celdas en la tabla. Dicho esto, es diícil imaginar una tabla donde una celda de encabezado no tenga utilidad. Casi cualquier tabla puede beneficiarse de un grupo de celdas de encabezado bien ubicado.

   En el ejemplo de las capitales, las celdas de encabezado, representadas por el elemento th, son ubicadas en la primera fila de la tabla, encima de las celdas comunes, en ese caso Venezuela y Argentina, o sea, cada celda de encabezado en la tabla, provee información para el resto de las celdas en la columna a la que pertenece (por supuesto en tablas menos básicas como la del ejemplo, donde aparecen más elementos). Esto da destacamiento a esas celdas.

   Nota: Otro pasito más. Sucede que con el mismo HTML también es posible modificar el parámetro “border” para hacerlo más visible. Acá el mismo ejemplo, pero modificado con un valor 5 y además, asignándole color azul; siendo el código resultante el siguiente:

   En tu navegador se verá de la forma siguiente:

Tabla HTML con borde de mayor grosor y con color

   Al definir una tabla, se debe pensar en primer lugar en las filas que la forman y a continuación en las columnas. El motivo es que HTML procesa primero las filas y por eso las etiquetas <tr> aparecen antes que las etiquetas <td> lo cual se pudo corroborar en el ejemplo precedente.

   Se ha de observar que para cada una de las filas de la tabla, se utiliza la etiqueta <tr>, y como contenido de las mismas, se utilizan etiquetas <th> o <td>, dependiendo de que se quiera establecer celdas de encabezado o normales. Las celdas o casillas de encabezado se visualizan con una fuente fuerte a diferencia de las normales.

   Para definir el título de tabla se ha utilizado la etiqueta <caption> y podría ser catalogado como una quinta etiqueta básica, porque es natural que cualquier tabla sea identificada con un correspondiente título informativo de su utilidad para el lector. Recordemos que se insertó de la forma siguiente: <caption>(Titulo de la tabla) Capitales </caption>

   Es importante definir bordes tanto para nuestra tabla HTML como para las celdas de la tabla, para lo cual se usa el atributo border, tal como se comprueba en el ejemplo básico de las capitales, insertado de la forma siguiente: <table border="1">

   Resumiendo conceptos:

Etiqueta Denominación significado

<TR>

TABLE ROW.

FIN DE TABLA

<TH>

TABLE HEADER.

ENCABEZADO DE TABLA

<TD>

TABLE DIVISIÓN.

DIVISIÓN DE TABLA



☛ Nota importante ☚

    Es necesario que tomes en cuenta que todas las tablas estudiadas en esta lección, no se le han aplicado estilos mediante CSS que son los que permiten mejorar su comprensión y legibilidad, lo cual dejo para una publicación posterior donde lo pueda exponer con el nivel de detalle que se merece. Es importante aclarar que no se pueden esperar resultados estéticos en tablas sin atributos presentacionales asignados mediante CSS, por eso, aclaro que esta lección es primariamente para comprender la anatomía de tablas en HTML para avanzar luego a su mejoramiento con CSS, que es como actualmente se trabaja; pero, como todo aprendizaje humano, ... primero aprendes a gatear y luego a caminar hasta que puedas llegar incluso al nivel de atleta olímpico.

⏫ Ir al inicio del post ⏫

 Anatomía   de   una   tabla   con   combinación   de   columnas

   Uno de los atributos que se pueden aplicar a las etiquetas de celda, independientemente que sean de encabezado o normales es el atributo colspan, que comento de seguido.

   El atributo colspan nos ofrece la magnífica utilidad de permitirnos realizar la combinación de varias columnas en una sola.

   Para especificar el valor del atributo, se ha de indicar el número de columnas sobre las que se quiere realizar la combinación, utilizando un valor numérico encerrado entre comillas dobles.

   El siguiente ejemplo muestra el uso del atributo en una tabla que tiene celdas combinadas aplicada la combinación sobre las columnas.

El ejemplo anterior ha de mostrar un resultado similar al que se muestra en la imagen siguiente

Combinación de columnas en una tabla HTML
Combinación de columnas en una tabla HTML

   Al propósito de comentar el modelo de tabla que se visualiza en el navegador por la lectura del código precedente, resaltan los siguientes comentarios:

   La variable tabulada es familia, y expone 4 ítems constitutivos: hijo, hija, primo y prima.

   Pero, al observarla con detenimiento se destaca la configuración consanguínea directa y lo que impone consecuentemente es hacer la distinción de esa circunstancia combinando ambas celdas, o sea, creando un campo unificado. Las celdas han sido numeradas de acuerdo a su aparición en el código (ya adelantado en el ítem precedente), siguen una secuencia en la representación que va de izquierda a derecha, una fila por vez.

   Lo anterior se entiende mejor, haciendo notar que la diferencia respecto a la categoría primos, es su separación en la tabla en celdas independientes (no combinadas), lo cual permite concluir al lector de la tabla que, por ejemplo, el primo es paterno, y la prima es materna.

   Si, por ejemplo, se hablara de primo y prima, ambas por vía paterna, por ejemplo, su representación en la tabla, tendría una presentación semejante a la aplicada a hijo e hija; y, por efectos de evitar fatiga explicativa, se sugiere como ejercicio de aplicación al lector, el diseño de una nueva tabla que exponga esa circunstancia. Esto sirve a manera de repaso de los conceptos expuestos hasta ahora.

⏫ Ir al inicio del post ⏫

 Anatomía   de   una   tabla   con   combinación   de   filas

   Al igual que se puede realizar la combinación de columnas, también se puede realizar la combinación de filas, pero esta vez mediante el uso del atributo rowspan.

   Para especificar el valor del atributo, se ha de indicar el número de filas sobre las que se quiere realizar la combinación, utilizando un valor numérico encerrado entre comillas dobles.

   El siguiente ejemplo muestra el uso del atributo en una tabla que tiene celdas combinadas aplicada la combinación sobre las filas.

El resultado del ejercicio anterior ha de ser similar al que se muestra en la imagen siguiente.

Combinación de filas en una tabla HTML
Combinación de filas en una tabla

⏫ Ir al inicio del post ⏫

Anatomía   de   una   tabla   con   columnas   y   filas   combinadas

   Se puede realizar la aplicación de los dos atributos de combinación de filas y columnas a las celdas de la tabla, formando así tablas que contienen celdas combinadas.

El siguiente ejemplo muestra el uso de los atributos de combinación aplicados sobre una tabla.

El ejemplo anterior ha de mostrar un resultado similar al que se muestra en la imagen siguiente.

Combinación de columnas y filas en una tabla HTML
Combinación de columnas y filas en una tabla

⏫ Ir al inicio del post ⏫

 Tablas   avanzadas

   En muchas ocasiones se puede necesitar tablas que tengan una mayor complejidad en su estructuración, debido a que puedan tener secciones de datos distintas, o se quiera realizar diferenciación entre los datos de la tabla y las secciones correspondientes a sus encabezados y pies.

   Para realizar este tipo de tablas, se pueden utilizar una serie de etiquetas que permiten crear tablas denominadas avanzadas.

   Una de las características de estas tablas es que están compuestas por una sección de cabecera, que se define mediante la etiqueta <thead>, una sección de pie de tabla, definida mediante la etiqueta <tfoot>, y por ultimo una o varias secciones de cuerpo de tabla, donde se suele ubicar los datos de la misma, representada por la etiqueta <tbody>

   Las etiquetas de cabecera y pie de tabla siempre se han de definir antes que cualquier etiqueta de cuerpo de tabla.

   Se pueden realizar agrupaciones de columnas para aplicar un formato por separado o en común a las mismas, para realizar estas agrupaciones se ha de utilizar la etiqueta <colgroup>, especificando a continuación como su contenido y mediante la etiqueta <col>, las columnas y el ámbito de las mismas sobre el cual se quiere aplicar el formato.

El siguiente ejemplo muestra el uso de las etiquetas avanzadas.

El resultado del ejercicio anterior ha de ser similar al que se muestra en la imagen siguiente.

thead, tbody y tfoot componentes de una tabla

En primer lugar se han especificado estilos css para varios elementos de la tabla. El primero de ellos en la propia etiqueta de la tabla, especificando que su ancho ha de ser el 100% del ancho de visualización del navegador.

Como se puede observar en el ejercicio, se ha definido un grupo de columnas mediante la etiqueta <colgroup>, y en el interior de la misma se han especificado los anchos de tres columnas mediante la etiqueta <col>, representando cada etiqueta el orden de la columnas, de esta forma la primera columna tiene un ancho del 20% y las dos siguientes columnas tienen un ancho del 40% cada una.

A continuación se especifica el encabezado de la tabla mediante la etiqueta <thead>, y seguidamente el pie de la tabla, mediante la etiqueta <tfoot>, una vez especificados encabezado y pie, se especifica el cuerpo de la tabla mediante la etiqueta <tbody>, la cual contiene las filas y columnas de datos


   Recomendación: Por experiencia propia les comento que no es lo mismo conocer los códigos que aplicar los códigos. Mi esmero ha sido monumental en presentar la información lo más accesible posible, pero, mientras el lector no aplique los conceptos, mientras no aplique creatividad en crear sus propias tablas, no se puede decir que ha aprendido; por eso sugiero la revisión de las URLs acá citadas, las cuales cuentan con abundantes ejemplos y ejercicios de tablas, útiles para practicar, luego de lo cual el lector puede dedicarse a crear sus propias tablas, que en inicio, serán defectuosas, hasta lograr pericia.

   Permítaseme un comentario relajante: realmente es impresionante lo genialmente sencilla que es la anatomía de una tabla HTML y me permito aseverar que cualquiera lo puede aprender, si tiene el esmero y la disciplina, y si cuenta con la bibliografía de apoyo pertinente, tal como ocurrió conmigo, y que ahora yo en este artículo aspiro ser texto digital de consulta; porque al ser mi blog sin fines de lucro y con intención 100% educativo e investigativo, cualquiera si lo desea, puede acceder a este artículo

   Para finalizar: el lector habrá podido confirmar, que no ha habido secretos entre cada contenido y el autor de este post, es decir, este servidor se ha complacido en compartir todo lo que ha investigado sobre este tema, haciendo una meticulosa compilación, en lenguaje fácil de entender por el más novato, pero con cierto nivel de profundidad conceptual en lo atinente a la argumentación dada a cada concepto.

⏫ Ir al inicio del post ⏫

Sinopsis   de   los   conceptos   estudiados   en   esta   Lección

Usa el <table>, elemento HTML para definir una tabla

Utilice el <tr>,elemento HTML para definir una fila de la tabla

Utilice el <td>,elemento HTML para definir los datos de una tabla

Utilice el <th>,elemento HTML para definir un encabezado de tabla

Utilice el <caption>,elemento HTML para definir un título de tabla

Utilice la borderpropiedad CSS para definir un borde

Utilice la border-collapsepropiedad CSS para contraer los bordes de las celdas

Use la paddingpropiedad CSS para agregar relleno a las celdas

Use la text-alignpropiedad CSS para alinear el texto de la celda

Use la border-spacingpropiedad CSS para establecer el espacio entre celdas

Utilice el colspan atributo para hacer que una celda abarque muchas columnas

Use el rowspanatributo para hacer que una celda abarque muchas filas

Utilice el idatributo para definir de forma única una tabla

⏫ Ir al inicio del post ⏫

Fuentes   Consultadas


Seguidamente las URLs de las páginas consultadas:
Bibliografia

https://disenowebakus.net/tablas-html.php

https://uniwebsidad.com/libros/xhtml/capitulo-7/tablas-basicas

https://lenguajehtml.com/html/semantica/etiquetas-html-de-tablas/

https://www.w3schools.com/html/html_tables.asp

https://www.htmlquick.com/es/tutorials/tables.html

https://www.uv.es/jac/guia/tablaeje.htm

https://developer.mozilla.org/es/docs/Web/HTML/Elemento/table

⏫ Ir al inicio del post ⏫