IES Gaviota >> Departamento de Informática >> El lenguaje HTML
I.E.S. Gaviota El lenguaje HTML



Documentos HTML

HTML significa HyperText Markup Language. Es el lenguaje en que se escriben los millones de documentos que hoy existen en el World Wide Web. Cuando accedemos a uno de estos documentos, el cliente (Netscape, IE, Mosaic, Lynx, Mozilla) los interpreta y los muestra.

Los documentos HTML son ficheros de texto plano (también conocidos como ASCII) que pueden ser editados con cualquier editor de texto (como Vim o el "Bloc de notas" de Windows). También podríamos utilizar cualquier programa procesador de textos (como StarWriter o Word), salvando el documento como "solo texto". El nombre de los ficheros escritos en lenguaje HTML suelen tener la extensión html o htm.

El lenguaje HTML se basa en la sintaxis SGML (Standard Generalized Markup Language). Esto quiere decir que los diferentes elementos (párrafos, encabezamientos, tablas, listas, ...) de un documento para la WWW se señalan intercalando etiquetas que indican al navegador cómo debe mostrarlo.

Una etiqueta HTML consiste en un signo menor "<", un nombre de una directiva (orden o comando para el navegador), seguido de los parámetros o atributos y un signo mayor ">". Para cualquier etiqueta que indica un el inicio de un elemento hay otra de cierre que indica que esa directiva ya no debe actuar sobre el texto que sigue (en algunas ocasiones no es necesario poner, o no existe, la etiqueta de cierre correspondiente).

<directiva parámetro="xxxx"> ... </directiva>

HTML no es sensible a mayúsculas y minúsculas. Para HTML es equivalente <HTML> y <html>, con algunas excepciones. Aunque es recomendable es escribir los nombres de las etiquetas en minúsculas ya que las nuevas generaciones del HTML están basadas en SGML que requiere de documentos bien formados. Así que, si nuestra intención es continuar trabajando con este tipo de documentos en el futuro, nos puede venir bien seguir el modo de escribir de los documentos bien formados:

  • Nombres de etiquetas y atributos en minúsculas.
  • Etiquetas de cierre para elementos no vacíos.
  • Los valores de los atributos deben estar incluidos entre comillas dobles.
Hay disponibles varios editores WYSIWYG (Composer, FrontPage, ...). WYSIWYG es acrónimo de what yuo see is what you get (lo que ves es lo que consigues), que significa que a la vez que se diseña el documento HTML estamos viendo su aspecto final.

Índice

Estructura de un documento HTML

Todas las páginas web tienen la siguiente estructura:

<html>
<head>
   <title>Primera página</title>
</head>
<body>

</body>
</html>

En la primer linea encontramos la etiqueta <html>. Esta le indica al cliente que comienza un documento HTML.

Luego viene <head>, la cabecera, donde se pone información sobre el documento, que no se ve en la pantalla del navegador. Aquí puede ir el título <title> del documento, es lo que veremos como título de la ventana en los navegadores que lo permitan y como se conocerá nuestra página en algunos buscadores y en la lista de favoritos de los usuarios (es importante pensar bien el título del documento).

Tras la cabezera viene <body>, el cuerpo, que es donde se coloca la información que queremos mostrar en la pantalla principal del navegador.

Índice

Comandos básicos de formateo de texto

<p>...</p>
Indica un comienzo de párrafo. Tiene como opciones align="center" ,"left" o "right", para centrar o alinear a derecha o izquierda el texto. Cada comienzo de párrafo deja un espacio separador.

<h1>...</h1>
Se usan para dividir correctamente en secciones nuestra página, tal y como se hace en un documento de texto normal. El mas importante (grande) es <h1>, luego <h2> y así hasta <h7>.

<center>...</center>
Permite centrar.

<pre>...</pre>
Representa el texto encerrado en ella con un tipo de letra de paso fijo.

<blockquote>...</blockquote>
Para dejar márgenes tanto a izquierda como a derecha (sangrar).

