Diseño de Páginas Web en HTML
Diseño de Páginas Web en HTML
HTML
Módulo Profesional:
Lenguajes de marcas y sistemas de gestión de la
información
1
Índice
1. LOS LENGUAJES DE MARCAS............................................................ 5
1.1 Editores de texto para código html ............................................... 5
2. ESTRUCTURA DE HTML .................................................................... 7
2.1 Partes de un documento HTML ..................................................... 8
2.2 Evolución de HTML .................................................................... 10
3. ELEMENTOS, ETIQUETAS Y ATRIBUTOS ............................................ 12
3.1 Caracteres especiales................................................................. 14
3.2 Espacios, tabuladores y saltos de línea ......................................... 15
4. ELEMENTOS HTML DE LA CABECERA ................................................ 17
5. ELEMENTOS HTML DEL CUERPO ....................................................... 19
5.1 Párrafos ................................................................................... 20
5.2 Títulos de encabezado ................................................................ 22
5.3 Líneas horizontales .................................................................... 24
5.4 Negrita, cursiva, subrayado y tachado ......................................... 25
5.5 Texto preformateado ................................................................. 27
5.6 Citas textuales .......................................................................... 28
5.7 Superíndices y subíndices ........................................................... 28
5.8 Hipervínculos, enlaces o hiperenlaces........................................... 29
5.8.1 Enlaces absolutos ................................................................ 31
5.8.2 Enlaces relativos .................................................................. 33
5.8.3 Enlaces internos .................................................................. 35
5.8.4 Enlaces a otros elementos..................................................... 38
5.9 Listas ....................................................................................... 42
5.9.1 Listas desordenadas ............................................................. 42
5.9.2 Listas ordenadas o numeradas .............................................. 45
5.9.3 Listas de descripción ............................................................ 48
5.10 Imágenes ............................................................................... 49
5.10.1 Formatos gráficos en la web ................................................ 49
5.10.2 Insertando imágenes .......................................................... 51
5.10.3 Alineación de imágenes....................................................... 56
5.10.4 Bordes en imágenes ........................................................... 59
2
5.10.5 Márgenes en imágenes ....................................................... 61
5.10.6 Usando imágenes como enlaces ........................................... 63
5.11 Tablas .................................................................................... 64
5.11.1 Espaciado en tablas ............................................................ 70
5.11.2 Títulos y encabezados de tablas ........................................... 72
5.11.3 Imágenes en tablas ............................................................ 75
5.11.4. Dimensionado de tablas ..................................................... 77
5.11.5 Alineación de celdas ........................................................... 80
5.11.6 Tablas con secciones .......................................................... 82
5.12 Fondos ................................................................................... 84
5.12.1 Fondos de tablas ................................................................ 89
5.13 Fuentes .................................................................................. 90
5.14 Frames (marcos) ..................................................................... 92
5.15 Iframes (frames en línea o flotantes) ........................................ 95
5.16 Applets de Java y controles ActiveX ........................................... 98
5.17 Audio ................................................................................... 100
5.18 Vídeo ................................................................................... 103
5.19 Formularios........................................................................... 105
6. LA WEB SEMÁNTICA ..................................................................... 112
6.1 Etiquetas semánticas en HTML5 ................................................ 112
6.1.1. Etiquetas para estructura ................................................... 113
6.1.2 Etiquetas para contenido .................................................... 113
6.1.3 Etiquetas para resaltar contenido ......................................... 114
6.1.4 Otras etiquetas .................................................................. 115
7. COMPOSICIÓN DE PÁGINAS WEB ................................................ 115
7.1 Estructura interna de una página ............................................... 115
7.2 Información ............................................................................ 117
7.3 Composición ........................................................................... 118
RESUMEN FINAL .............................................................................. 121
3
RESUMEN INTRODUCTORIO
INTRODUCCIÓN
Este lenguaje, está compuesto por etiquetas, por lo que para poder crear
páginas web, será necesario estudiar cada una de estas etiquetas, así como
la forma de estructurarlas. Asimismo, cada una de estas etiquetas pueden
personalizar su comportamiento mediante atributos, lo cual dotará de
mayor potencia al lenguaje.
CASO INTRODUCTORIO
4
1. LOS LENGUAJES DE MARCAS
Por supuesto, al igual que sucede con el lenguaje usado para comunicarse
en cualquier idioma, será necesario establecer una serie de reglas que le
den validez. No obstante, la sintaxis será mucho más sencilla que la de un
idioma.
Antes de empezar a crear las primeras páginas, es necesario saber con qué
herramienta se puede hacer. Al contrario de lo que sucede con los lenguajes
de programación, no es necesario usar un entorno específico de desarrollo,
basta con usar un editor de textos.
5
Los usuarios de Macintosh pueden usar un editor de texto llamado
SimpleText, que además permite colorear la edición del texto, dando
puntos de referencia a las etiquetas.
6
Bluefish es un editor HTML multiplataforma, que se puede descargar de la
siguiente página Web: http://bluefish.openoffice.nl/index.html
2. ESTRUCTURA DE HTML
7
A estas mismas etiquetas, se les puede añadir una barra (/) tras el símbolo
de menor, convirtiéndolas así en etiquetas de cierre. En los ejemplos
anteriores, serían </p> y </b>. A partir de estas etiquetas de cierre, las
correspondientes etiquetas de apertura pierden vigencia, dejando así de
afectar al texto:
8
<html>
<head>
<title>Cesur</title>
<!--Etiquetas y contenidos de la cabecera.
Datos que no aparecen en la página pero que son importantes
para catalogarla: Titulo, palabras clave,...-->
</head>
<body>
<!-- Etiquetas y contenidos del cuerpo.
Parte del documento que será mostrada por el navegador: Texto e
imágenes-->
</body>
</html>
Este ejemplo, puede servir también para ver cómo incluir comentarios en el
archivo HTML. Tan sólo se trata de escribir el texto que interese entre las
etiquetas <!-- y -->. Su función es la de poder añadir texto que no será
interpretado por los navegadores, y por tanto no aparecerá por pantalla.
Como se ha comentado anteriormente, HTML ha ido evolucionando con el
tiempo, dando lugar a diferentes versiones, cada una con soporte para unas
u otras etiquetas, si bien, la estructura que se acaba de presentar es común
para todas. No obstante, resulta importante para el navegador conocer qué
versión de HTML usa la página que está leyendo, ya que ello podrá
determinar si la sintaxis del documento es válida o no. Para eso, se debe
usar el elemento DOCTYPE.
9
Frameset: una variante de transitional pero para usar páginas con
marcos.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
"http://www.w3.org/TR/REC-html40/frameset.dtd">
EJEMPLO PRÁCTICO
Aunque HTML nace en 1991, el primer estándar oficial aparece en 1995 con
el nombre de HTML 2.0. No obstante, ni este ni el posterior estándar
aparecido en 1997 (HTML 3.2) tuvieron tanta importancia como HTML 4.0,
aparecido en 1998 y, su actualización, HTML 4.01 (1999).
10
En el año 2000, W3C (World Wide Web Consortium), el organismo
encargado de elaborar estos estándares, publica XHTML 1.0, que en
realidad se trata de una adaptación de la versión 4 de HTML a la
especificación XML, de forma que cumpla con unas especificaciones más
estrictas y permita la extensión del lenguaje.
Desde ese momento, tanto HTML 4 como XHTML han sido los estándares
más ampliamente utilizados para la creación de páginas web hasta la
aparición de la versión 5.
<html xmlns="http://www.w3.org/1999/xhtml">
11
<!DOCTYPE html>
12
Por otro lado, cada uno de los elementos puede tener una serie de
propiedades que se denominan atributos, y se declaran en la etiqueta de
apertura de dicho elemento, asignándoles un valor entre comillas (simples o
dobles), de la forma: atributo="valor". Todos los atributos deben escribirse
separados tanto de la etiqueta como de otros atributos.
Los atributos admitidos y el valor que se le puede dar a cada uno de ellos
vendrá determinado por la especificación de la versión de HTML que se esté
usando, siendo posibles valores de tipo textual o numérico. Éstos últimos,
pueden aparecer en diferentes bases (decimal, hexadecimal…) y con
diferentes unidades (sin unidades, en píxeles, en porcentajes…).
Cada etiqueta puede tener unos posibles atributos, según viene dado en la
especificación de la versión de HTML correspondiente. Eso sí, no todos los
atributos admitidos en versiones anteriores, se admiten en las posteriores,
como es el caso de los atributos relativos a la presentación, como se verá
más adelante.
13
No obstante, es importante saber que la validez de estas etiquetas cambia
según la versión de HTML o XHTML que se esté usando, lo que puede
inducir a error en algunos casos.
NOTA DE INTERÉS
Hay caracteres que no se pueden escribir tal cual en código HTML, unos por
coincidir con las etiquetas (como <, > y &), otros por no aparecer en la
codificación básica ASCII (las letras con tilde, las eñes), etc...
14
Por ejemplo, para mostrar por pantalla la etiqueta <body>, se debe
escribir: <body> o, de forma equivalente: <body>
https://eu.awp.autotask.net/2/filelink/408ad-32f77676-
58a507c74b-2
15
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html>
<head>
<title>espacios</title>
</head>
<body>
<p> Esta es mi página WEB</p>
<p>Esta es mi página WEB</p>
</body>
</html>
Para que se vean las dos frases de forma diferente, como en el propio
archivo html, habrá que escribir:
<!DOCTYPE html>
<html>
<head>
<title>espacios</title>
</head>
<body>
<p> Ésta es mi
página WEB</p>
<p>Esta es mi página WEB</p>
</body>
</html>
16
Para conseguir saltos de línea, se debe usar la etiqueta <br> (no lleva
etiqueta de cierre). No obstante, se debe tener en cuenta que otros
elementos pueden generar por sí mismos saltos de línea, como los párrafos
y encabezados.
- <meta>: sirve para declarar meta etiquetas, que se utilizan para definir
propiedades del documento como la descripción, palabras clave, autor, etc.
Se usa sin etiqueta de cierre.
17
viewport: para presentación en distintas pantallas, como se verá
posteriormente.
- <link>: para enlazar con archivos externos. Se suele utilizar para hojas
de estilo. No lleva etiqueta de cierre.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>Cesur</title>
<meta charset="utf-8">
<meta name="description" content="Web de Cesur">
<meta name="author" content="Pablo">
</head>
<body>
<!--Aquí va lo que se mostrará en pantalla del documento HTML-->
</body>
</html>
18
5. ELEMENTOS HTML DEL CUERPO
<etiqueta style="propiedad1:valor1,propiedad2:valor2,…">
ENLACE DE INTERÉS
https://www.w3schools.com/tags/default.asp
19
5.1 Párrafos
<p align="left">
Se debe escribir:
<p style="text-align:left">
20
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>parrafos</title>
<meta charset="utf-8">
</head>
<body>
<p style="text-align:left"> Para alinear el texto con el margen
izquierdo.</p>
<p style="text-align:center"> Para centrar el texto.</p>
<p style="text-align:right"> Para alinear el texto con el margen
derecho.</p>
<p style="text-align:justify">Para alinear el texto a los dos
márgenes se debe utilizar la propiedad text-align con el valor
justify, que significa texto justificado. Es necesario incluir varias
líneas de texto para ver el efecto. Por eso este párrafo es más largo
que los tres escritos anteriormente. Se puede observar cómo el
navegador varía el tamaño de los espacios en blanco de cada línea,
para conseguir que todas ellas queden alineadas a ambos márgenes</p>
</body>
</html>
21
NOTA
Sirven para poner títulos en las páginas. Usan las etiquetas <hx> y
</hx>, donde x es un número del 1 al 6.
Es importante tener en cuenta que estos números no tienen nada que ver
con el número de píxeles de la fuente ni con los números de la antigua
etiqueta <font>. Cuanto menor sea el número, mayor será la importancia
del título y por tanto su tamaño. El que corresponde al tamaño estándar del
texto es h3.
22
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<html>
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<h1>Prueba1</h1>
<h2>Prueba2</h2>
<h3>Prueba3</h3>
<h4>Prueba4</h4>
<h5>Prueba5</h5>
<h6>Prueba6</h6>
</body>
</html>
23
5.3 Líneas horizontales
Son líneas que se usan para separar secciones de texto. Se usa la etiqueta
<hr>, sin etiqueta de cierre. Por defecto, la línea ocupará todo el ancho de
la página o el bloque en el que se encuentre.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<h1>Prueba1</h1>
<hr style="width:75%">
<h2>Prueba2</h2>
</body>
</html>
24
<!DOCTYPE html>
<html lang="es">
<head>
<title>Hola Mundo</title>
<meta charset="utf-8">
</head>
<body>
<hr style="height:3px">
</body>
</html>
25
Es posible realizar varios de estos efectos al mismo tiempo sobre un texto.
Para ello, se deben anidar las etiquetas, abriendo varias seguidas y después
cerrándolas, teniendo cuidado de no cerrar etiquetas dejando otras abiertas
en el interior. Es decir, se deben cerrar las etiquetas en el orden inverso al
que fueron abiertas. Por ejemplo, escribiendo
<b><i><u><s>texto</s></u></i></b>, se mostraría la palabra texto en
negrita, cursiva, subrayada y tachada.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<b>negrita</b><br>
<i>cursiva</i><br>
<u>subrayado</u><br>
<s>tachado</s><br>
<b><i><u><s>anidando etiquetas</s></u></i></b>
</body>
</html>
Hay otras etiquetas que se usan a menudo para conseguir estos mismos
efectos:
26
<strike> (obsoleta) y <del>, que por defecto aparecen como texto
tachado.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>Ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<pre>
Hola
Esto es una prueba del texto preformateado
</pre>
</body>
</html>
27
5.6 Citas textuales
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>Ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<p>Hola</p>
<blockquote>Esto es una cita textual</blockquote>
</body>
</html>
28
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
E=mc<sup>2</sup><br>
<br>
H<sub>2</sub>SO<sub>4</sub>
</body>
</html>
Cualquiera de estos tres nombres son los que se pueden utilizar para
denominar a los elementos que conectan unas páginas con otras. Los
enlaces son uno de los pilares sobre los que se construyó la Web. Mediante
ellos se consigue relacionar unos documentos con otros, en lugar de ser
simples documentos aislados.
29
este texto o imagen, el navegador accederá al contenido apuntado por
dicho enlace.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Pulsa <a href="http://www.microsoft.com">aquí</a> para ir al sitio
web de Microsoft
</body>
</html>
30
Sus posibles valores son:
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Pulsa <a href="http://www.microsoft.com" target="_blank">aquí</a>
para ir al sitio web de Microsoft
</body>
</html>
31
Si sólo se especifica el nombre del dominio en lugar de una página concreta
dentro de la web, el navegador accederá a la página inicial por defecto del
sitio web. Esta página viene determinada por la configuración del servidor
web y suele ser index.html o similar.
Los enlaces absolutos son fundamentales para enlazar webs ajenas o sitios
que están hospedados en otros servidores. El caso anterior del enlace a
Microsoft sería un ejemplo de enlace absoluto.
Si se desea acceder a una página específica dentro del sitio web, se añadirá
el nombre de la carpeta seguido por el nombre de la página separados por
barras inclinadas: /
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<a href=" http://www.microsoft.com/es-es/sitemap.aspx ">Mapa de la
web</a> de Microsoft
</body>
</html>
Este enlace, pues, lleva a una página concreta de un sitio web más grande.
32
5.8.2 Enlaces relativos
Si se desea enlazar una página con otra dentro de un mismo sitio web y
ambas residen en el mismo directorio, se debe poner directamente el
nombre del documento como valor de href.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Pulsa <a href="intro.htm">aquí</a> para ir a la introducción del
curso de HTML
</body>
</html>
33
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Pulsa <a href="ejemplos/ej1.htm">aquí</a> para ver un ejemplo
</body>
</html>
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Pulsa <a href="../index.htm">aquí</a> para volver a la página
principal
</body>
</html>
34
Estos dos últimos casos vistos pueden combinarse.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Pulsa <a href="../pruebas/prueba1.htm">aquí</a> para ver el primer
ejemplo
</body>
</html>
35
Es importante saber que los identificadores de los elementos deben ser
únicos, por lo que no pueden definirse varios id con el mismo nombre en la
misma página.
Por ejemplo:
<a href="#principio">principio</a>
https://www.w3.org/wiki/Html/Attributes/_Global
36
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<h1 id="principio">CESUR</h1>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
Pulsa para volver al <a href="#principio">principio</a>
</body>
</html>
37
con la ventaja de no tener que cargar una nueva página. No obstante, esta
técnica debe emplearse con precaución, ya que no es conveniente que una
misma página contenga mucha información, puesto que aumentará el
tiempo de carga y también puede resultar incómoda para el usuario, que
debe usar continuamente la barra de desplazamiento.
NOTA DE INTERÉS
<p id="Principio"></p>
<p id="principio"></p>
38
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Descarga este <a href="http://www.cesur.com/ASIR.zip">archivo</a>
</body>
</html>
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Descarga este <a href="archivo.zip">archivo</a>
</body>
</html>
39
del propietario. Puede hacerse mediante la etiqueta <a> y una referencia
conocida como naukti.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Pulsa <a href="mailto:[email protected]">aquí</a>
para enviar un correo.
</body>
</html>
40
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<a href="mailto:[email protected]?subject=Consulta
de notas">Email notas</a>
</body>
</html>
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Pulsa <a
href="msnews.microsoft.com:microsoft.public.es.windows">aquí </a>para
ir al grupo de noticias de Windows.
</body>
</html>
41
- Enlaces a protocolos de internet
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<a href="ftp://ftp.rediris.es/debian/tools/loadlin.exe">Descarga
Loadlin para debian</a>
</body>
</html>
5.9 Listas
Las listas desordenadas son aquellas en las que no importa el orden de los
elementos, por lo que no llevarán numeración. La etiqueta usada es <ul>,
con etiqueta de cierre </ul>, para la lista, y la etiqueta <li> para cada
uno de los elementos de la lista. Por tanto, quedaría de la siguiente forma:
<ul>
<li>Elemento</li>
…
</ul>
42
Es posible controlar la forma de la viñeta que antecede a cada elemento de
la lista. Para ello, no se debe usar el atributo obsoleto type sino la
propiedad de estilo list-style-type.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<ul style="list-style-type:square">
<li>Elemento 1</li>
<li>Elemento 2</li>
<li>Elemento 3</li>
</ul>
</body>
</html>
43
Es posible anidar las listas, incluyendo una dentro de otra.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<ul>
<li>Elemento 1
<ul>
<li>Elemento 1.1</li>
<li>Elemento 1.2</li>
<li>Elemento 1.3</li>
</ul>
</li>
<li>Elemento 2</li>
<li>Elemento 3</li>
</ul>
</body>
</html>
44
También se puede cambiar el tipo de símbolo, elemento por elemento. Para
ello, se debe especificar la propiedad list-style-type para cada elemento en
lugar de para la lista:
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<ul>
<li style="list-style-type:square">Elemento 1</li>
<li style="list-style-type:circle">Elemento 2</li>
<li style="list-style-type:disc">Elemento 3</li>
</ul>
</body>
</html>
45
<ol>
<li>Elemento</li>
…
</ol>
1 = Decimal (1,2,3,4...).
a = Letras minúsculas (a,b,c,d...).
A = Letras mayúsculas (A,B,C,D...).
i = Números romanos en minúsculas (i.ii,iii,iv,v...).
I = Números romanos en mayúsculas (I,II,III,IV,V...).
Estas listas también pueden anidarse, al igual que las listas desordenadas.
46
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<ol type="i">
<li>Elemento 1</li>
<li>Elemento 2</li>
<li>Elemento 3</li>
</ol>
</body>
</html>
47
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<ol>
<li value="10">Este elemento está numerado como 10</li>
<li>Elemento siguiente</li>
<li>Otro elemento más</li>
</ol>
</body>
</html>
48
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<dl>
<dt>Elemento 1</dt>
<dd>Descripción del elemento 1</dd>
<dt>Elemento 2</dt>
<dd>Descripción del elemento 2</dd>
<dt>Elemento 3</dt>
<dd>Descripción del elemento 3</dd>
</dl>
</body>
</html>
5.10 Imágenes
49
- GIF
Hay que mencionar que existen varios formatos de GIF: el 87a y el 89a. El
primero no soporta transparencias y el segundo sí, por lo que es
conveniente usar éste último. Los dos soportan entrelazado.
- GIF ANIMADOS
- JPEG
- PNG
Formato diseñado para solucionar las limitaciones del GIF, como el número
de colores. Se trata de un formato comprimido sin pérdida, que además
50
soporta transparencias. Actualmente, es recomendable usar este formato en
lugar del GIF.
<img src="imagen.gif">
<img src="imagenes/imagen.gif">
Al igual que se vio para el caso de los enlaces, otra alternativa es usar
direcciones absolutas. Para ello, se especifica la ruta completa del archivo.
Por ejemplo:
<img src="/www/imagenes/imagen.gif">
51
usado por sistemas accesibles o buscadores. Será la descripción que
muestre el navegador al colocar el ratón encima de la imagen:
<img src="imagenes/gato.gif" alt="gato persa">
52
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<img src="playa.jpg" alt="playa" width="480" height="268">
</body>
</html>
53
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<img src="playa.jpg" alt="playa" width="240">
</body>
</html>
54
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<img src="playa.jpg" alt="playa" width="100" height="200">
</body>
</html>
Es importante tener en cuenta que estos tamaños son los que se usan para
mostrar la imagen, pero no intervienen en la descarga de las imágenes que
se realiza al cargar la página. Es decir, todas las imágenes se descargan tal
cual estén almacenadas en el servidor y luego se escalan a la hora de
mostrarse en el navegador. Por tanto, si, por ejemplo, se quiere crear una
galería de imágenes con miniaturas que mostrarán la imagen ampliada tras
pulsar sobre ellas, no se debe usar la misma imagen para mostrar las
miniaturas, ya que se tendrían que cargar las imágenes completas
igualmente. Para estos casos en los que se muestre la misma imagen en
varios tamaños, lo que se hace es almacenar estos diferentes tamaños (o
varios de ellos) como archivos distintos. En el ejemplo, se guardarían las
miniaturas, que serían las que se mostrarían en la galería de imágenes, y
55
las imágenes originales, que serían las que se mostrarían tras pulsar sobre
una miniatura.
56
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body style="line-height:200px">
<img src="playa.jpg" width="200" height="100" alt="playa"
style="vertical-align:top">
<img src="playa.jpg" width="200" height="100" alt="playa"
style="vertical-align:middle">
<img src="playa.jpg" width="200" height="100" alt="playa">
style="vertical-align:bottom">
</body>
</html>
Las imágenes son elementos en línea (inline), por lo que pueden tener otros
elementos a su alrededor que adaptarán su espacio al hueco dejado por la
imagen. Es el caso de las columnas de texto a un lado de la imagen. Para
57
ello, se debe alinear la imagen a un lado, pero sin que esta alineación afecte
al texto del párrafo. Esto se consigue mediante lo que se denomina
imágenes flotantes.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<img src="playa.jpg" width="480" height="268" alt="playa"
style="float:left">
</body>
</html>
58
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<img src="playa.jpg" width="480" height="268" alt="playa"
style="float:right">
</body>
</html>
59
border: ancho estilo color
Donde:
ancho: el ancho del borde en píxeles u otras unidades.
estilo: define si la línea de borde será continua (solid), punteada
(dotted), etc.
color: el color del borde, especificado textualmente, en rgb,
hexadecimal, etc.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<img src="playa.jpg" width="480" height="268" style="border:8px
solid black">
</body>
</html>
60
5.10.5 Márgenes en imágenes
Al igual que ocurre con el borde, los atributos hspace y vspace quedaron
obsoletos y ya no están admitidos, pero conseguir los márgenes resulta tan
sencillo como usar la propiedad de estilo margin. Su sintaxis es la
siguiente:
margin: margen-superior margen-derecho margen-inferior margen-
izquierdo
Siendo estos 4 valores números que especifican los márgenes a cada uno
de esos lados, en píxeles o cualquier otra unidad admitida.
Por ejemplo: margin: 1px 1px 1px 1px
61
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Texto al lado de la imagen<img src="playa.jpg" width="240"
alt="playa">
</body>
</html>
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Texto al lado de la imagen<img src="playa.jpg" width="400"
height="200" style="margin:0px 20px" alt="playa">
</body>
</html>
62
Y si el margen es horizontal, quedaría:
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Texto al lado de la imagen<img src="playa.jpg" width="400"
height="200" style="margin:20px 0px" alt="playa">
</body>
</html>
63
Basta con incluir la etiqueta <img> dentro del contexto de la etiqueta <a>.
De esta forma, al hacer clic sobre la imagen, saltará al documento con el
que se haya enlazado mediante enlace absoluto o relativo.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<p>Pulsa sobre la imagen para acceder a la página:</p>
<a href="vacacciones.htm"><img src="playa.jpg" width="240"
alt="playa"><a>
</body>
</html>
5.11 Tablas
64
Las tablas sirven fundamentalmente para colocar de una forma ordenada
cualquier elemento, desde textos hasta imágenes. En los inicios de HTML,
fueron muy utilizadas para maquetar, debido a la facilidad para disponer
elementos en la página siguiendo un determinado esquema. Hoy día, sin
embargo, no deben usarse para maquetar, sino sólo con la función
habitual de una tabla, es decir, la de presentar información. Los motivos
son múltiples: mayor accesibilidad, adaptabilidad, separación de contenido
y presentación, etc.
La etiqueta que define una tabla es <table>, con cierre </table>. Dentro
de su ámbito, es necesario definir filas y columnas. Dicha tarea se realiza
con la etiqueta <tr> para las filas y <td> para las celdas, es decir, lo que
serían las columnas dentro de cada fila. Sus cierres no son obligatorios,
pero sí convenientes. Se realizan con </tr> y </td>, respectivamente.
Lo primero que deben definirse son las filas, por lo que habrá que escribir
tantos pares <tr></tr> como filas se quiere que tenga la tabla. Luego,
dentro de cada elemento tr, habrá que añadir tantos pares <td></td>
como columnas se quieran definir. Lo habitual será incluir el mismo número
de elementos td en cada uno de los elementos tr.
65
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table>
<tr>
<td>00</td>
<td>01</td>
</tr>
<tr>
<td>10</td>
<td>11</td>
</tr>
</table>
</body>
</html>
66
Lo más habitual es aplicarlo tanto a la tabla, para poner un recuadro
alrededor de ella, como a cada una de las celdas, para separar sus
contenidos:
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<tr>
<td style="border:1px solid black">00</td>
<td style="border:1px solid black">01</td>
</tr>
<tr>
<td style="border:1px solid black">10</td>
<td style="border:1px solid black">11</td>
</tr>
</table>
</body>
</html>
67
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table>
<tr>
<td>00</td>
<td>01</td>
</tr>
<tr>
<td>10</td>
</tr>
</table>
</body>
</html>
Lo normal, será hacer que el hueco libre quede ocupado por una de las
celdas adyacentes, es decir, crear celdas que ocupen más de una columna o
más de una fila. Mediante el atributo colspan, se puede conseguir que la
celda ocupe más de una columna y mediante rowspan, que ocupe más de
una fila.
Su sintaxis es:
colspan="x", siendo x el número de columnas que abarcará la
celda.
68
rowspan="x", donde x es el número de filas que abarcará la celda.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<tr>
<td colspan="2" style="border:1px solid black">Celda
abarcando</td>
</tr>
<tr>
<td style="border:1px solid black">00</td>
<td style="border:1px solid black">01</td>
</tr>
<tr>
<td style="border:1px solid black">10</td>
<td style="border:1px solid black">11</td>
</tr>
</table>
</body>
</html>
69
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<tr>
<td rowspan="2" style="border:1px solid black">Celda
abarcando</td>
<td style="border:1px solid black">a</td>
<td style="border:1px solid black">b</td>
</tr>
<tr>
<td style="border:1px solid black">c</td>
<td style="border:1px solid black">d</td>
</tr>
</table>
</body>
</html>
Es posible separar unas celdas de otras, así como el contenido con respecto
al borde de la propia celda. Para ello, no se deben emplear los atributos no
admitidos de table: cellspacing (espaciado entre celdas) y cellpadding
(margen interno de la celda), sino que se deben usar propiedades de estilo.
70
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black;border-spacing:25px">
<tr>
<td style="border:1px solid black">00</td>
<td style="border:1px solid black">01</td>
</tr>
<tr>
<td style="border:1px solid black">10</td>
<td style="border:1px solid black">11</td>
</tr>
</table>
</body>
</html>
71
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<tr>
<td style="border:1px solid black;padding:25px">00</td>
<td style="border:1px solid black;padding:25px">01</td>
</tr>
<tr>
<td style="border:1px solid black;padding:25px">10</td>
<td style="border:1px solid black;padding:25px">11</td>
</tr>
</table>
</body>
</html>
72
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<caption>Tabla</caption>
<tr>
<td>00</td>
<td>01</td>
</tr>
<tr>
<td>10</td>
<td>11</td>
</tr>
</table>
</body>
</html>
73
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<tr>
<th style="border:1px solid black">Letras</th>
<th style="border:1px solid black">Números</th>
</tr>
<tr>
<td style="border:1px solid black">a</td>
<td style="border:1px solid black">1</td>
</tr>
<tr>
<td style="border:1px solid black">b</td>
<td style="border:1px solid black">2</td>
</tr>
</table>
</body>
</html>
74
5.11.3 Imágenes en tablas
Una celda no sólo puede contener texto sino cualquier otro elemento HTML,
por lo que es posible insertar imágenes en ellas. El procedimiento es el
mismo que se ha visto para insertar imágenes, sólo que la etiqueta <img>
debe incluirse dentro del ámbito definido por una etiqueta <td>.
75
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<tr>
<th style="border:1px solid black">Columna 1</th>
<th style="border:1px solid black">Columna 2</th>
</tr>
<tr>
<td style="border:1px solid black">Texto<img
src="playa.jpg" width="240" alt="playa"></td>
<td style="border:1px solid black">1</td>
</tr>
<tr>
<td style="border:1px solid black">b</td>
<td style="border:1px solid black">2</td>
</tr>
</table>
</body>
</html>
76
5.11.4. Dimensionado de tablas
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black;width:400px">
<tr>
<td style="border:1px solid black">a</td>
<td style="border:1px solid black">b</td>
</tr>
<tr>
<td style="border:1px solid black">c</td>
<td style="border:1px solid black">d</td>
</tr>
</table>
</body>
</html>
77
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black;height:200px">
<tr>
<td style="border:1px solid black">a</td>
<td style="border:1px solid black">b</td>
</tr>
<tr>
<td style="border:1px solid black">c</td>
<td style="border:1px solid black">d</td>
</tr>
</table>
</body>
</html>
78
adquiera dicha anchura, por tanto, la primera será la que se adapte esta
vez para mantener el ancho total de la tabla, ignorando el valor que le fue
asignado antes.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black;width:300px;height:200px">
<tr>
<td style="width:120px;height:120px;border:1px solid
black">a</td>
<td style="width:20px;border:1px solid black">b</td>
</tr>
<tr>
<td style="border:1px solid black">c</td>
<td style="border:1px solid black">d</td>
</tr>
</table>
</body>
</html>
79
Por tanto, como se ve en el ejemplo, no tiene mucho sentido volver a
especificar anchos o altos diferentes en varias celtas de la misma fila o
columna.
80
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<tr>
<td style="border:1px solid black">---------------</td>
</tr>
<tr>
<td style="border:1px solid black;text-align:left">a</td>
</tr>
<tr>
<td style="border:1px solid black;text-align:center">b</td>
</tr>
<tr>
<td style="border:1px solid black;text-align:right">c</td>
</tr>
</table>
</body>
</html>
81
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<tr>
<td style="height:100px">-----</td>
<td style="border:1px solid black;vertical-align:top">a</td>
<td style="border:1px solid black;vertical-align:bottom">b</td>
<td style="border:1px solid black;vertical-align:middle">c</td>
</tr>
</table>
</body>
</html>
82
Pie: <tfoot>
Se debe tener en cuenta que, en este caso, la tabla se crea ordenando las
secciones, no en el orden en el que se escriban las filas, como
habitualmente. Es decir, aunque el elemento thead se defina después de
tbody, aparecerá por encima de este último, como se puede apreciar en el
siguiente ejemplo.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black">
<tbody>
<tr>
<td style="border:1px solid black">a</td>
<td style="border:1px solid black">1</td>
</tr>
<tr>
<td style="border:1px solid black">b</td>
<td style="border:1px solid black">2</td>
</tr>
</tbody>
<thead>
<tr>
<th style="border:1px solid black">Letras</th>
<th style="border:1px solid black">Números</th>
</tr>
</thead>
</table>
</body>
83
5.12 Fondos
84
No obstante, la forma más común de codificar los colores es mediante la
representación hexadecimal. Para ello, tan sólo se trata de convertir los
números anteriores a hexadecimal y escribirlos seguidos, de la forma
#rrggbb, representando rr la cantidad de rojo, gg la cantidad de verde y bb
la cantidad de azul.
Por tanto, quedaría el rojo como #FF0000, el verde como #00FF00 y el azul
como #0000FF. El blanco sería #FFFFFF y el negro #000000.
Es posible abreviar los colores en esta notación en el caso de que los dígitos
de cada componente sean iguales, escribiendo sólo uno de ellos. Es decir, el
rojo sería: #F00, al verde #0F0, el azul #00F, el blanco #FFF y el negro
#000.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body style="background-color:#FF0000">
colores
</body>
</html>
85
Como se ha visto, si en lugar de asignar FF a la componente de rojo, que es
el máximo valor posible, se le da un valor menor, se obtendrá otro color de
la gama de rojos pero con menor intensidad:
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body style="background-color:#AA0000">
colores
</body>
</html>
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body style="background-color:#00AA00">
colores
</body>
</html>
86
Y, por último, para la gama de los azules:
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body style="background-color:#0000AA">
colores
</body>
</html>
87
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body style="background-image:url('playa.jpg');">
Imagen de fondo
</body>
</html>
88
También es posible modificar este comportamiento. Para ello, se debe
emplear la propiedad de estilo background-repeat. Su valor por defecto
es repeat para repetir la imagen. Si se desea que sólo se repita en una
dirección, se puede especificar repeat-x o repeat-y (se repite
horizontalmente y verticalmente, respectivamente). Si no se desea que se
repita en ninguna dirección, se debe especificar el valor no-repeat.
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<table style="border:1px solid black;background-
image:url('agua.jpg')">
<tr style="background-color:#AACCFF">
<td>00</td>
<td>01</td>
</tr>
<tr>
<td>10</td>
89
<td style="background-color:#DDAA55">11</td>
</tr>
<tr>
<td>20</td>
<td>21</td>
</tr>
</table>
</body>
</html>
5.13 Fuentes
ENLACE DE INTERÉS
https://caniuse.com/
90
font-size: xxx, especifica el tamaño de la fuente, siendo xxx el
tamaño, expresado textualmente (small, medium, etc), en porcentaje
o en otras unidades (píxeles, etc).
Una de las unidades más extendidas es el píxel (px), no obstante, hay
que tener en cuenta que hay otras cuyo uso es más recomendable en
muchas circunstancias, como se verá más adelante.
NOTA
Por otro lado, existen otras etiquetas interesantes con las que se pueden
conseguir los efectos sobre fuentes vistos anteriormente tales como negrita,
subrayado, etc:
91
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<p style="font-size:40px;color:#AA0000;font-
family:Arial,Verdana">Prueba texto</p>
</body>
</html>
92
Una página donde se define la posición y el número de frames de los
que constará la página que se debe mostrar en el navegador.
Sus valores deben ser los tamaños que se quieren asignar a cada uno de los
frames que componen dicho frameset. Pueden ser píxeles o, de forma más
habitual, porcentajes. El símbolo * se usa para indicar que use el espacio
disponible restante.
93
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<frameset cols="25%, *">
<frameset rows="40%, *">
<frame src="frame1.html">
<frame src="frame2.html">
</frameset>
<frame src="frame3.html" name="Contenido">
<noframes>
<body>
Tu navegador no soporta frames. Pulsa <a
href="contenid.html">aquí<a> para acceder a la página de
contenidos.
</body>
</noframes>
</frameset>
</html>
94
En el ejemplo anterior, las páginas frame1.html, frame2.html y frame3.html
están vacías, sólo se les ha asignado un color de fondo para poder apreciar
el resultado (serán similares a las vistas en los ejemplos del apartado sobre
fondos).
Cuando se estudiaron los enlaces, uno de los atributos que se podían usar
era target. Pues bien, parte de sus posibles valores hacen referencia al
trabajo con frames. Por ejemplo, asignándole el nombre de un frame que se
haya definido mediante name, el enlace se abrirá en dicho frame. Si el valor
es "_self", se abrirá en el propio frame, y si es "_top", se abrirá ocupando
toda la ventana del navegador.
95
Otros atributos como scrolling y border han quedado obsoletos, debiendo
emplearse propiedades de estilo. Por ejemplo, para los bordes se usará
border, de la misma forma ya vista en apartados anteriores.
Ahora, sólo hay que copiar dicho código en la página. Se le puede añadir
cualquiera de los atributos vistos para configurarlo.
96
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d11241.43627
3243153!2d-
4.427093053629303!3d36.71669412757666!2m3!1f0!2f0!3f0!3m2!1i1024!2i768
!4f13.1!3m3!1m2!1s0x0%3A0x176a2740a1f33f8d!2sCESUR+FORMACION!5e1!3m2!1
ses!2s!4v1404553577143"
width="400" height="400" style="border: 0"></iframe>
</body>
</html>
97
5.16 Applets de Java y controles ActiveX
Los applets de Java y los controles ActiveX son dos formas usadas con
frecuencia en el pasado para ejecutar aplicaciones incrustadas en páginas
web. De esta forma, se conseguía poder ejecutar programas que de otra
manera no era posible construir con HTML/JavaScript. Por motivos de
seguridad, se ha ido limitando la ejecución de este tipo de programas por
parte de los navegadores. A partir de HTML5, ya es posible conseguir toda
la funcionalidad ofrecida por este este tipo de aplicaciones, usando
únicamente HTML5/JavaScript, por lo que han ido quedando en desuso.
Donde xxx es el nombre del archivo, yyy la altura del applet, zzz la
anchura, aaa el tipo de cada parámetro y bbb el valor de dicho parámetro.
98
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<applet code="a.class" width="200" height="200">
<param name="aaa" value="bbb">
</applet>
</body>
</html>
99
Como se puede observar en el ejemplo anterior, el navegador debe solicitar
permiso para ejecutar este tipo de archivos, lo cual lo hace poco práctico.
5.17 Audio
100
Mediante esta etiqueta, se define el elemento audio, que deberá contener
uno o varios elementos source en los que se deben especificar los archivos
que se desean reproducir. Se pueden especificar tantos archivos como se
desee. El sistema reproducirá el primero de ellos que sea válido. Los
elementos source no tienen etiqueta de cierre y se componen
principalmente de dos atributos, src para especificar el archivo, al igual que
se hacía con las imágenes, y type para especificar el formato.
El resto del contenido que aparezca dentro del elemento audio, se mostrará
sólo si el navegador no reconoce dicho elemento.
Por ejemplo, para reproducir un archivo con extensión ogg, añadiendo como
alternativa uno con extensión mp3 por si el navegador no soporta ogg,
quedaría:
<audio>
<source src="sonido.ogg" type="audio/ogg">
<source src="sonido.mp3" type="audio/mpeg">
El navegador no soporta el elemento audio.
</audio>
101
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<audio width="320" controls>
<source src="sonido.mp3" type="audio/mp3">
El navegador no puede reproducir el audio
</audio>
</body>
</html>
102
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
Escucha esta canción: <a href="4_allnig.mid">All night long</a>
<br>
También puedes escucharla haciendo clic en la imagen: <a
href="4_allnig.mid" style="width:100px;">
<img src="cd.jpg"></a>
</body>
</html>
5.18 Vídeo
103
La sintaxis es similar a la de la etiqueta <audio>, permitiendo definir
múltiples fuentes alternativas:
<video>
<source src="video.ogg" type="video/ogg">
<source src="video.mp4" type="video/mp4">
El navegador no soporta el elemento video.
</video>
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<video width="320" height="240" controls>
<source src="bosque.mp4" type="video/mp4">
El navegador no puede reproducir el vídeo
</video>
</body>
</html>
104
5.19 Formularios
105
NOTA
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<form action="mailto:dir_mail" method="post" enctype="text/plain">
<!--Elementos del formulario para introducir datos.
Botones de envío y de borrado. -->
</form>
</body>
</html>
El elemento input puede ser de diferentes tipos según el tipo de datos que
se quieran recoger. Para ello, se debe definir el atributo type. Sus valores
más comunes son:
106
text: el valor por defecto, para recoger una línea de texto. Mediante
el atributo size, se puede ajustar su longitud en caracteres. También
se puede ajustar el ancho mediante la propiedad de estilo width. Para
controlar el máximo número de caracteres que admite, se usa el
atributo maxlength.
El atributo value sirve para especificar el valor por defecto que
aparecerá ya relleno al abrir el formulario.
password: recoge una línea de texto, pero sin mostrarla tal cual,
ocultando los caracteres, lo que sirve para introducir contraseñas.
107
reset: crea un botón para resetear todo el formulario, volviendo a
mostrar sus valores por defecto.
https://www.w3.org/TR/2010/WD-html5-20101019/the-input-element.html
108
marcada. Se puede usar el atributo vacío multiple si se desea que la lista
permita seleccionar múltiples opciones de forma simultánea.
<fieldset>
<legend>Título</legend>
<input …>
…
</fieldset>
109
EJEMPLO PRÁCTICO
<!DOCTYPE html>
<html lang="es">
<head>
<title>ejemplo</title>
<meta charset="utf-8">
</head>
<body>
<form action="mailto:[email protected]" method="post"
enctype="text/plain">
<input type="hidden" name="tipo" value="Formulario de ejemplo">
<fieldset>
<legend>Datos personales</legend>
<p>Nombre:
<input type="text" name="Nombre" size="30" maxlenght="30">
</p>
<p>Apellidos:
<input type="text" name="Apellidos" size="40"
maxlenght="50">
</p>
</fieldset>
<p>Mensaje:</p>
<textarea name="Mensaje" rows="5" cols="35"></textarea>
<p>Asunto del mensaje:
<select name="asunto">
<option>Contacto</option>
<option>Dudas</option>
<option>Pedidos</option>
<option>Reclamaciones</option>
</select>
</p>
<p>¿Eres socio?
<input type="radio" name="socio" value="No" checked>No
<input type="radio" name="socio" value="Si" >Sí
</p>
<p>¿Deseas suscribirte al boletín de noticias?</p>
<input type="checkbox" checked name="Suscribirse">
Sí, acepto recibir información
<br><br><br>
<input type="submit" value="Enviar ">
<input type="reset" value="Borrar">
</form>
110
</body>
</html>
111
6. LA WEB SEMÁNTICA
Para ello, es necesario que los ordenadores sean capaces de entender a los
humanos en el mayor grado posible. En el caso de la web, está diseñada
principalmente para que sea leída por humanos, por lo que para lograr ese
entendimiento es necesario establecer una semántica común a ambos.
112
información (párrafos, listas, tablas…). Sin embargo, el propósito de estas
otras etiquetas es fundamentalmente semántico.
<article>: son los elementos que definen los contenidos en sí. Por
ejemplo, un post de un blog, una noticia…
113
6.1.3 Etiquetas para resaltar contenido
114
6.1.4 Otras etiquetas
<details> y <summary>: <details> sirve para especificar
información extra sobre algo y <summary> para definir un
encabezado para dicha información. Por defecto, aparecerá oculta, de
forma que se pueda mostrar al hacer clic sobre la parte visible
(<summary>). Ojo, no todos los navegadores soportan estos dos
elementos (en tal caso, los datos se mostrarán siempre, como
párrafos normales).
Una vez presentados los elementos básicos para construir páginas web, es
necesario tener en cuenta una serie de recomendaciones para que las
páginas ofrezcan al usuario una buena experiencia de navegación, así como
para evitar errores de diseño y que resulte fácil mantenerlas.
115
- Elementos de contenido:
Es conveniente estructurar la página de manera que cada parte del
contenido tenga asignado un tipo de elemento según el contenido de que se
trate. Por ejemplo, si se trata de un listado de elementos, es conveniente
que esté realizado mediante una lista, no mediante un conjunto de párrafos.
- Títulos de encabezado:
Es fundamental usar correctamente los títulos de encabezado,
aprovechando la función para la que han sido diseñados.
Los títulos de encabezado de primer nivel (h1) se deben usar para los
temas más relevantes, mientras que los de segundo nivel (h2) se utilizarán
para indicar los subtemas relacionados con los anteriores y así
sucesivamente. Es recomendable que toda página contenga al menos un
elemento de tipo h1 o h2.
- Claridad y orden:
Para facilitar el mantenimiento de la página, es muy importante escribir el
código HTML de forma clara y ordenada, haciendo que se vea claramente
cuándo comienza y cuando finaliza cada elemento. Para ello, se aconseja
poner etiquetas en una misma línea si no tienen otras en su interior, o
realizando sangrías en caso de que abarquen varias líneas. También es
recomendable usar líneas en blanco para separar secciones de código.
116
De igual manera que sucede con los lenguajes de programación, resulta
conveniente usar comentarios aclaratorios, especialmente cuando la
extensión del archivo o sección sea grande y se complique identificar el
ámbito de cada etiqueta.
7.2 Información
- Contenido:
En primer lugar, el propósito principal un sitio web es ofrecer contenido, es
decir, información de un determinado tipo, por tanto, no es recomendable
que una página se limite a ser un conjunto de enlaces a otras páginas.
También se debe evitar incluir enlaces a páginas sin contenido de utilidad.
- Título:
Toda web debe tener un título especificado mediante la etiqueta <title>. Se
debe elegir uno que sea significativo. Muchas veces no se presta atención al
título, eligiendo uno inapropiado o incluso dejándolo vacío. Sin embargo,
hay que tener en cuenta que la página será identificada mediante ese título
y, además, los buscadores relacionarán las búsquedas que se efectúan con
dicho título.
Por ello, es importante que el título sea lo más descriptivo posible del
contenido de la página. De esta forma, cuando alguien la guarde en sus
favoritos podrá identificarla fácilmente más tarde. Además, para que la
página pueda identificarse adecuadamente en otro contexto diferente, es
conveniente incluir el nombre de la web.
- Longitud:
117
Si una página es demasiado larga, puede resultar conveniente
descomponerla en varias subpáginas. De esta forma, se evita que el usuario
deba hacer mucho scroll y se reduce el tiempo de carga de la página.
- Otras consideraciones:
Se puede mejorar la experiencia del usuario con la página si se incluyen
referencias a páginas interesantes sobre temas similares o relacionados.
También resulta interesante contar con elementos mediante los que el
usuario pueda interactuar con la página, como habilitar comentarios, ofrecer
una sección para contactar con la página, permitir interacción con redes
sociales, etc.
7.3 Composición
- Uniformidad:
Se debe tratar de dar un estilo uniforme a las distintas páginas que
componen una web. De esta forma, se facilitará la navegación de los
usuarios a través de la web y su aspecto será consistente y reconocible.
Para conseguirlo, se debe realizar un diseño gráfico común para todas las
páginas. Tal labor, a menudo, consiste en elegir un color o imagen de
fondo, colocar un logo determinado en la parte superior, o distribuir de una
forma específica el texto y las imágenes (en un determinado número de
columnas, etc). Por lo general, las páginas web suelen contar con una zona
de título común para todas las páginas, así como un menú de navegación
que facilita el paso de una a otra sección de la web.
- Ayuda a la navegación:
Es importante que el usuario pueda localizar rápidamente lo que quiere y no
se pierda entre elementos superfluos. Por ejemplo, las imágenes o iconos
118
pueden ayudar a localizar las opciones de un menú, los distintos colores
pueden usarse para destacar las partes más importantes, etc.
- Accesibilidad:
La accesibilidad consiste en diseñar las páginas de forma que personas con
algún tipo de discapacidad puedan acceder al contenido y navegar por la
web sin problemas. Al mismo tiempo, este diseño es aprovechable por
personas de avanzada edad que presentan dificultades.
Por ejemplo, usar siempre la etiqueta alt para describir el contenido de una
imagen, incorporar subtítulos a los vídeos, usar nombres descriptivos para
119
los enlaces (evitar por ejemplo un enlace con el texto “pulsar aquí”), seguir
una estructura similar para navegar por todas las páginas…
-Adaptabilidad:
Debido a los numerosos dispositivos existentes en la actualidad, tamaños de
pantalla y resoluciones muy diferentes, se hace imprescindible realizar un
diseño adaptable. Este tipo de diseños, también conocidos como
responsive, consisten en que la página se adapte automáticamente según
el dispositivo que la muestre. Dicha adaptación se puede lograr modificando
los tamaños de sus elementos, cambiando su disposición, o incluso,
mostrando otros elementos diferentes en función del dispositivo.
120
RESUMEN FINAL
121