A finales de los años 1980, Tim Berners-Lee de­sa­rro­lló los fu­n­da­me­n­tos de Internet mientras trabajaba en un proyecto interno en la Or­ga­ni­za­ción Europea para la In­ve­s­ti­ga­ción Nuclear (CERN) que debía permitir el in­te­r­ca­m­bio tra­n­s­na­cio­nal de in­fo­r­ma­ción en su red de la­bo­ra­to­rios, di­s­tri­bui­da entre Francia y Suiza. Como base de esta in­frae­s­tru­c­tu­ra, el in­fo­r­má­ti­co utilizó el lenguaje de hi­pe­r­te­x­to, un tipo de escritura que transmite in­fo­r­ma­ción mediante hi­pe­r­ví­ncu­los (hy­pe­r­li­n­ks) y se escribe con lenguajes de marcado como el Hypertext Markup Language o HTML, de­sa­rro­lla­do por Berners-Lee ex­pre­sa­me­n­te para el proyecto.

Junto a otros co­m­po­ne­n­tes como el protocolo de tra­n­s­fe­re­n­cia HTTP, el lo­ca­li­za­dor URL, así como los na­ve­ga­do­res y los se­r­vi­do­res web, HTML co­n­s­ti­tu­ye, aún tres décadas después, la piedra angular de la in­te­r­co­ne­xión digital global. Esto hace que aprender a utilizar este lenguaje web se cuente entre los primeros deberes de cualquier de­sa­rro­lla­dor. En este tutorial de HTML se han re­co­pi­la­do los pri­n­ci­pios básicos de este lenguaje de marcado, así como algunos consejos de HTML para pri­n­ci­pia­n­tes, para que tus primeros pasos en el mundo del de­sa­rro­llo web sean firmes y tus co­no­ci­mie­n­tos sólidos.

¿Qué es HTML?

El lenguaje de marcado de hi­pe­r­te­x­to hace parte de aquellos lenguajes in­fo­r­má­ti­cos que las máquinas pueden entender y que facilitan la in­ter­ac­ción con el hombre. Ma­r­cá­n­do­los como tales, HTML permite definir y articular titulares, párrafos, listas, tablas o gráficos en una web, de tal forma que cualquier navegador que pueda in­te­r­pre­tar el código puede mostrar vi­sua­l­me­n­te cada elemento. Mediante los metadatos, HTML también puede pro­po­r­cio­nar in­fo­r­ma­ción adicional, como por ejemplo, sobre el autor. Hoy día, y al contrario de lo que ocurría en sus inicios, HTML solo se usa para es­tru­c­tu­rar la página in­te­r­na­me­n­te y no para definir su aspecto visual, algo de lo que se ocupan lenguajes como CSS (Cascading Style Sheets).

HTML se de­sa­rro­lló a partir del hoy ya casi des­apa­re­ci­do me­ta­le­n­gua­je SGML (Standard Ge­ne­ra­li­zed Markup Language), estándar ISO re­co­no­ci­do (8879:1986) del que heredó su forma de escribir. Esta escritura se basa en definir cada elemento con un par de etiquetas o tags rodeadas por corchetes angulares, compuesto por la de inicio <> y la de cierre </>.  Algunos elementos no requieren de esta última, como el <br>, que además carece de contenido. Además de las etiquetas, los si­guie­n­tes atributos de HTML también recuerdan a su pre­de­ce­sor:

  • De­cla­ra­ción del tipo de documento: aquí se pro­po­r­cio­na in­fo­r­ma­ción sobre la versión de HTML utilizada, como, por ejemplo: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Tra­n­si­tio­nal//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • Empleo de entidades HTML: los signos de pu­n­tua­ción, los ca­ra­c­te­res con tilde o los símbolos es­pe­cia­les se traducen en entidades HTML para poder vi­sua­li­zar­se en el navegador (p. ej., &ntilde; para "ñ" o &eacute; para "é").
  • Co­me­n­ta­rios: los co­me­n­ta­rios ocultos para el navegador pero visibles para los pro­gra­ma­do­res se integran con la etiqueta <!-- -->
  • Atributos: los atributos amplían la de­fi­ni­ción de los elementos y siguen el esquema <etiqueta atributo="variable">

Qué software necesitas para escribir código HTML

En los inicios de nuestro breve curso de HTML es menester aclarar de qué manera se puede escribir HTML y qué aportan las di­fe­re­n­tes opciones, puesto que, por un lado, al no tener grandes re­qui­si­tos, es su­fi­cie­n­te con disponer de un simple editor de texto como el que se encuentra en cualquier sistema operativo y, por el otro, es verdad que algunas apli­ca­cio­nes es­pe­cia­les ofrecen algunas fa­ci­li­da­des a la hora de escribir. Dicho esto, ¿cuál es la mejor al­te­r­na­ti­va si se quiere aprender a escribir HTML?

