El Lenguaje de Marcado de Hipertexto (HTML) es el código que se utiliza para estructurar y desplegar una página web y sus contenidos. Por ejemplo, sus contenidos podrían ser párrafos, una lista con viñetas o el uso de imágenes y tablas de datos. Como lo sugiere el título, este artículo te dará una comprensión básica de HTML y cúal es su función.
Entonces, ¿qué es HTML en realidad?
HTML no es realmente un lenguaje de programacion; es un lenguaje de marcado, y es usado para decirle al navegador cómo desplegar las páginas web que visitas. Puede ser tan complicado o simple como el diseñador web lo desee. HTML consiste en una serie de elementos, que usas para encerrar diferentes partes del contenido para que éstos se muestren o actúen de cierta manera. Las etiquetas de encierre pueden hacer de una palabra o una imagen un hipervínculo hacia otro sitio, pueden convertir palabras en cursivas, agrandar y achicar las fuentes, y así. Por ejemplo, mira el siguiente contenido:
Mi gato es muy gruñon
Si queremos especificar que se trata de un párrafo, podríamos encerrar el texto con con la etiqueta de párrafo (<p>
) :
<p>Mi gato es muy gruñon</p>
Anatomía de un elemento HTML
Exploremos este párrafo en mayor profundidad.
Las partes principales de nuestro elemento son:
- La etiqueta de apertura: consiste en el nombre del elemento (en este caso, p), encerrado por paréntesis angulares (< >) de apertura y cierre. Establece dónde comienza o empieza a tener efecto el elemento — en este caso, dónde es el comienzo del párrafo.
- La etiqueta de cierre: es igual que la etiqueta de apertura, excepto que incluye una barra de cierre (/) antes del nombre de la etiqueta. Establece dónde termina el elemento — en este caso dónde termina el párrafo.
- El contenido: este es el contenido del elemento, que en este caso es sólo texto.
- El elemento: la etiqueta de apertura, más la etiqueta de cierre, más el contenido equivale al elemento.
Los elementos pueden también tener atributos, que se ven así:
Los atributos contienen información adicional acerca del elemento, la cual no quieres que aparezca en el contenido real del elemento. En este caso, el atributo class permite darle al elemento un nombre identificativo, que puede ser usado luego para apuntarle al elemento información de estilo y demás cosas.
Un atributo debe tener siempre:
- Un espacio entre éste y el nombre del elemento (o del atributo previo, si el elemento ya posee uno o más atributos).
- El nombre del atributo, seguido por un signo de igual (=).
- Comillas de apertura y de cierre, encerrando el valor del atributo.
Anidando elementos
Puedes también colocar elementos dentro de otros elementos — esto se llama anidamiento. Si, por ejemplo, queremos resaltar una palabra del texto (en nuestro ejemplo la palabra "muy"), podemos encerrarla en un elemento <strong>
, que significa que dicha palabra debe ser enfatizada:
<p>Mi gato es <strong>muy</strong> gruñon.</p>
Debes asegurarte que los elementos estén correctamente anidados: en el ejemplo de abajo, creamos la etiqueta de apertura del elemento <p> primero, luego la de <strong>, por lo tanto, debemos cerrar ésta etiqueta primero, y luego la de <p>. Esto es incorrecto:
<p>Mi gato es <strong>muy gruñon.</p></strong>
Los elementos deben abrirse y cerrarse ordenadamente, de forma tal que se encuentren claramente dentro o fuera el uno del otro. Si éstos se encuentran solapados, el navegador web tratará de adivinar lo que intentas decirle, pero puede que obtengas resultados inesperados. Así que, ¡no lo hagas!
Elementos vacíos
Algunos elementos no poseen contenido, y son llamados elementos vacíos. Toma, por ejemplo, el elemento <img>
de nuestro HTML:
<img src="images/firefox-icon.png" alt="Mi imagen de prueba">
Posee dos atributos, pero no hay etiqueta de cierre </img>
ni contenido encerrado. Esto es porque un elemento de imagen no encierra contenido al cual afectar. Su propósito es desplegar una imagen en la página HTML, en el lugar en que aparece.
Anatomía de un documento HTML
Hasta ahora vimos lo básico de elementos HTML individuales, pero éstos no son muy útiles por sí solos. Ahora veremos cómo los elementos individuales son combinados para formar una página HTML entera. Revisitemos el código de nuestro ejemplo en index.html (
que vimos por primera vez en el artículo Dealing with files):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Mi pagina de prueba</title> </head> <body> <img src="images/firefox-icon.png" alt="Mi imagen de prueba"> </body> </html>
Tenemos:
<!DOCTYPE html>
— el tipo de documento. Anteriormente, cuando HTML era jóven (cerca de 1991/2), los tipos de documento actuaban como vínculos a un conjunto de reglas que el código HTML de la página debía seguir para ser considerado bueno, lo que podía significar el chequeo de errores automático y algunas otras cosas de utilidad. Sin embargo, hoy día son simplemente un artefacto antiguo que a nadie importan, pero que debe ser incluido para que todo funcione correctamente. Por ahora, eso es todo lo que necesitas saber.<html></html>
— el elemento<html>
. Este elemento encierra todo el cotenido de la página entera, y a veces se le conoce como el elemento raíz (root element).<head></head>
— el elemento<head>
. Este elemento actúa como un contenedor de todo aquello que queremos incluir en la página HTML que no es contenido visible por los visitantes de la página. Incluye cosas como palabras clave, una descripción de la página que quieres que aparezca en resultados de búsquedas, CSS para dar estilo al contenido, declaraciones del juego de caracteres, etc.<body></body>
— el elemento<body>
. Encierra todo el contenido que deseas mostrar a los usuarios web que visiten tu página, ya sea texto, imagenes, videos, juegos, pistas de audio reproducibles, y demás.<meta charset="utf-8">
— este elemento establece el juego de caracteres que tu documento usará enutf-8
, que inlcuye casi todos los caracteres de todos los idiomas humanos. Básicamente, puede manejar cualquier contenido de texto que puedas incluir. No hay razón para no establecerlo, y puede evitar problemas en el futuro.<title></title>
— establece el título de tu página, que es el título que aparece en la pestaña del navegador cuando la página es cargada, y se usa para describir la página cuando es añadida a los marcadores o como favorita.
Imagenes
Prestemos atención nuevamente a nuestro elemento imagen:
<img src="images/firefox-icon.png" alt="Mi imagen de prueba">
Como dijimos antes, incrusta una imagen en nuestra página, en la posición en que aparece. Lo logra a través del atributo src
(source), el cual contiene el path (o ubicación) de nuestro archivo de imagen.
También incluimos un atributo alt
(alternative) — el cual contiene un texto que debería describir a la imagen, y que podría ser accedido por usuarios que no pueden ver la imagen, quizás porque:
- Son ciegos o tienen deficiencias visuales. Los usuarios con impedimentos visuales usualmente utilizan herramientas llamadas Screen Readers (Lectores de Pantalla) las cuales les leen el texto contenido en el atributo alt.
- Se produjo algún error en el código que impide que la imagen sea cargada. Como ejemplo, modifica deliberadamente el path dentro del atributo
src
para que éste sea incorrecto.
Mi imagen de prueba
La frase clave acerca del texto alt de arriba es "texto que debería describir a la imagen". El texto alt debe proporcionarle al lector la suficiente información como para que éste tenga una buena idea de qué muestra la imagen. Por lo que nuestro texto actual "Mi imagen de prueba" no es para nada bueno. Un texto mucho mejor para nuestro logo de Firefox sería: "El logo de Firefox: un zorro en llamas rodeando la Tierra".
Prueba dar con mejores textos alt para tu imagen.
Nota: Descubre más acerca de accesibilidad en MDN's Accessibility landing page.
Marcado de texto
Esta sección cubrirá algunos de los elementos HTML básicos que usarás para el marcado de texto.
Encabezados
Los elementos de encabezado permiten especificar que ciertas partes del contenido son encabezados, o subencabezados del contenido. De la misma forma que un libro tiene un título principal, y que a su vez puede tener títulos por cada capítulo individual, y subtítulos dentro de ellos, un documento HTML puede tenerlos también. HTML posee seis niveles de encabezados, <h1>
–<h6>
, aunque probablemente sólo llegues a usar 3-4 como mucho:
<h1>Mi titulo principal</h1> <h2>Mi titulo de nivel superior</h2> <h3>Mi subtitulo</h3> <h4>Mi sub-subtitulo</h4>
Intenta ahora añadir un título apropiado para tu página HTML, justo debajo de tu elemento <img>
.
Párrafos
Como se explicó más arriba, los elementos <p>
se utilizan para encerrar párrafos de texto; los usarás frecuentemente para el marcado de contenido de texto regular:
<p>Este es un simple parrafo</p>
Agrega tu texto de ejemplo (deberías tenerlo de Como quieres que luzca tu website?) en uno o algunos párrafos, colocados directamente debajo del elemento <img>.
Listas
Mucho del contenido web está dado por listas, asique HTML tiene elementos especiales para ellas. El marcado de listas se realiza siempre en al menos dos elementos. Los dos tipos de listas más comunes son las listas ordenadas y las desordenadas:
- Las listas desordenadas son aquellas en las que el orden de los items no es relevante, como en una lista de compras. Estas son encerradas en un elemento
<ul>
(unordered list). - Las listas ordenadas son aquellas en las que el orden si es relevante, como en una receta. Estas son encerradas en un elemento
<ol>
(ordered list).
Cada elemento de la lista se coloca dentro de un elemento <li>
(list item).
Por ejemplo, si queremos transformar parte del siguiente párrafo en una lista:
<p>En mozilla, somos una comunidad de tecnólogos, pensadores, y constructores que trabajan juntos... </p>
Podríamos hacer lo siguiente:
<p>En mozilla, somos una comunidad de</p> <ul> <li>tecnólogos</li> <li>pensadores</li> <li>constructores</li> </ul> <p>trabajando juntos... </p>
Intenta agregar una lista ordenada o desordenada en tu página de ejemplo.
Vínculos
Los vínculos son muy importantes — son los que hacen de la web LA WEB. Para implementar un vínculo, necesitamos usar un vínculo simple — <a>
— la a es el diminutivo de "anchor" ("ancla"). Para convertir algún texto dentro de un párrafo en un vínculo, sigue los siguientes pasos:
- Elige algún texto. Nosotros elegimos "Mozilla Manifesto".
- Encierra el texto en un elemento <a>, así:
<a>Mozilla Manifesto</a>
- Establece al elemento <a> un atributo href, así:
<a href="">Mozilla Manifesto</a>
- Completa el valor de este atributo con la dirección web con la que quieras víncular al vínculo:
<a href="https://www.mozilla.org/es-AR/about/manifesto/">Mozilla Manifesto</a>
Podrías obtener resultados inesperados si omites la parte https://
o llamada protocolo, al comienzo de la dirección web. Así que luego del marcado del vínculo, asegúrate de que esta te dirije a donde deseas que lo haga.
href
podría parecer, en principio, una opción un tanto oscura para un nombre de atributo. Si tienes problemas para recordarla, recuerda que se refiere a hypertext reference.
Ahora agrega un vínculo a tu página, si es que aún no lo hiciste.
Conclusión
Si lograste seguir todas las instrucciones de este artículo, deberías terminar con una página que se vea así (también puedes verla aquí):
Si te estancas en algún paso, siempre puedes comparar tu trabajo con nuestro código de ejemplo terminado en Github.
Aquí realmente sólo hemos visto la superficie de HTML. Para aprender más, ve a nuestra página de Aprendizaje HTML.