` o, si no es suficiente, usar |details|
dentro del elemento :code:`caption`::
Datos de empleo
Datos de empleo de España para el año 2018 extraídos del INE
.. index:: caption
.. _html-caption:
**caption** (:devmoz:`caption`)
Define el título de la tabla. Por lo general, es corto y se usan dentro de él
elementos en línea, pero puede ser más complicado.
.. index:: tr
.. _html-tr:
**tr** (:devmoz:`tr`)
Define una fila de la tabla. Está constituida por elementos :code:`` y
:code:` | `.
.. index:: th
.. index:: td
.. _html-th:
.. _html-td:
| **th** (:devmoz:`th`)
| **td** (:devmoz:`td`)
| Definen las celdas de la tabla, :code:` | ` las de cabecera y :code:` | `
las de datos. Pueden contener atributos :code:`rowspan` y :code:`colspan`
para fusionarse, pero se tratará :ref:`más adelante `.
.. table:: Atributos de th
:class: attr-html
+--------+--------------------------------+----------------------------+
| scope | col|row|colgroup|rowgroup|auto | Define las celdas de las |
| | | que es cabecera esta celda |
+--------+--------------------------------+----------------------------+
Los elementos :code:`` pueden tener un atributo :code:`scope` que identifica
cuáles son las celdas de las que es cabecera. La norma tiene un `explicación muy
esclarecedora sobre el uso de este atributo
`_.
Ejemplo de uso:
.. code-block:: html
Elementos en tablas sencillas
Elemento
| Descripción
|
table
| Elemento contenedor de la tabla
|
caption
| Establece el título de la tabla
|
tr |
Elemento para definir la fila de una tabla
|
th
| Celda de cabecera de la tabla
|
td
| Celda de datos de la tabla
|
.. rst-class:: ej-html
.. raw:: html
Elementos en tablas sencillas
Elemento
| Descripción
|
table
| Elemento contenedor de la tabla
|
caption
| Establece el título de la tabla
|
tr |
Elemento para definir la fila de una tabla
|
th
| Celda de cabecera de la tabla
|
td
| Celda de datos de la tabla
|
.. note:: Por defecto, las tablas no tienen ninguna decoración, ni siquiera el
borde de separación entre celdas. Mientras no aprendamos |CSS|, puede
valernos con añadir este código para leerlas algo mejor:
.. code-block:: css
td, th {
border: solid black 1px;
}
Agrupación de filas
===================
Bajo este epígrafe pretendemos agrupar las filas, lo que puede permitirnos
agruparlas semánticamente y, además, cuando las tablas son largas y se pretenden
imprimir, repetir una cabecera y un pie en todas las páginas que ocupe la tabla.
.. table:: Elementos de agrupación de filas
:class: el-html
+-----------+----------------------------------------------------------+
| |thead| | Agrupa filas que constituyen una cabecera. |
+-----------+----------------------------------------------------------+
| |tbody| | Agrupa filas en el cuerpo de la tabla. |
+-----------+----------------------------------------------------------+
| |tfoot| | Agrupa filas en el cabo de la tabla. |
+-----------+----------------------------------------------------------+
.. index:: thead
.. index:: tbody
.. index:: tfoot
.. _html-thead:
.. _html-tbody:
.. _html-tfoot:
| **thead** (:devmoz:`thead`)
| **tbody** (:devmoz:`tbody`)
| **tfoot** (:devmoz:`tfoot`)
| Si optamos por usar estos elementos, una tabla puede estar constituida por
un elemento opcional :code:`` seguido de un elemento opcional
:code:``, uno o varios elementos :code:`tbody` y un elemento
opcional :code:``, dentro de cada uno de los cuales se pueden incluir
filas con el elemento :code:``.
Ejemplo de uso:
.. code-block:: html
Asistentes
Nacionalidad
| Cantidad
|
Españoles
| 100
|
Portugueses
| 25
|
Franceses
| 50
|
Italianos
| 25
|
Total
| 100
|
.. rst-class:: ej-html
.. raw:: html
Asistentes
Nacionalidad
| Cantidad
|
Españoles
| 100
|
Portugueses
| 25
|
Franceses
| 50
|
Italianos
| 25
|
Total
| 100
|
Agrupación de columnas
======================
.. table:: Elementos de definición de columnas
:class: el-html
+------------+------------------------------------------------------+
| |colgroup| | Contiene las definiciones de columnas. |
+------------+------------------------------------------------------+
| |col| | Agrupa columnas. |
+------------+------------------------------------------------------+
.. index:: colgroup
.. index:: col
.. _html-colgroup:
.. _html-col:
| **colgroup** (:devmoz:`colgroup`)
| **col** (:devmoz:`col`)
| Tras |caption| (si existe) y antes de cualquier otro elemento
(|tr|, |thead| o |tbody| según el caso) puede incluirse un elemento
:code:`` para contener elementos :code:``. Estos
elementos permiten agrupar columnas que comparten una semántica
común. El elemento :code:`` puede omitir tanto su apertura
como su cierre.
Ejemplo de uso:
.. code-block:: html
Ciclos formativos en el centro
| SMR
| ASIR
| CAE
| SyC
|
Grado
| Medio
| Superior
| Medio
| Medio
|
.. rst-class:: ej-html
.. raw:: html
Ciclos formativos en el centro
| SMR
| ASIR
| CAE
| SyC
|
Grado
| Medio
| Superior
| Medio
| Medio
|
.. note:: Gracias a las clases, podremos definir distintos estilos para los
grupos de columnas, pero `sólo unas pocas propiedades CSS son válidas
`_. De hecho, para lograr
el efecto en el ejemplo anterior, se ha usado el |CSS|:
.. code-block:: css
.tb-ejemplo .info {
background-color: #cdf;
}
.tb-ejemplo .sanitaria {
background-color: #eeb;
}
.tb-ejemplo .soldadura {
background-color: #bda;
}
.. _html-agr-celdas:
Agrupación de celdas
====================
En ocasiones necesitamos fusionar varias celdas en vertical o varias en
horizontal.
.. table:: Atributos de fusión de celdas para td/th
:class: attr-html
+----------+--------+----------------------------------------------------+
| rowspan | [num] | Indica cuántas filas ocupa la celda |
+----------+--------+----------------------------------------------------+
| colspan | [num] | Indica cuántas columnas ocupa la celda |
+----------+--------+----------------------------------------------------+
Al usar estos atributos las celdas a las que se les usurpa su espacio dejan de
existir:
.. code-block:: html
Fusion horizontal
|
1
| Fusión vertical
|
2
|
.. rst-class:: ej-html
.. raw:: html
Fusion horizontal
|
1
| Fusión vertical
|
2
|
Ejercicios propuestos
=====================
.. include:: /99.ejercicios/62.html-tablas.rst
:start-line: 3
.. |details| replace:: :ref:` `
.. |caption| replace:: :ref:` `
.. |table| replace:: :ref:` `
.. |tr| replace:: :ref:` `
.. |td| replace:: :ref:` `
.. |th| replace:: :ref:` `
.. |thead| replace:: :ref:` `
.. |tbody| replace:: :ref:` `
.. |tfoot| replace:: :ref:` `
.. |col| replace:: :ref:` `
.. |colgroup| replace:: :ref:` `
.. |CSS| replace:: :abbr:`CSS (Cascading Style Sheets)`
| | | |