Editor de texto

No es necesario disponer de ningún software especial para escribir un código HTML limpio y ordenado. Un editor de texto como Notepad de Windows o su equi­va­le­n­te en Mac, TextEdit, en texto sin formato, es su­fi­cie­n­te. Este programa no permite cambiar el aspecto del texto, tarea que recae di­re­c­ta­me­n­te en el código HTML. En teoría se podrían utilizar también pro­ce­sa­do­res de texto como Microsoft Word u Ope­nO­f­fi­ce Writer, pero no tiene mucho sentido hacerlo si se quiere aprender HTML, porque no se van a utilizar todas sus funciones, las cuales, además, podrían frenar el proceso de apre­n­di­za­je. En de­fi­ni­ti­va, para aprender a escribir HTML, la decisión más acertada es utilizar un editor de textos al uso como el que se encuentra instalado en cualquier sistema operativo.

Editores de HTML

Un paso in­te­r­me­dio entre los editores de texto y los programas más complejos lo co­n­s­ti­tu­yen aquellos editores con una fu­n­cio­na­li­dad más completa que incluye, por ejemplo, la de destacar cro­má­ti­ca­me­n­te las etiquetas, de modo que pro­po­r­cio­na una visión general muy clara sobre el código que se ha escrito y permite, así, detectar errores si­n­tá­c­ti­cos más rá­pi­da­me­n­te. Otra función estándar muy útil es la de au­to­co­m­ple­tar, que propone formas de ampliar o completar las etiquetas, incluso ce­rrá­n­do­las au­to­má­ti­ca­me­n­te. Muchos editores disponen, además, de una función de vista pre­li­mi­nar que permite ir co­m­pro­ba­n­do el resultado de lo que se lleva escrito. Para los usuarios de Windows, un editor de texto muy re­co­me­n­da­ble es Notepad++, de código abierto y di­s­tri­bui­do con licencia General Public, mientras que los usuarios de sistemas unixoides pueden recurrir a la solución gratuita Vim.

Editores con vi­sua­li­za­ción en tiempo real

Una al­te­r­na­ti­va muy atractiva, hoy incluida en casi la mayor parte de sistemas de gestión de co­n­te­ni­dos y de diseño de páginas web, consiste en utilizar los editores conocidos como WYSIWYG, que permiten escribir viendo el resultado en tiempo real. Las siglas equivalen a "What You See Is What You Get" ("Lo que ves es lo que obtienes") y es el principio que fu­n­da­me­n­ta a estos programas, de­sa­rro­lla­dos con el objetivo de permitir crear código HTML sin co­no­ci­mie­n­tos sobre lenguaje de marcado. Fu­n­cio­na­n­do de forma parecida a como lo hace un pro­ce­sa­dor de textos, el texto se articula uti­li­za­n­do las funciones pre­de­te­r­mi­na­das di­s­po­ni­bles en el menú, sin tener que escribir ma­nua­l­me­n­te las etiquetas, que el editor genera en un segundo plano. Esto tiene, sin duda, sus ventajas, pero no a la hora de aprender HTML, incluso aunque se pueda acceder en todo momento a la vista de código. Blue­Gri­f­fon o Drea­m­wea­ver de la casa Adobe son dos de las muchas opciones de editores con vista pre­li­mi­nar en tiempo real.

In­tro­du­c­ción a HTML: crear la primera página

En el primer paso de nuestro tutorial de HTML mo­s­tra­re­mos cómo crear una página sencilla que se podrá vi­sua­li­zar en el navegador. Esta página no es un documento HTML válido, es­tru­c­tu­ra­do según de­te­r­mi­na­dos es­tá­n­da­res de calidad, sino una mera página de prueba. Tanto para la creación de esta página como para el resto de ejemplos co­n­te­ni­dos en este manual de HTML básico se toma el editor Notepad++ como he­rra­mie­n­ta de re­fe­re­n­cia, de modo que si usas otro programa diferente, tendrás que tener en cuenta que los pasos podrían variar.

Abre el editor y guarda un documento nuevo con el nombre de test. Como formato de archivo escoge "Hypertext markup language file" para que el navegador pueda entender más adelante que se trata de una página de HTML y lo abra como tal. En el caso que utilices el editor de textos simple, se­le­c­cio­na "Todos los archivos" como formato de archivo y la co­di­fi­ca­ción UTF-8. En este editor hay que indicar ma­nua­l­me­n­te que se trata de un documento HTML. Lo haremos guardando el archivo con el nombre test.html.