<br>
Cuando escribimos un documento HTML los retornos de carro no tienen ningún efecto (salvo si están contenidos bajo la directiva <pre>). Agrupaciones de más de un carácter en blanco se traducen en un solo carácter blanco.

<hr>
Inserta una linea horizontal o separador. De ellos pueden modificarse varios atributos:

size="num", "%"
grosor de la barra horizontal, en pixels o el porcentaje del ancho de página.

width="num"
anchura de la barra horizontal en pixels.

align="..."
alineamiento de la barra, puede valer left, right o center .

noshade
elimina el aspecto tridimensional .

Índice

Cambiando el estilo de letra

Todas estas etiquetas nos permiten cambiar el aspecto del tipo de letra que estemos utilizando.

<b>...</b>
Pone el texto en negrita.

<i>...</i>
Representa el texto en cursiva.

<u>...</u>
Para subrayar algo.

<s>...</s>
Para tachar.

<tt>...</tt>
Permite representar el texto en un tipo de letra de paso fijo.

<sup>...</sup>
Letra superíndice.

<sub>...</sub>
Letra subíndice.

Índice

Caracteres especiales

Cuando editamos una página HTML con un editor de texto, podemos poner las tildes y los caracteres propios del español (á, A, é, É, ..., ü, ñ, Ñ, ¿, ¡). Y nuestro navegador los representa de manera adecuada en la pantalla, ya que suponen por defecto que la página está escrita en caracteres de un idioma europeo occidental. Pero no todo el mundo tiene configurado su navegador igual (en Rusia ven la páginas con caracteres cirílicos y en Japón en caracteres japoneses) Para indicar a otro navegador que estamos utilizando los caracteres de un idioma europeo occidental, la primera línea de la cabecera debe ser

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

Otra posibilidad es utilizar los nombres simbólicos definidos en HTML

&aacute;, &Aacute;, &eacute;, &Eacute;...
á, Á, é, É, í, Í, ó, Ó, ú y Ú

&ntilde; y &Ntilde;
ñ y Ñ

&nbsp;
Espacio en blanco que no puede ser usado para saltar de línea. Cuando escribimos un documento HTML las agrupaciones de más de un carácter en blanco se traducen en un solo carácter blanco (salvo si están contenidos bajo la directiva <pre>).

&iquest;
¿

&iexcl;
¡

&ordm;
º

&ordf;
ª

&copy;
©

&reg;
®

Caracteres de control

En el HTML existen cuatro caracteres de control, que se usan para formar etiquetas, establecer parámetros, etc.. Para poder emplearlos sin riesgo deberemos escribir los siguiente códigos:

&lt;
<

&gt;
>

&amp;
&

&quot;
"

Índice

Enlaces

El HTML es un lenguaje para hipertexto. Existen múltiples formatos de hipertexto (por ejemplo, los ficheros de ayuda de Windows) y lo que tienen en común es que todos poseen enlaces.

Un enlace es una zona de texto o gráfico que al ser seleccionado nos traslada a otra posición dentro del documento actual o a otro documento, que puede encontrarse en el mismo ordenador o en otro de cualquier parte del planeta. Son los enlaces lo que hacen de la World Wide Web o telaraña lo que es.

Para incorporar un enlace hay que utilizar esta etiqueta <a>. Todo lo que encerremos entre <a> y </a>, ya sea texto o imágenes, será considerado como enlace y sufrirá dos modificaciones:

  1. El texto aparecerá subrayado y de un color distinto al habitual, y las imágenes estarán rodeadas por un borde del mismo color que el del texto del enlace.
  2. Al pulsar sobre el enlace, se abrirá en el navegador el documento al que apuntaba el enlace.
En el enlace debemos especificar una dirección. Lo haremos de la siguiente manera:

<a href="dirección">P&uacute;lsame</a>

La dirección estará en formato URL (Uniform Resource Locator).

servicio://máquina/ruta/fichero

Donde el servicio podrá ser uno de los siguientes:

