Documente Academic
Documente Profesional
Documente Cultură
Cuando miras una página web en el navegador, lo que ves a simple vista son palabras. Estas
palabras normalmente tienen algunas características, como diferentes tamaños y colores. En
algunos casos la página web puede mostrar imágenes o incluso vídeos. Otras veces, formularios
donde puedes introducir o buscar información, o personalizar la apariencia de la página que
estás viendo. La página también puede contener animaciones y contenidos que cambian mientras
el resto de la página se mantiene sin cambios.
Varias tecnologías (como CSS, JavaScript, Flash, AJAX, JSON) pueden usarse para definir los
elementos que componen una página web. Sin embargo, en el nivel más bajo, una página web se
define usando HTML (HyperText Markup Language). Sin HTML, no habría páginas web.
Este artículo proporciona una introducción al HTML. Si alguna vez te has preguntado qué ocurre
detrás de tu navegador web, este artículo es el mejor lugar para empezar a aprender.
A finales de la década de los 80s, Tim Berners-Lee estuvo trabajando como físico en CERN (las
siglas inglesas de la Organización Europea para la Investigación Nuclear). Ideó un sistema para
que los científicos pudieran compartir documentos a través de internet. Antes de su invención,
las comunicaciones por Internet sólo permitían transmitir texto plano, empleando tecnologías
como el email, FTP (File Transfer Protocol), y Usenet- tecnología en la que se basan los foros de
internet. La invención del HTML permitió el uso de un modelo de contenido almacenado en un
servidor central, que podía ser mostrado en un terminal local mediante un navegador. Esto
simplificó el acceso al contenido y habilitó la posibilidad de mostrar contenido "enriquecido"
(como un sofisticado texto formateado y visualización de imagenes).
¿Qué es el HTML?Edit
HTML es un lenguaje de etiquetas. Indica al navegador como tiene que mostrar el contenido. El
HTML separa el "contenido" (palabras, imágenes, audio, video, etc.) de la "presentación" (la
definición del tipo de contenido y las instrucciones de cómo esos contenidos tienen que
mostrarse). El HTML emplea un conjunto de elementos predefinidos que permiten identificar los
distintos tipos de elementos. Estos elementos contienen una o más etiquetas que contienen o
expresan el contenido. Estas etiquetas suelen ir encapsuladas entre los símbolos <>, y las
etiquetas de cierre (que indican el final de un determinado contenido) están precedidas por una
barra /.
Por ejemplo, el elemento párrafo consiste en una etiqueta de inicio como esta "<p>" y una de
cierre "</p>". El siguiente ejemplo muestra un párrafo que está contenido dentro del elemento
párrafo en HTML:
Cuando este contenido se muestra en una página web, mediante un navegador, aparece así:
Los elementos que se encuentran contenidos, normalmente suelen contener también otros
elementos. Por ejemplo, el elemento énfasis (etiqueta <em>) puede estar dentro del elemento
párrafo:
<img src="smileyface.jpg">
En ocasiones, suele ponerse una barra "/" al final de la etiqueta, justo antes del cierre de la misma
">" para indicar el final de la misma "/>". Aunque se trata de algo opcional en HTML,
en XHTML es obligatoria (que es un lenguaje que permite una forma de poder implementar XML
en los elementos del HTML).
El resto de este artículo describe con un mayor detalle los conceptos descritos en esta sección.
Además, si quieres ver HTML en acción, pásate por Mozilla Thimble, que es un editor online
interactivo que enseña cómo escribir HTML. Además, en el HTML Elements podrás ver una lista
de los elementos HTML disponibles, así como una descripción de los mismos y el uso de cada
uno de ellos.
El HTML consiste en una serie de elementos. Los Elementos definen el significado semántico del
contenido. Todos los Elementos están incluídos entre dos grandes etiquetas, que a su vez
contienen otras etiquetas. Por ejemplo, el elemento "<p>" indica un párrafo; el elemento "<img>"
indica una imagen. Mira la página HTML Elements para ver una lista completa de todos los
elementos.
Algunos elementos tienen un significado muy preciso, como "esto es una imagen", "esto es un
encabezado" o "esto es una lista ordenada". Otros elementos resultan menos específicos, como
"esto es una sección de una página" o "esto es parte de un texto". Finalmente otros elementos son
usados por razones técnicas, como "esto es la información identificativa de la página que no debe
ser mostrada". De un modo y otro, todos los elementos del HTML tienen un determinado valor
semántico.
Muchos elementos contienen otros elementos, formando una estructura jerárquica. Un ejemplo
simple, pero completo de una página web sería este:
<html>
<body>
</body>
</html>
Como puedes ver, los elementos <html> encierran el resto del documento, y el elemento <body>
encierra el contenido de la página. Esta estructura crece con las ramas de un árbol, donde los
elementos <body> y <p> son las ramas que crecen del tronco que es <html>. Esta estructura
jerárquica es lo que se denomina DOM: siglas inglesas del "Modelo de Objetos del Documento"
(Document Object Model).
EtiquetasEdit
Los documentos HTML están escritos en texto plano. Pueden ser escritos mediante editores de
texto capaces de guardar contenido de texto plano (aunque la mayor parte de los creadores de
código HTML prefieren editores especializados que resaltan las partes de código propias de la
sintaxis del HTML y muestran el DOM). Los nombres de las Etiquetas, pueden escribirse en
mayúsculas o en minúsculas. Aunque, el W3C (Asociación Global que vela por mantener los
estándares HTML) recomiendan usar minúsculas (y además el XHTML requiere de las
minúsculas).
El código HTML contenido entre los signos de menor que ("<") al comienzo y mayor que (">") al
final, tienen un significado especial. Es lo que denominamos etiquetas. He aquí un ejemplo
sencillo:
En este ejemplo hay una etiqueta de comienzo y otra de cierre. Las etiquetas de cierre son las
mismas que las etiquetas de comienzo sólo que contienen una barra justo después del signo
menor que. Muchos elementos de HTML se escriben empleando las dos etiquetas de comienzo y
final. Las etiquetas de comiezo y final de un elemento deben estar adecuadamente anidadas, esto
significa que las etiquetas de cierre deben escribirse en el orden inverso al de las etiquetas de
inicio. La regla del anidamiento de etiquetas tiene que cumplirse de forma escrupulosa para
poder escribir código válido.
Observa que en el ejemplo válido, la etiqueta de cierre para el elemento anidado está situada
antes de la etiqueta de cierre del elemento que la contenedor.
Hasta la adopción de las reglas revisadas del HTML5, los navegadores no interpretaban los
códigos no válidos del mismo modo y provocaban distintos resultados cuando se encontraban
con estas partes de código. Los navegadores eran tolerantes con los autores de código Web, pero
por desgracia no todos de la misma forma, llevando a situaciones impredecibles a la hora de
interpretar códigos no válidos de HTML. Pero esos días han acabado tras la última evolución de
los navegadores como Internet Explorer 10, Firefox 4, Opera 11.60, Chrome 18 o Safari 5, a
medida que han implementado las nuevas normas de interpretación de código HTML no válido.
Aquí puede ver el resultado de un código invalido para el mismo arbol DOM en todos los
navegadores modernos.
<img src="smileyface.jpg"/>
Mucha gente marca los elementos vacíos usando una barra al final de la etiqueta, justo antes del
simbolo mayor que (necesario en los códigos de XHTML).
<img src="smileyface.jpg"/>
En HTML esta barra no aporta ninguna funcionalidad técnica y su uso es solamente una elección
de estilo.
AtributosEdit
La etiqueta de comienzo puede contener información adicional, tal y como puede verse en el
siguiente ejemplo. Dicha información es lo que se conoce como atributos. Los atributos suelen
consistir en dos partes:
Algunos atributos sólo pueden tener un único valor. Son atributos Booleanos y pueden ser
incluidos para especificar el nombre del atributo, o dejar su valor vacío. Así los siguientes tres
ejemplos tienen el mismo significado:
<input required="required">
<input required="">
<input required>
Los valores de los atributos que constan de una sola palabra o un número se pueden escribir tal
cual, pero en cuanto hay dos o más cadenas de caracteres en el valor, éstos deben escribirse entre
comillas. Están permitidas tanto las comillas simples ('), como las comillas dobles (") aunque
muchos desarrolladores prefieren utilizar siempre comillas simples para que el código sea menos
ambiguo para la vista y para evitar errores como el siguiente:
<p class=foo bar> (Ten cuidado, esto probablemente no quiere decir lo que piensas que significa.)
En este ejemplo suponemos que el valor del atributo es "foo bar" pero al no haber comillas en el
código se interpreta como si se hubiera escrito así:
Los Caracteres Referenciados (a veces llamados entidades) son combinaciones de caracteres que
sirven para mostrar en el navegador símbolos que tienen un significado especial en el código
HTML. Por ejemplo, HTML interpreta que el símbolo menor que y mayor que son delimitadores
de una etiqueta. Si quieres que estos simbolos sean mostrados en el contenido del texto, debemos
usar los nombres de referencia de estos caracteres. Aquí están los cuatro caracteres referenciados
más comunes, que no estaría de más que memorizases:
Hay muchas más entidades, pero estas cuatro son las más importantes por que representan
caracteres que tienen un significado especial en HTML.
Además de las etiquetas, el contenido y las entidades, un documento de HTML debe contener
una declaración doctype en la primera línea. En el HTML actual esto se escribe del siguiente
modo:
<!DOCTYPE html>
El doctype tiene una historia larga y complicada, pero todo lo que necesitas saber ahora es que el
doctype le dice al navegador que interprete el código HTML y CSS de acuerdo a los estándares
web del W3C y que no trate de emular que se trata de un Internet Explorer de los 90's. (Consultar
peculiaridades.)
HTML tiene un mecanismo para poder introducir comentarios al código que no serán mostrados
en la página cuando esta sea interpretada o leída por un navegador web. Esto suele emplearse
para añadir explicaciones al código, o dejar notas para explicar a otras personas cómo trabaja el
código de la página, o simplemente para dejar recordatorios para uno mismo. Los comentarios en
HTML están contenidos entre los siguientes símbolos:
Colocando todas estas explicaciones juntas, aquí les dejamos un pequeño ejemplo de un
documento HTML completo. Puedes copiar este código en un editor de textos, guardarlo como
miprimerdoc.html y cargarlo en un navegador. Asegurate de estar usando los códigos de caracteres
UTF-8. Dado que este documento no utiliza estilos (CSS) su apariencia será muy plana, pero sólo
se trata de un pequeño comienzo.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
</head>
<body>
<!-- Los titulos usan "h" + "n", siendo "n" un numero del 1 al 6 -->
</body>
</html>
Frames
Los frames (marcos o cuadros) permiten dividir la ventana en varias más pequeñas, de
modo que en cada una de ellas se cargua una página html distinta. Las versiones más
antiguas de los navegadores no tienen implementada esta característica, por lo que no
podrán verlos.
Sintaxis
Los frames se declaran con la etiqueta <FRAMESET>, que debe ser colocada antes de
la etiqueta <BODY>. Si no se cumple este requisito, la etiqueta se ignorará.
Un ejmplo sencillo es el siguiente: (puedes ver el ejemplo real pulsando aquí)
<HTML>
<HEAD><TITLE> Título de la página </TITLE></HEAD>
<FRAMESET ROWS=75,*>
</FRAMESET>
<NOFRAMES>
<BODY>
Lo siento,su navegador no soporta frames.
Pulse <a href="frames1.htm>aquí </A>
para acceder a los contenidos de estas páginas.
</BODY>
</NOFRAMES>
</HTML>
EL atributo ROWS (filas) es el que define el número y el tamaño de los frames, en este
caso dos filas, de 75 píxels la primera y el resto de la ventana la segunda. También se
puede dividir en columnas mediante COLS
<FRAMESET COLS=20%,*>
<FRAME SRC="frames1.htm">
<FRAMESET ROWS=20%,*>
<FRAME SRC="frames2.htm">
<FRAME SRC="frames3.htm">
</FRAMESET>
</FRAMESET>
Este código divide la ventana en dos columnas, la primera del 20 % del ancho total, y la
segunda queda dividida a su vez en dos filas, siendo la primera de ellas un 20 % del
total
El atributo TARGET
Lo más interesante de los frames es la posibilidad que tienen de interactuar entre si, es
decir pulsar un enlace en el frame 1 y cargar el contenido en el frame 2.
Para conseguir esto hay que darle un nombre a los frames y luego indicar en el enlace
donde se va a cargar mediante el atributo TARGET. Veamos un ejemplo
<HTML>
<HEAD><TITLE> Frames --Ejemplo 3--</TITLE></HEAD>
<FRAMESET COLS=150,*>
</FRAMESET>
</HTML>
Atributos de FRAME
En los frames se pueden modificar algunas de sus características por medio de las
etiquetas que siguen:
Atributo de FRAMESET
Colores
Los colores se forman a partir de tres básicos, que son el rojo, verde y azul. La
intensidad de cada componente se expresa como un número hexadecimal del 00 al FF
(del 0 al 255 en base diez)
Los números hexadecimales, se forman utilizando 16 dígitos (en lugar de los
diez de la numeración decimal habitual o dos en la binaria). Estos dígitos son: 0 1 2 3 4
56789ABCDEF
Así:, por ejemplo, el color rojo se representa como #FF0000, porque tiene el
toda la intensidad de rojo y nada de verde y azul.
Los colores basicos son:
#FF0000 - Rojo
#00FF00 - Verde
#0000FF - Azul
Para hacer un color más oscuro, reduce la intensidad del componente, dejando
los otros dos iguales. Así, el rojo (#FF0000) se hace más oscuro así: #CC0000,
#990000, #660000, #330000 etc
Para hacer que un color más pastel, simplemente variar los otros dos colores
dejando igual el principal. Así, el rojo (#FF0000) se hace más claro asi: #FF3333,
#FF6666, #FF9999, #FFCCCC etc
c
Codigos ASCII e ISO-8859-1
Otra forma de representar estos caracteres especiales es por medio del código estándar
ISO-8859-1. En este caso para incluirlos debemos escribir &#nn; donde nn representa
el número dado en la tabla de abajo