Este documento debería poder mostrarse en tu navegador haciendo doble clic sobre él, pero como aún no tiene ningún contenido verás una página en blanco. En el siguiente paso añadimos entonces un texto de prueba como "This is my first webpage!" ("Esta es mi primera página web"). Guardamos el documento y lo volvemos a abrir. Deberías ver algo así al abrirlo en el ex­plo­ra­dor:

HTML básico: cómo es­tru­c­tu­rar un texto con etiquetas

Así habrás creado una primera página web, incluso sin haber escrito ni una línea de código. Si, de la misma manera, intentas añadir un texto bien ar­ti­cu­la­do con títulos y párrafos, pronto te darás cuenta de que es imposible hacerlo sin etiquetas. Cualquier formato añadido, por ejemplo, con un pro­ce­sa­dor de texto, des­apa­re­ce­rá de la vista en el navegador cuando abras el documento HTML: los puntos aparte des­apa­re­cen, los espacios se eliminan, etc. La solución pasa in­de­fe­c­ti­ble­me­n­te por marcar todos los co­m­po­ne­n­tes formales de texto como tales mediante los elementos es­tru­c­tu­ra­do­res adecuados, que no es otra cosa que ade­n­trar­nos en el mundo de las etiquetas de HTML.

Definir párrafos con la etiqueta

Este elemento, cuya no­me­n­cla­tu­ra proviene del inglés "paragraph" ("párrafo") es necesario para crear se­pa­ra­cio­nes por párrafos. Con la etiqueta de inicio <p> se marca dónde comienza el párrafo y con el de cierre </p> dónde acaba. El texto se escribe entre estas dos etiquetas.

En todas las versiones de HTML, excepto en XHTML, el tag de cierre es opcional, aunque conviene aco­s­tu­m­brar­se a usarlo no solo durante el apre­n­di­za­je sino también porque denota un buen estilo.

Puedes probar a marcar párrafos con la etiqueta <p> en tu página de prueba, añadiendo otra frase ("This is the second paragraph of my first webpage" en este ejemplo o "Este es el segundo párrafo de mi primera página web") a aquella primera y ma­r­cá­n­do­las con la etiqueta, por ejemplo, así:

<p>This is my first webpage!</p>
<p>This is the second paragraph of my first webpage.</p>

Nota: en realidad no sería necesario separar las frases como hemos hecho aquí, ya que al navegador, que solo es capaz de in­te­r­pre­tar las etiquetas, poco le importa cómo lo leamos nosotros. Si se ha escrito así es meramente por una mejor vi­sua­li­za­ción.

Este sería el resultado en la ventana del ex­plo­ra­dor:

Añadir títulos y su­b­tí­tu­los con la etiqueta

Los títulos también se cuentan entre los elementos básicos de un texto bien es­tru­c­tu­ra­do. Gracias a los ma­r­ca­do­res es­tru­c­tu­ra­les no solo puedes señalar un título como tal sino que también tienes la po­si­bi­li­dad de crear una jerarquía de títulos pri­n­ci­pa­les y se­cu­n­da­rios. Para ello cuentas con las etiquetas <h1> hasta <h6>, aunque <h1> re­pre­se­n­ta el titular principal de cada subpágina y solo habría que usarlo una única vez, al contrario que todos los demás a partir de <h2>.

Aquí, es im­po­r­ta­n­te mantener la jerarquía correcta y no utilizar los di­fe­re­n­tes niveles al azar para que tanto el lector como el buscador puedan entender la es­tru­c­tu­ra del texto a partir de los di­fe­re­n­tes títulos.

Para añadirle a esta primera página de prueba un título principal y un título se­cu­n­da­rio puedes utilizar los si­guie­n­tes comandos:

<h1>Main heading: my first webpage</h1>
<p>This is my first webpage!</p>
<h2>Second heading</h2>
<p>This is the second paragraph of my first webpage.</p>

Nota: al tratarse de un documento HTML muy sencillo sin metadatos, algunos na­ve­ga­do­res, como Firefox, no muestran los acentos o ca­ra­c­te­res es­pe­cia­les de forma correcta. Para este test sería re­co­me­n­da­ble utilizar Google Chrome o tra­du­ci­r­los a entidades HTML. En el ex­plo­ra­dor se verá de la siguiente manera:

Destacar palabras o fra­g­me­n­tos de texto: , , y