http
Es el servicio invocado para transmitir páginas web y el que usaremos normalmente en los enlaces.

https
Es una innovación sobre el anterior, que nos permite acceder a servidores (generalmente comerciales) que nos ofrecen el uso de técnicas de encriptación para proteger los datos que intercambiemos con él de terceras personas.

ftp
Permite trasmitir ficheros desde servidores de ftp anónimo. Si no le pedimos un fichero sino un directorio, en general el navegador se encargará de mostrarnos el contenido del mismo para que podamos escogerlo cómodamente. Utilizando la @ podremos acceder a servidores privados.

mailto
Para poder mandar un mensaje. Por ejemplo, la URL
   mailto:iesgaviota@averroes.cec.junta-andalucia.es
mandaría un mensaje a nuestro Instituto.

news
Para poder acceder a grupos de noticias. Se indica el servidor y el grupo. Por ejemplo
   news://news.cica.es/es.comp.demos 
nos conectaría con el grup es.comp.demos en el servidor del CICA.

La dirección de la máquina puede ser su IP o la DNS.

La ruta es una serie de directorios separados por el símbolo /, que es el utilizado en UNIX (el sistema operativo más extendido en los servidores de Internet).

Cuando queremos acceder a un fichero situado en la misma máquina que la página web que estamos creando, no es necesario ni recomendable, escribir toda la ruta hasta el fichero, bastará relativizar todos los enlaces al directorio actual. Esto quiere decir que no tendremos que escribir:

<a href="http://averroes.cec.junta-andalucia.es
   /ies_gaviota/pagina2.html">

Si el fichero al que queremos acceder está en el mismo directorio, bastará con escribir:

<a href="pagina2.html"> 

Y si esrá en otro directorio, lo nombraré de forma relativa al directorio actual de esta forma:

<a href="otro_directorio/pagina2.html">

o bien de esta otra:

<a href="../../otro_directorio/pagina2.html">

donde los dos puntos (..) se utilizan para acceder al directorio padre.

Anclas

Como dijimos, es posible acceder a una posición del documento HTML. Para hacerlo, primero debemos especificar el lugar del documento al que queremos acceder:

<a name="ancla">

Para poder acceder a ese lugar incluimos el enlace de esta manera:

<a href="#ancla">Vamos a ancla</a>

También podemos acceder a anclas situadas en documentos remotos. Para ello añadiremos el nombre del ancla al URL así:

<a href="enlaces.html#ancla">Vamos a ancla en los enlaces</a>

Índice

Listas

Existen varios tipos de listas en HTML, todas ellas se pueden meter unas dentro de otras formando árboles, y siguen el siguiente formato:

<tipo_lista> 

    <li>Primer elemento 

    <li>Segundo elemento 

</tipo_lista>

<tipo_lista> puede ser :

<ul>
Nos permite presentar listas de elementos sin orden alguno. Cada elemento de la lista irá normalmente precedido por un círculo.

La etiqueta <ul> admite estos parámetros:

compact
Indica al navegador que debe representar la lista de la manera más compacta posible.

type="disc", "circle", "square"
Indica al navegador el dibujo que precederá a cada elemento de la lista. Para mayor flexibilidad se admite también como parámetro de <li>.

<ol>
Nos permite presentar listas de elementos ordenados de menor a mayor. Normalmente cada elemento de la lista irá precedido por su número o letra en el orden.

La etiqueta <ol> admite estos parámetros:

compact
Indica al navegador que debe representar la lista de la manera más compacta posible.

type="1", "a", "A", "i" o "I"
Indica al navegador el tipo de numeración que precederá a cada elemento de la lista. Para mayor flexibilidad se admite también como parámetro de <li>.

start="num"
Indica al navegador el número por el que se empezará a contar los elementos de la lista.

La etiqueta <li> admite el atributo value="num", que actúa como start pero a partir de ese elemento.

