Como mencionábamos en la sección anterior, el cuerpo de un documento HTML contiene los contenidos en sí de la página. El cuerpo está contenido dentro de un elemento <body>
.
Recordemos la estructura básica de un documento HTML5:
<!DOCTYPE html>
<html>
<head>
<!-- Aquí pondremos el contenido de la cabecera -->
</head>
<body>
<!-- Aquí pondremos el contenido del cuerpo -->
</body>
</html>
A lo largo de este tema iremos viendo en detalle cómo funciona cada etiqueta. A modo de resumen, empezaremos con un resumen de las etiquetas más utilizadas en el cuerpo de un documento en HTML5:
<body>
):<p>, <pre>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <address>
Salto de línea <br />
Tipo de información <abbr> <cite> <code> <em> <kbd> <strong>
Elemento carácter <b> <i> <small> <sub> <sup>
Bloque de cita: <blockquote>
División: <div>, <article>, <header>, <section>, <aside>, <nav>, <footer>
En general, las etiquetas se organizan siguiendo las siguientes normas:
<body>
Entre las etiquetas de bloque destacamos las siguientes:
<p>
Contiene el texto de un párrafo. El navegador no muestra los espacios en blanco ni los saltos de línea adicionales que escribamos dentro de un párrafo. Podemos incluir algunas características de estilo dentro de la propia etiqueta pero no es aconsejable.
<p>Esto es un párrafo. Aunque escriba varios espacios
y saltos de línea saldrá todo de manera compacta</p>
<p align="center">Centrado</p>
<p align="right">Alineado a la derecha</p>
Añade el código anterior (con sus espacios y todo) dentro del elemento <body>
del código que tienes al principio de la página.
<pre>
Contiene un párrafo con texto preformateado, es decir, se tienen en cuenta espacios en blanco y líneas en blanco. Dentro de estos párrafos se usa un tipo de letra de ancho fijo por lo que se suele utilizar para escribir texto como código fuente:
<p>En JavaScript podemos definir una función de la siguiente forma:</p>
<pre>
var nombre = function() {
// Código de la función
};
</pre>
<h1>
…<h6>
Definenen encabezados de secciones (de nivel 1 a 6)
<h1>Sección 1</h1>
<h2>Sección 1.1</h2>
<p>Texto normal.</p>
<h3>Sección 1.1.1</h3>
<p>Texto normal.</p>
<address>
Contiene información de contacto del autor de la página:
<address>Autor: Juan Antonio Recio (UCM) <br />
Última modificación: 28 de febrero de 2014
</address>
Son las que se utilizan para generalmente dentro de otros párrafos. Algunas etiquetas inline se usaban para definir directamente el formato del texto (por ejemplo <b>
, <i>
, etc.) pero esto no es recomendable y es preferible no usarlo en los documentos HTML5.
Aunque existen otras como <hr/>
, <abbrv>
, <cite>
o <dfn>
, destacaremos principalmente las siguientes:
Son elementos que sirven para romper líneas y añadir espacios en blanco:
<br/>
añade un salto de línea sin cambiar de párrafo (es decir, sin dejar espacio entre medias)
Es un espacio en blanco por lo que fuerza al navegador a poner los espacios que ignoraría. Es poco aconsejable ya que es mejor usar <pre>
en estos casos.Para marcar la importancia de unas palabras dentro del texto se usan las siguientes etiquetas:
<em>
resalta una porción de texto dándole énfasis (aparecerá generalmente en cursiva). Existe también el elemento <i>
(cursiva) pero se desaconseja su uso.<strong>
representa un mayor énfasis que con <em>
(aparecerá generalmente en negrita) También existe <b>
(negrita) pero se desaconseja su uso.La recomendación de usar <em>
y <strong>
encierra un matiz sutil: La etiqueta <i>
significa “pon este texto en cursiva”, mientras que la etiqueta <em>
significa “este texto hay que enfatizarlo”.
Si queremos incrustar código en mitad de un párrafo (o de cualquier etiqueta de bloque), en lugar de <pre>
, deberemos usar el elemento <code>
<p>En C, el punto de entrada de ejecución es la función <code>int main()</code>, que puede tener parámetros</p>
Se usan para mostrar que se ha modificado una página con respecto a una versión anterior:
<del>
muestra que se elimina un texto (aparecerá tachado).<ins>
muestra que se ha insertado un texto (aparecerá subrayado)<p>La nota final es <del>suspenso</del> <ins datetime="20130625">aprobado</ins>.</p>
Estas etiquetas sirven para, principalmente, organizar la estructura de la página. Las más utilizadas son las siguientes:
El elemento <div>
o división es el elemento más importante para agrupar diversos elementos de bloque (párrafos, encabezados, listas, tablas, divisiones, etc.) y dar la estructura de formato de la página (anteriormente en muchos casos se usaban tablas para dar dicha estructura).
Una división no puede insertarse dentro de una etiqueta inline (<strong>
, <em>
, etc.) o de un bloque de texto (párrafo <p>
, encabezado <h1>
… <h6>
, etc), pero sí puede insertarse dentro de una tabla o de otra división <div>
.
Sin embargo, si lo que se quiere crear es un grupo de elementos en línea seguidos dentro de un mismo bloque (por ejemplo, varias palabras seguidas dentro de un párrafo) se utiliza el elemento <span>
Con las hojas de estilos y los atributos genéricos class
e id
daremos formato a estas agrupaciones. En caso de los elementos <div>
estas hojas de estilo se usan incluso para definir la posición de los distintos elementos.
<div id="cuentoCaperucita">
<div class="titulo">Caperucita Roja</div>
<div class="cuento">
<p>Andaba sola <span class="rojo">Caperucita Roja</span>
y se encontró <span class="feroz">al lobo feroz</span></p>
</div>
</div>
Puedes probar el fragmento de código anterior, pero verás que los atriburos “titulo”, “cuento”, “rojo” y “feroz” no hacen nada.
Más adelante podremos usar estos atributos para asociar formatos a los distintos elementos contenidos dentro de los<div>
o los <span
.
El elemento <blockquote>
se usa para incluir una cita larga, que puede contener varios párrafos u otras etiquetas. El texto dentro de esta etiqueta se suele mostrar con márgenes a izquierda y derecha, aunque lo más conveniente es definir el formato deseado en la hoja de estilo. Se puede indicar el origen de la cita con el atributo cite
.
<p>El candidato a la presidencia fue locuaz en su discurso:</p>
<blockquote cite="http://www.buenasnoticias.org/entrevista12.html">
<p>Prometo que voy a respetar los servicios sociales, naturalmente. Miente quien infunda alguna sospecha al respecto. </p>
<p>Y bla bla bla...</p>
</blockquote>
Estos elementos se han incorporado nuevos en HTML5 e indican la estructura semántica de la página. Son similares a los elementos <div>
pero llevan implícito el significado relacionado con la estructura.
Aunque existen muchos los siguientes son los elementos semánticos más importantes:
<header>
: Representa la cabecera de un documento o sección y deberían ser usados para contener información introductoria. Puede haber más de uno en el documento.<footer>
: Representa el cierre de un documento o sección. Suele contener información sobre el autor, copyright, términos de uso, información de contacto, etc.<nav>
: Representa la sección que contiene los enlaces de navegación por el sitio web.<section>
: Define una sección del documento.<article>
: Representa un contenido independiente y auto contenido, que se podría distribuir de manera independiente al resto del documento (posts de un blog, noticias, comentarios, etc.)<aside>
: Define contenido que se encuentra fuera del lugar en el que está contenido (como una barra lateral), por lo que suele estar relacionado con el elemento que lo contiene.<figure>
y <figcaption>
: Definen un elemento independiente, como una imagen, un trozo de código, un diagrama, etc. cuyo contenido está relacionada con el elemento que la contiene pero su posición es independiente del mismo. <figcaption>
es el título o la leyenda de este elemento y se suele poner como primer o último elemento del mismo.<details>
: Representa una serie de detalles adicionales que el usuario puede ocultar