Entre los elementos básicos de formato de HTML se en­cue­n­tran también aquellas etiquetas que permiten destacar de alguna forma tanto palabras aisladas como frases o fra­g­me­n­tos de texto, con la finalidad de dirigir el foco de atención del lector a elementos clave de contenido o fu­n­cio­na­les y ayudarle a pe­r­ci­bi­r­los. Para acentuar frases, ex­pre­sio­nes técnicas, citas o re­fle­xio­nes en cursiva podemos utilizar las etiquetas <i> (itálica) y <em> (énfasis). No obstante, conviene utilizar con prudencia la cursiva, ya que frena la lectura. Más im­po­r­ta­n­tes son, sin embargo, los elementos <b> (negrita) y <strong> (énfasis fuerte), que destacan en negrita aunque con di­fe­re­n­cias en cuanto a su uti­li­za­ción. La etiqueta <b> debería uti­li­zar­se para marcar aquellos elementos sobre los que se ha de llamar es­pe­cia­l­me­n­te la atención del usuario, mientras que <strong> está prevista para destacar contenido relevante.

Lo veremos ampliando nuestra página de prueba con algunas etiquetas de formato:

<h1>Main heading: <i>my first webpage</i></h1>
<p>This is my<strong>first</strong>first webpage!</p>
<h2>Second heading</h2>
<p>This is the second paragraph of my <em>first webpage</em>.</p>
<p><b>Note</b>:Typical example for the<b>-tag.</p>

Nota: para que el ejemplo de código HTML del pasaje añadido no se muestre como texto plano hemos traducido los corchetes (< y >) como entidades HTML (&lt; y &gt;). Hay que seguir teniendo en cuenta los acentos y otros ca­ra­c­te­res es­pe­cia­les.

Crear listas con las etiquetas , y

No solo a la hora de hacer la compra re­cu­rri­mos a las listas. También en la edición de textos se revelan como un medio muy útil para de­s­co­n­ge­s­tio­nar párrafos y optimizar la lectura. Con HTML se pueden crear listas con o sin nu­me­ra­ción (con viñetas o puntos) con las etiquetas <ol> ("ordered list"=lista ordenada) o <ul> ("unordered list"=lista des­or­de­na­da) re­s­pe­c­ti­va­me­n­te. Para definir los puntos de la lista se utiliza <li>, que solo se puede usar si se combina con las dos etiquetas de listado me­n­cio­na­das.

Ahora podrás probarlo en tu página de prueba:

<ul>
    <li>first unordered-list item</li>
    <li>second unordered-list item</li>
    <li>third unordered-list item</li>
</ul>

Nota: recuerda que puedes escribir el texto que prefieras. En este caso la elección del inglés como idioma de los ejemplos solo tiene motivos edi­to­ria­les.

El resultado debería parecerse a esto:

Si, por el contrario, quieres crear una lista numerada solo hay que cambiar la etiqueta que define el tipo de lista y marcarla como lista ordenada con <ol>:

<ol>
    <li>first ordered-list item</li>
    <li>second ordered-list item </li>
    <li>third ordered-list item </li>
</ol>

Como co­n­se­cue­n­cia, en lugar de las viñetas aparece una lista numerada:

Presentar in­fo­r­ma­ción en tablas: , y

Durante mucho tiempo fue habitual utilizar las tablas de HTML tanto para presentar datos complejos de una forma más sencilla, como también para es­tru­c­tu­rar por entero el diseño de una página web o para su­b­di­vi­dir el texto en varias columnas. Sin embargo, con el aumento de la po­pu­la­ri­dad de CSS este papel extra de las tablas pasó a un segundo plano, de tal modo que hoy las tablas asumen úni­ca­me­n­te la función para lo que fueron pensadas, es decir, la pre­se­n­ta­ción de datos de forma ordenada. Las tablas se componen, por lo menos, de estos tres elementos:

  • <table>: esta etiqueta marca el inicio y el cierre de una tabla en HTML, aunque por sí sola no informa al navegador de aspectos ne­ce­sa­rios para mostrarse como el número de filas o de columnas.
  • <tr>: con el elemento "table row" (fila de la tabla) se añaden tantas filas a la tabla como sea necesario.
  • <td>: las columnas completan la es­tru­c­tu­ra básica de una tabla. Para ello ne­ce­si­ta­mos el tag "table data" (datos de la tabla), que se subordina a una etiqueta <tr>, puesto que, dentro de una fila, se crean varias celdas (una por columna). El contenido de una celda se sitúa entre la etiqueta de inicio <td> y el de cierre </td>.

Creamos a co­n­ti­nua­ción una tabla sencilla para entender la es­tru­c­tu­ra de tabla en HTML. En nuestra prueba se compone úni­ca­me­n­te de una línea y dos columnas:

<table>
    <tr>
        <td>first data field</td>
        <td>second data field</td>
    </tr>
</table>

Al mostrar la vista pre­li­mi­nar en el ex­plo­ra­dor, pronto se detecta que la tabla no se muestra como debería, pues ni se di­s­ti­n­guen las dos columnas ni se reconoce siquiera si se trata de una tabla. La ex­pli­ca­ción es más sencilla de lo que parece y es que, por defecto, las celdas de HTML no tienen borde. Esta ca­ra­c­te­rí­s­ti­ca tan propia de las tablas se marca ampliando la etiqueta <table> con el atributo border y la variable 1, como en nuestro ejemplo:

<table border="1">
    <tr>
        <td>first data field</td>
        <td>second data field</td>
    </tr>
</table>

Abre ahora tu documento HTML en tu navegador y observa la tabla re­su­l­ta­n­te.

Nota: HTML5 ya no soporta el atributo border, una función que ha asumido CSS.

A pesar de su sencillo formato, HTML también permite destacar los títulos de las columnas. Para ello se ha de marcar la fila co­rre­s­po­n­die­n­te con la etiqueta <thead> (table head) y marcar las celdas como <th>. Con este código de abajo diseñas una tabla con cuatro filas, tres columnas y títulos:

<table border="1">
    <thead>
        <tr>
            <th>Column heading 1</th>
            <th>Column heading 2</th>
            <th>Column heading 3</th>
        </tr>
    </thead>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>

Componer la es­tru­c­tu­ra interna de una página web con HTML

En el siguiente capítulo de este tutorial de HTML nos ocupamos de la es­tru­c­tu­ra básica de una página web. Los do­cu­me­n­tos HTML no solo contienen texto, enlaces y otro tipo de contenido como imagen o vídeo, sino también los ya me­n­cio­na­dos metadatos, que revelan al navegador, pero también a los crawlers de los bu­s­ca­do­res, cómo han de leer la página.

Algunos de estos metadatos son in­vi­si­bles al usuario que abre una página, pero otros se muestran en la pestaña del título, en el historial o como titular de los re­su­l­ta­dos del buscador.

Reducido a sus elementos mínimos ne­ce­sa­rios, el código básico de una página de HTML en ca­s­te­llano sería algo así:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="description" content="Here you can find all information about the HTML basic framework">
    <title>Learn HTML: The basic framework</title>
</head>
<body>
</body>
</html>

Un documento HTML se compone, según este ejemplo, de las tres secciones DOCTYPE, head (cabecera) y body (cuerpo del documento), aunque el primero, al tratarse de la de­fi­ni­ción del tipo de documento que viene a co­n­ti­nua­ción, es el único que ha de figurar antes de la etiqueta <html> que encierra el contenido del archivo. DOCTYPE permite indicar a la apli­ca­ción que lee el documento qué estándar ha seguido su pro­gra­ma­dor. En este caso es HTML5, un tipo de documento que cualquier navegador puede reconocer y que permite tanto el uso del código actual como los más antiguos, razón por la cual es co­n­ve­nie­n­te uti­li­zar­lo, en especial si se está apre­n­die­n­do a escribir con HTML.

En la cabecera, enmarcada por la etiqueta <head>, hemos incluido la co­di­fi­ca­ción de ca­ra­c­te­res que ha de usar el navegador (meta charset), la me­ta­de­s­cri­p­ción, relevante para el buscador (meta name="de­s­cri­p­tion") o el título de la página web (title), que aparece en la parte superior del navegador. Además de estos, que aunque op­cio­na­les son muy re­co­me­n­da­bles para favorecer una buena va­lo­ra­ción por parte del buscador, también se pueden añadir numerosos metadatos. La única excepción la co­n­s­ti­tu­ye el elemento <title>, puesto que co­n­s­ti­tu­ye el único obli­ga­to­rio en un documento HTML, junto a la de­fi­ni­ción del tipo de documento. Más tarde se añadirá un vínculo al archivo CSS a la cabecera donde están co­n­te­ni­dos los aspectos de diseño y formato.

La etiqueta <body> marca lo que el navegador ha de mostrar al usuario.

Nota: las etiquetas para la es­tru­c­tu­ra básica de HTML son op­cio­na­les, es decir, podrían, en teoría, no incluirse. En este caso, el navegador crearía de forma au­to­má­ti­ca las etiquetas <html>, <head> y <body> y les su­bo­r­di­na­ría los elementos co­rre­s­po­n­die­n­tes. Sin embargo, lo normal es crearlas. El desglose facilita la le­gi­bi­li­dad del documento, lo cual beneficia es­pe­cia­l­me­n­te a los pri­n­ci­pia­n­tes.

Cómo puedes incluir imágenes, vídeos o gráficos en tu página web