<dl>
Este tipo de lista que no utiliza la etiqueta <li>. Tiene como objetivo presentar una lista de definiciones, de modo que tiene que representar de manera distinta el objeto definido y la definición. Emplearemos la etiqueta <dt> para el objeto definido y <dd> para la definición.

La etiqueta <dl> sólo admite como parámetro el ya conocido compact, que tiene el mismo comportamiento que con los otros dos tipos de lista anteriores.

Índice

Incluyendo imágenes

Para incluir gráficos e imágenes en nuestras páginas utilizaremos la etiqueta <img> de esta manera:

<img src="fichero_grafico" alt="descripcion">

El parámetro src especifica el nombre del fichero que contiene el gráfico. Los formatos estándar en la red son el GIF y el JPG. La últimas versiones de Netscape y Explorer aceptan también el formato PNG.

El parámetro alt especifica el texto que se mostrará en lugar del gráfico en aquellos navegadores que no sean capaces de mostrarlos (como el Lynx) o en el supuesto de que el usuario los haya desactivado. Es por todo eso que conviene ponerlo siempre. Además algunos navegadores lo muestran cuando pasamos el ratón por encima de la imagen.

Existen dos atributos que, aunque opcionales, también conviene indicar siempre: width="num" y height="num", la anchura y la altura del gráfico en pixels. De este modo, el navegador puede mostrar un recuadro del tamaño de la imagen mientras la va leyendo de la red y así poder mostrar el resto de la página correctamente mientras tanto. Estos atributos también nos pueden valer para ampliar o reducir el tamaño original de las imágenes, poniendo el valor en pixel o el % del ancho y alto con que queremos ver la imagen en el navegador.

Para poder maquetar conjuntamente texto y gráficos, el HTML proporciona, por medio del parámetro align, las siguientes maneras de alinear una imagen respecto del texto que la acompaña:

align="top"
Coloca el punto más alto de la imagen coincidiendo con más alto de la línea de texto actual.

align="middle"
Alinea el punto medio (en altura) de la imagen con la base del texto.

align="bottom"
Por defecto Alinea el punto más bajo de la imagen con la base del texto.

align="left"
Coloca la imagen a la izquierda del texto.

align="right"
Coloca la imagen a la derecha del texto.

Hay que aclarar que la base del texto es la línea donde descansan casi todas las letras del alfabeto excepto algunas (p, q, y, j ...).

El atributo hspace="num" indica el espacio en blanco, en pixel, que se insertará a derecha e izquierda de la imagen y vspace="num" el espacio por encima y debajo de la imagen.

Imágenes y enlaces

Suele ser común incluir enlaces dentro de un gráfico. En ese caso, por defecto, los navegadores le pondrán un borde al gráfico para indicar que efectivamente es un enlace. Práctico, pero la mayoría de las veces bastante poco estético. Por medio del parámetro border podremos alterar el grosor de ese borde o incluso eliminarlo poniéndolo a cero.

<a href="ruta/fichero"><img src="imagen" border="0"></a>

JPG o GIF

Una buena regla general es usar JPG cuando la imagen sea una foto y cuando sea un logotipo, letras, o un dibujo utilizar GIF. Lo principal es que la imagen ocupe lo mínimo posible (una imagen de más de 50k es muy grande para Internet) y que tenga una calidad aceptable. Un GIF de 256 colores generalmente es un desperdicio, con 64 colores casi no hay diferencia y puede ocupar bastante menos. Una foto en GIF de 256 colores, en JPG puede quedar reducida a menos de la mitad.

Si hubiese que poner una imagen grande no la pondremos directamente en la página, pondremos un versión reducida de unos 150 x 100 pixels con un enlace a la grande, e indicaremos cuánto ocupa la grande.

Índice

Tablas

Las tablas son posiblemente la manera más clara de organizar la información. También es el modo más adecuado de maquetar texto y gráficos de una manera algo más controlada que con los parámetros align.

  • La tabla está contenida entre las etiquetas <table> y </table>.
  • Cada fila de la tabla está delimitada por <tr> y </tr>
  • Cada celda está determinada por las etiquetas <td> y </td>.
  • Las etiquetas <th> y </th> sirven para indicar que el texto contenido es la cabecera de la columna. Las cabeceras de la tabla no son obligatorias.
  • La etiquetas <caption> y </caption> delimitan el título de la tabla.