No hay duda que el texto es el co­m­po­ne­n­te principal de cualquier página web, pero estímulos visuales en la forma de imágenes, fotos o gráficos tienen una gran in­flue­n­cia en la ex­pe­rie­n­cia del usuario, lo que las hace im­pre­s­ci­n­di­bles si se aspira a diseñar una buena página. Ha­bi­tua­l­me­n­te se utilizan estos tres formatos, so­po­r­ta­dos por todos los na­ve­ga­do­res:

  • JPG: el formato JPG se utiliza para fotos, o gráficos se­me­ja­n­tes a fo­to­gra­fías, con un fuerte contraste y una gran di­ve­r­si­dad cromática, ya que puede re­pre­se­n­tar más de 16 millones de colores y comprimir co­n­si­de­ra­ble­me­n­te los archivos, aunque vaya ligado a una pérdida de calidad de la imagen.
  • PNG: este es el formato de los gráficos y los logos, ya que puede re­pre­se­n­tar entre 256 (PNG8) y 16,7 millones de colores (PNG24) y, al contrario que JPG, comprime sin pérdida cua­li­ta­ti­va. Como co­n­tra­pa­r­ti­da, el archivo es más grande.
  • GIF: los archivos en formato GIF solo pueden re­pre­se­n­tar 256 colores, aunque son muy uti­li­za­dos en el de­sa­rro­llo web porque permite crear pequeñas ani­ma­cio­nes, elementos de na­ve­ga­ción o gráficos sencillos.

La etiqueta que permite añadir una imagen a un archivo HTML es <img> ("image"=imagen), a la que se añade el di­re­c­to­rio donde está al­ma­ce­na­da la imagen para que el navegador sepa adónde ha de ir a buscarla. Para ello se utiliza el atributo src, del inglés "source" (fuente), así como la ruta del archivo.

Es re­co­me­n­da­ble crear una su­b­ca­r­pe­ta con el nombre "Imágenes" en el di­re­c­to­rio del proyecto que también contiene el documento HTML y guardar en ella todas las imágenes que se vayan a utilizar en la web.

La imagen de ejemplo de nuestro tutorial de HTML se llama grafico1.png y se encuentra en la me­n­cio­na­da carpeta "Imágenes". De este modo, la línea de código que de­be­ría­mos escribir para integrar este elemento visual en la web sería:

<img src="images/graphic1.png" />

Existen otros atributos de imagen, como la anchura (width), la altura (height) o el texto al­te­r­na­ti­vo, cuyo uso es muy re­co­me­n­da­ble. Definir el tamaño de la imagen en anchura y altura permite al navegador reservar un espacio para ella ya durante la carga de la página, de tal forma que, durante ese lapso de tiempo y hasta que esté cargada por completo, puede ir mostrando pa­ra­le­la­me­n­te otros co­n­te­ni­dos menos pesados en la ventana del navegador sin que tenga que concluir el proceso de descarga del archivo de imagen, lo que frenaría la carga de la web en su conjunto.

El atributo alt, por otro lado, permite escribir un texto al­te­r­na­ti­vo para la imagen, que aparece cuando esta no se puede mostrar y que conviene incluir en el re­pe­r­to­rio básico de HTML por tres motivos:

  • Favorece la ac­ce­si­bi­li­dad de la página porque ofrece in­fo­r­ma­ción sobre la fo­to­gra­fía en caso de problemas de vi­sua­li­za­ción.
  • Ayuda a los robots de los bu­s­ca­do­res a cla­si­fi­car la imagen y cuenta como contenido extra para su po­si­cio­na­mie­n­to.
  • Así lo dictan las es­pe­ci­fi­ca­cio­nes de uso de HTML.

Ampliada con estos atributos que hemos me­n­cio­na­do, la frase de código HTML re­su­l­ta­ría así:

<img src="images/graphic1.png" width="960" height="274" alt="Learn HTML: this is how the embedded sample graphic 'click here' appears:" />

Nota: Las variables '960' y '274' para la anchura y la altura co­rre­s­po­n­den, re­s­pe­c­ti­va­me­n­te, a la medida original de la imagen gráfica. El navegador calcula au­to­má­ti­ca­me­n­te su equi­va­le­n­cia en píxeles.

Cómo enlazar páginas y co­n­te­ni­dos: la im­po­r­ta­n­cia de los hi­pe­r­ví­ncu­los

Los hi­pe­re­n­la­ces o hi­pe­r­ví­ncu­los, nombre pro­ce­de­n­te de la voz inglesa "hyperlink" y po­pu­la­r­me­n­te conocidos como "links", son la principal razón del éxito sin pre­ce­de­n­tes de la world wide web y no pueden faltar en un curso de in­tro­du­c­ción a HTML. Sin estas re­fe­re­n­cias ele­c­tró­ni­cas que conducen al usuario de una a otra página o que inician alguna acción, como podría ser la descarga de un documento, no podría existir una in­te­r­co­ne­xión como la que ofrece la red de redes.  Se pueden di­s­ti­n­guir tres tipos de enlace:

  • Internos: los enlaces internos articulan una página web y guían al usuario en su na­ve­ga­ción. Esta es­tru­c­tu­ra interna puede tener diversas formas, desde una lineal, por ejemplo, en la cual el usuario puede ir de una subpágina a otra de la web en un de­te­r­mi­na­do orden, a una de tipo arbóreo, en la que el usuario escoge a dónde ir desde la página principal. También es posible utilizar enlaces internos en una misma página, cuya función podría consistir en dirigir al usuario al principio del texto una vez ha llegado al final.
  • Externos: estos son los vínculos que envían al usuario a otra web y se usan para ofrecerle un valor añadido o re­co­me­n­dar una oferta diferente. En este caso, si se quiere evitar una va­lo­ra­ción negativa en el buscador, conviene evitar un exceso de enlaces externos, así como también hay que controlar re­gu­la­r­me­n­te la calidad del contenido que se enlaza y el propio fu­n­cio­na­mie­n­to del enlace.
  • Otros enlaces: no todos los vínculos enlazan a do­cu­me­n­tos HTML. Algunos también refieren a la descarga de un documento, abren el cliente de correo ele­c­tró­ni­co o activan el visor de PDF.

Enlaces internos: así articulas tu proyecto

Con el tiempo podrás aplicar las nociones ad­qui­ri­das en este curso de HTML en la es­tru­c­tu­ra­ción de proyectos más complejos, pero antes co­me­n­za­re­mos enlazando dos páginas. Será necesario que crees otra página que puedas enlazar a aquella primera test.html. Esta nueva página ha de tener un nombre diferente, ta­r­ge­t­pa­ge.html ("página objetivo"), por ejemplo, y ha de guardarse en el mismo di­re­c­to­rio que la primera.

Para generar un vínculo se utiliza la etiqueta de HTML <a>, que deriva de "anchor", ancla en ca­s­te­llano, y cuya función es si­m­ple­me­n­te indicar que la in­fo­r­ma­ción enmarcada es un enlace. Esto hace que siempre necesite un atributo, href (hi­per­re­fe­re­n­cia), que señale a dónde dirige en enlace. El texto del enlace que el navegador muestra por defecto en azul y subrayado se escribe enmarcado en la etiqueta <a>.

In­clu­ye­n­do la siguiente línea de código en la página de prueba la enlazamos a la segunda página (target page):

<a href="targetpage.html">Jump to target page</a>

Si el hi­pe­r­ví­ncu­lo funciona co­rre­c­ta­me­n­te debería abrirse una página vacía, ya que aún no se ha realizado ninguna acción en esta segunda página. En el siguiente paso incluimos en esta nueva página otro enlace interno que redirija a la original (previous page):

<a href="test.html">Back to previous page</a>

Nota: si la página a enlazar no se encuentra en el di­re­c­to­rio principal hay que indicar la ruta que lleva a la su­b­ca­r­pe­ta donde está guardada, su­b­ca­r­pe­ta/ta­r­ge­t­pa­ge.html. En el enlace a la primera habría que indicar también la su­b­ca­r­pe­ta y la página: <a href="https://www.ionos.es/digitalguide/../test.html">.

Enlazar a co­n­te­ni­dos externos

Para crear un enlace externo en una página no se necesita una etiqueta diferente, pero tampoco es necesario saber en qué di­re­c­to­rio se encuentra la página a enlazar, puesto que referir a un contenido ajeno solo requiere conocer la dirección web completa o URL donde se encuentra, que ya contiene toda la in­fo­r­ma­ción necesaria. No obstante, como este contenido no reside en tu propio servidor web no tienes ningún tipo de in­flue­n­cia en la calidad del enlace, por lo que se hace necesaria una revisión regular.

Es im­po­r­ta­n­te invertir tiempo en la redacción de un texto preciso y atractivo para el enlace, puesto que palabras vacías como "aquí" pro­po­r­cio­nan al usuario muy poca in­fo­r­ma­ción sobre lo que va a encontrar si hace clic en él.

Prueba incluir un enlace externo en tu página con la siguiente línea de código, que genera un vínculo a nuestra Guía Digital:

<p>HTML tutorial and numerous guides on the topic of websites, hosting, and much more at
<a href="https://www.ionos.com/digitalguide">IONOS Digital Guide</a>
</p>

Estos hi­pe­r­ví­ncu­los alejan a tus visitas de tu página y aunque pueden regresar pulsando el botón de "vuelta atrás" del navegador (←) no se puede confiar en que lo hagan. Existe, no obstante, la po­si­bi­li­dad de que la página enlazada se abra au­to­má­ti­ca­me­n­te en una pestaña o una ventana nueva, de modo que la primera página (tu página) se mantenga abierta: el atributo target describe en donde se ha de abrir el documento enlazado y con la variable _blank (en blanco) se es­pe­ci­fi­ca su apertura en una nueva ventana.