No es necesario definir de antemano cuantas filas o columnas tendrá la tabla, basta con colocar tantas celdas como queramos. La distribución de las celdas la ajustaremos con las etiquetas que delimitan las filas.

Una tabla con 2 filas y 3 columnas se declarará así:

<table>

   <tr> <td>1,a</td> <td>1,b</td> <td>1,c</td> </tr> 

   <tr> <td>2,a</td> <td>2,b</td> <td>2,c</td> </tr> 

</table>

Los atributos de <table> son:

border="num"
Especifica el grosor del borde que se dibujará alrededor de las celdas. Por defecto es cero, lo que significa que no dibujará borde alguno.

cellspacing="num"
Define el número de pixels que separarán las celdas.

cellpadding="num"
Especifica el número de pixels que habrá entre el borde de una celda y su contenido.

width="num", "%"
Especifica la anchura de la tabla. Puede estar tanto en pixels como en porcentaje de la anchura total disponible para ella (pondremos "100%" si queremos que ocupe todo el ancho de la ventana del navegador).

align="..."
Alinea la tabla a izquierda ("left"), derecha ("right") o centro ("center").

bgcolor="#xxxxxx"
Colorea todo el área de la tabla con el color indicado. Ver colores en Letras y colores.

Definir las filas

Ahora que hemos definido la tabla nos toca hacer lo mismo con las filas. Cada fila se define con una etiqueta TR, que tiene los siguientes atributos:

align="..."
Alinea el contenido de las celdas de la fila horizontalmente a izquierda("left"), derecha ("right") o centro ("center")

valign="..."
Alinea el contenido de las celdas de la fila verticalmente arriba ("top"), abajo ("bottom") o centro ("middle").

Definir las celdas

Por último, nos queda definir cada celda gracias a la etiquetas <td> y <th>. Estas etiquetas son equivalentes, pero la última se utiliza para encabezados, de modo que su interior se escribirá por defecto en negrita y centrado. Estos son los atributos de ambas:

align="..."
Alinea el contenido de las celdas de la fila horizontalmente a izquierda("left"), derecha ("right") o centro ("center")

valign="..."
Alinea el contenido de las celdas de la fila verticalmente arriba ("top"), abajo ("bottom") o centro ("middle").

width="num", "%"
Especifica la anchura de la celda . También se puede especificar tanto en pixels como en porcentaje, teniendo en cuenta que, en este último caso, será un porcentaje respecto al ancho total de la tabla (no de la ventana del navegador).

nowrap
Impide que, en el interior de la celda, se rompa la línea en un espacio.

colspan="num"
Especifica el número de celdas de la fila situadas a la derecha de la actual que se unen a ésta (incluyendo la celda en que se declara este parámetro). Es por defecto uno. Si se pone igual a cero, se unirán todas las celdas que queden a la derecha.

rowspan="num"
Especifica el número de celdas de la columna situadas debajo de la actual que se unen a ésta.

bgcolor="#xxxxxx"
Colorea todo el área de la celda con el color indicado. Ver colores en Letras y colores.

Título de la tabla

Por medio de la etiqueta <caption> se indica el título de una tabla. Esta etiqueta admite sólo un parámetro: align, que es por defecto top. Si lo definimos como bottom el título se colocará al final de la tabla en lugar del comienzo.

Índice

Tipos de letra, tamaño y colores

Gracias a la etiqueta <font> vamos a poder cambiar el tamaño, el tipo y el color de las letras en nuestras páginas.

Cambio de color

Para hacerlo se utiliza el parámetro color. La manera de especificarle el color es común a todas las etiquetas HTML: bien indicando el nombre, si es un color normal (Black, Silver, Gray, White, Maroon, Red, Purple, Fuchsia, Green, Lime, Olive, Yellow, Navy, Blue, Teal, Aqua),

<font color="red">Estoy en rojo</font>

o bien especificando la intensidad de rojo, verde y azul (código RGB) del mismo.

<font color="#xxxxxx">color</font>

Donde cada x es un dígito hexadecimal, del 0 a la F. Las dos primeras x corresponden al rojo, las 2 siguientes al verde y las restantes al azul. Por ejemplo: para el blanco pondremos todos los valores al máximo, #FFFFFF; y para el rojo, #FF0000.

<font color="#FF0000">Estoy en rojo</font>


Tamaño de la letra

El parámetro utilizado para indicar el tamaño es size. Puede tomar valores desde 1 a 7, siendo el tamaño por defecto 3.

<font size="2">Tamaño 2</font>

También se puede utilizar los modificadores + y - para indicar un incremento (o decremento) relativo del tamaño del tipo de letra. Así, por ejemplo, si indicamos que queremos un tamaño de "-2" estaremos pidiendo al navegador que nos muestre el tipo de letra dos veces más pequeño.

<font size="+3">Tamaño 6</font>

Tipo de letra

Por último, podemos especificar el nombre del tipo de letra que queremos utilizar gracias al parámetro face. Como en principio no tenemos manera de saber que tipo de letra tiene instalado el ordenador del usuario que está viendo nuestras páginas, podemos indicar más de uno separado por comas. Si el navegador no encuentra ninguno seguirá utilizando el que tiene por defecto:

<font face="Helvetica,Arial,Times">No sé como voy
            a salir exactamente</font>

Índice

La cabecera

Además del título de la página, uno de los elementos que se pueden incluir aquí son los meta. Entre otras cosas, sirven para indicar propiedades de la página como pueda ser el nombre de su autor. Por ejemplo,

<meta name="autor" content="José Fernando">

Estas son las propiedades más comunes:

author
Autor de la página.

generator
Herramienta utilizada para hacer la página.

classification
Palabras que permite clasificar la página dentro de un buscador jerárquico.

keywords
Palabras clave por las que se encontrará la página en los buscadores.

description
Descripción del contenido de la página.

También suele ser el lugar más indicado para colocar aquellos elementos de la página que no alteran el contenido de la misma, aunque si la forma de presentarla y su comportamiento. Es por eso que es el lugar más recomendable para colocar los scripts y las hojas de estilo.

Índice

El cuerpo

La etiqueta <body> admite los siguientes parámetros :

bgcolor="#xxxxxx"
Permite definir el color de fondo de la página.

background="imagen.gif"
Permite poner un gráfico de fondo para la página. No se debe poner una imagen muy "pesada" de fondo, no mas de 15k. Ni olvidar verificar que no dificulte la lectura del texto.

bgproperties="fixed"
El gráfico definido como fondo de la página permanecerá inmóvil aunque utilicemos las barras de desplazamiento.

text="#xxxxxx"
Cambia el color del texto.

link="#xxxxxx"
Cambia el color de un enlace no visitado (por defecto azul).

vlink="#xxxxxx"
Cambia el color de un enlace ya visitado (por defecto púrpura).

alink="#xxxxxx"
Cambia el color que toma un enlace mientras lo estamos pulsando (por defecto rojo).

leftmargin="num", topmargin="num"
Especifican el número de pixels que dejará de margen entre el borde de la ventana y el contenido de la página. Se suelen utilizar para dejarlos a cero.

marginwidth="num", marginheight="num"
Más o menos equivalentes a los anteriores, pero éstos funcionan en Netscape.

No resulta recomendable cambiar los colores del texto y enlaces a no ser que exista alguna dificultad al leerlos por haber cambiado el fondo, ya que en muchas ocasiones el usuario ha podido cambiarlos en las opciones de su navegador y estarán ya a su gusto.
Índice  

IES Gaviota >> Departamento de Informática >> El lenguaje HTML