Esto se escribe de la siguiente forma:

<a href="https://www.ionos.com/digitalguide" target="_blank">IONOS Digital Guide</a>

La recta final: lanzar la página online

En esta in­tro­du­c­ción a HTML, hemos visto cómo crear y enlazar dos do­cu­me­n­tos HTML, sin embargo, solo has podido ver estas páginas en tu navegador. Si quieres mo­s­trár­se­las a otras personas verás que no es posible, porque tanto las hojas de HTML, como las imágenes que has incluido en ellas, se en­cue­n­tran lo­ca­li­za­dos en tu ordenador, por lo que no se pueden entregar al navegador que hace la petición. Si quieres mostrar al mundo tus logros has de registrar el proyecto en la red y contratar el servicio de alo­ja­mie­n­to más adecuado para tu proyecto. El primer paso consiste en encontrar un dominio (dirección web) para el proyecto y re­gi­s­trar­lo en un proveedor de Internet como IONOS, que ofrece un servicio online de registro de dominios. Una vez hecho esto, el siguiente paso consiste en pro­po­r­cio­nar el fu­n­da­me­n­to más adecuado al proyecto in­s­ta­la­n­do y co­n­fi­gu­ra­n­do un servidor web propio o al­qui­lá­n­do­lo en un proveedor de alo­ja­mie­n­to web, siendo esta última, la opción más indicada para aquellos con menos ex­pe­rie­n­cia. Al­qui­la­n­do un servidor web evitas ocuparte tú mismo de la selección, la in­s­ta­la­ción y el ma­n­te­ni­mie­n­to del software para el servidor, pudiendo escoger el paquete que garantiza el espacio de al­ma­ce­na­mie­n­to que necesita tu proyecto. Fi­na­l­me­n­te, se han de subir los do­cu­me­n­tos HTML que componen tu web al espacio web que tienes a tu di­s­po­si­ción. Para ello necesitas un programa de tra­n­s­fe­re­n­cia de archivos o FTP (File Transfer Protocol). Este programa cliente permite in­te­r­ca­m­biar datos con el servidor FTP de tu proveedor mediante el protocolo que le da nombre. En este artículo de nuestra guía pre­se­n­ta­mos una excelente selección de programas FTP. Toda la in­fo­r­ma­ción que necesites para acceder al servidor FTP, así como otro tipo de in­di­ca­cio­nes o in­s­tru­c­cio­nes, la pro­po­r­cio­na el proveedor donde alquilas el espacio web. Ten en cuenta que al subir los do­cu­me­n­tos al servidor FTP la es­tru­c­tu­ra de archivos no se ve mo­di­fi­ca­da, por lo que merece la pena cuidar este aspecto desde el principio.

CSS y Ja­va­S­cri­pt: por qué HTML solo es el comienzo

A lo largo de nuestro curso de HTML básico hemos me­n­cio­na­do que si bien este lenguaje co­n­s­ti­tu­ye el fu­n­da­me­n­to de toda página web, su papel en el de­sa­rro­llo web moderno ya no incluye tareas de diseño visual, labor que recae en el lenguaje de hojas de estilo CSS o Cascading Style Sheets. CSS permite definir el color de los distintos elementos de una página, su co­m­po­si­ción básica o el formato de los pasajes de texto, de los títulos o de otros elementos de contenido, otorgando a las páginas un aspecto visual atractivo y co­n­te­m­po­rá­neo. Esta estricta se­pa­ra­ción entre contenido (código) y diseño facilita eno­r­me­me­n­te el análisis y el ma­n­te­ni­mie­n­to de los proyectos más complejos. Todo esto hace que sea necesario ocuparse de este lenguaje web una vez ya fa­mi­lia­ri­za­dos con HTML.

Aún no hemos me­n­cio­na­do otro co­m­po­ne­n­te básico del diseño web moderno como Ja­va­S­cri­pt, con cuya ayuda se incluyen elementos dinámicos en las páginas en HTML que permiten a los usuarios in­ter­ac­tuar con la página. Estos pueden ser galerías de imágenes, menús de na­ve­ga­ción dinámicos o la descarga de datos externos.

En cua­l­quie­ra de los casos, los de­sa­rro­lla­do­res web cuentan con un re­pe­r­to­rio de fra­g­me­n­tos de código o code snippets que se pueden integrar fá­ci­l­me­n­te en las hojas HTML. Aun así, es re­co­me­n­da­ble de­sa­rro­llar un cierto grado de co­m­pre­n­sión básica de ambos lenguajes de pro­gra­ma­ción para im­ple­me­n­tar­los co­rre­c­ta­me­n­te o saber encontrar el error en caso de problemas.

Ir al menú principal