El XHTML utiliza un lenguaje de etiquetas para marcar el contenido. Para indicar que el documento que creamos es HTML, se empieza y termina con etiquetas <html> y </html>. Globalmente, una página web tiene dos partes, una cabecera y el cuerpo o contenido, identificado por las etiquetas <head> y <body> respectivamente. La primera incluye información sobre la página y la segunda el contenido en sí.
Una página básica será por ejemplo:
Esta página sería correcta para HTML, pero no para XHTML, que obliga a incluir una línea particular al principio del documento:
La directriz DOCTYPE le indica a los navegadores modernos si pueden suponer o no que la página está hecha completamente con estándares o si bien deben ser tolerantes a fallos, la implementación de esta compatibilidad puede variar entre navegadores.
En la inmensidad de internet tiene que haber una manera de incluir los datos básicos de nuestra página web para que pueda ser encontrada y catalogada por los sistemas de búsqueda; para esto son las etiquetas <meta>, que se colocan en la cabecera de la página (<head>) e incluyen información sobre el contenido de la página, el autor, palabras clave, etc. Una serie de etiquetas META típicas son:
Las etiquetas META permiten tambien hacer cosas interesantes como controlar el periodo de refresco de nuestra página web, por ejemplo:
que recargará automáticamente la página cada 5 segundo (un poco optimista). Otra posibilidad es usarla para redireccionar de una página a otra esperando un tiempo, por ejemplo:
Esto rediccionará nuestra página a otra llamada "pagina_nueva.html" al cabo de 3 segundos. Esto es muy útil si por ejemplo cambiamos de sitio nuestra página y queremos reenviar a los visitantes a la nueva dirección.
Se utilizan como títulos y subtítulos, para empezar párrafos y ayudar a estructurar un documento en secciones u subcciones,por ejemplo:
y se verá como:
Cabecera muy grande Cabecera grande Esta ya no es tan grande Cabecera pequeña Cabecera muy pequeña Cabecera ridícula
El estilo por defecto de las cabeceras son textos grandes en negrita y sin otra decoración, que además añaden una nueva línea despues de ellos, ya que normalmente despues suele venir un párrafo u otra cabecera más pequeña. Los párrafos se marcan entre etiquetas <p> y </p>:
Y el resultado es:
Esto es un título
Aquí empieza el párrafo...
Otras etiquetas importantes:
Y el resultado:
Ejemplo de texto resaltado Ejemplo de texto enfatizado Ejemplo de superíndice Ejemplo de subíndice Ejemplo detexto tachadoEjemplo de texto de código
El texto preformateado se usa para incluir texto monoespaciado en una página web, tal y como se escribe. Al escribir un texto entre etiquetas <pre>, el texto aparecerá con fuente monoespacida tipo máquina de escribir y respetará los espacios en blanco y nuevas líneas que incluyamos. Esta etiqueta es muy útil para incluir partes de código o sucesiones de comandos en un documento HTML. Un ejemplo de trozo de código en Python entre estas etiquetas sería así:
if myVars==2: modeplot='ic' if len(p[1])<3: print 'ERROR: Image for contours not specified: Check config file' sys.exit(0) else: im2=p[1][2]
Otras etiquetas muy usadas son <br /> empieza una nueva línea sin incluir espacios verticales estre ellas y <hr />, que crea una línea horizontal donde se ponga. Fíjense que estas etiquetas se abren y se cierran en el mismo momento, algo que se debe hacer siempre en XHTML.
El HTML permite escribir caracteres especiales como las tildes, eñe, etc, empleando su código HTML:
ñ para la ñ á para la á ú para la ú α para la α
Escribir tildes y eñes de esta manera puede llegar a ser muy incómodo, pero normalmente cuaquier editor de texto (nedit, emacs, vi, etc) hace el cambio al su código HTML automáticamente si está correctamente configurado, por lo que no será necesario preocuparse mucho por eso, aunque sí tendremos que saberlo para letras griegas y otros caracteres matemáticos. En WebStandards hay una lista de caracteres especiales en HTML.
Los enlaces o links son fundamentales en una página web y permiten conectar unas páginas con otras. Existen tres tipos de enlaces:
Internos En la misma página Locales En el mismo dominio Globales En toda la internet
La etiqueta de enlace es del tipo:
El enlace se verá como: Página del proyecto
Los internos referencian una parte de la misma página mediante "anclas" (anchors) del tipo: <a id="top"></a>.
y el enlace ser haria a la etiqueta "top":
que resulta:
Ir arriba
Para enlaces globales hay que poner la URL completa:
que produce:
Se usan para lanzar el administrador de correo electrónico con la dirección de correo indicada en lugar visitar un sitio. Son idénticos a los normales, pero poniendo la dirección como destino y anteponiendo a ella "mailto:"
y resulta:
Consulta al CAU
Un atributo importante de los enlaces son destinos (target), que pueden ser:
target="_blank" Abre una nueva página en un nuevo navagador target="_self" Carga una nueva página en la ventana actual target="_parent" Carga una nueva página en un marco que es superior al que se encuentra el enlace target="_top" Carga una nueva página en el navegador cancelando todos los marcos
por ejemplo, si a <a href="http://www.google.com">Google</a> le añadimos <a href="http://www.google.com" target="_blank">Google</a>, tendremos:
Los navegadores admiten imágenes en formato jpg, png o gif en documentos HTML. La etiqueta para insertar una imagen es:
y mostrará:
si se le asigna el tamaño:
Si no se especifica el tamaño, el navegador usará la original de la imagen, aunque es recomendable incluirlo por el comportamiento que pueda tener en algunos navegadores, especialmente si por algún motivo la imagen no se encuentra.
Una imagen se puede poner como origen de un enlace desde cualquier otro sitio:
y tendremos:
o bien como enlace a una versión mayor (miniatura):
Fíjese que además se ha incluído la propiedad alt en la etiqueta imagen, que no es más que una breve descripción de la imagen que se mostrará en navegadores de texto o cuando las visión de imágenes esté inhabilitada. Cuando se creen documentos XHTML, siempre se debe incluir la propiedad alt.
En el enlace, también se usó la propiedad title, que es similar a alt, pero se usa como un título sobre el enlace cuando el puntero se coloca encima y describe a dónde lleva o qué hace ese enlace. Es muy práctico usar title en enlaces que tengan pocas palablas y necesiten comentar a dónde llevan, como en un menú; también es útil usarlas cuando los enlaces son imágenes, porque no siempre queda claro qué es lo que hacen al pinchar en ellas.
En XHTML existen otras etiquetas que permiten estructurar un documento y mostrar información tabular. Los más importantes son las listas y las tablas.
Permiten agrupar y alinear líneas de texto. Por ejemplo:
que producirá una lista no ordenada de elementos:
Aqui, la etiqueta <ul> anuncia una lista sin ordenar y las <li> son cada unos de los elementos de la lista. Si lo que queremos es una lista ordenada, podemos usar <ol> en lugar de <ul> y los elementos de la lista serán los mismos:
Las tablas se usan para mostrar datos ordenado o listas complejas y se limitan entre etiquetas entre <table> y </table> usando <tr> para las filas y <td> para las columnas. Una tabla simple sería:
mostrará
Fila 1, celda 1 | Fila 1, celda 2 |
Fila 2, celda 1 | Fila 2, celda 2 |
Se pueden usar los atributos rowspan o colspan para que una celda abarque varias filas o columnas, repectivamente:
que mostrará:
Columna 1 | Columna 2 | Columna 3 |
Fila 1, celda 1 | Fila 1, celda 2 | Fila 1, celda 3 |
Fila 2, celda 3 | ||
Fila 3, celda 1 |
Aunque crear tablas en HTML es simple, cuando son muy complejas o muy grandes se hace muy incómodo trabajar con ellas, consumiendo el tiempo y la paciencia del diseñador con cada pequeño cambio. Por esto es recomendable usar algún editor gráfico de HTML para crearlas si las tablas se ponen tontas.
Los formularios permiten interactuar al usuario y el administrador con la ayuda de lenguajes del lado del servidor (PHP, Perl, JSP, ASP) o CGIs. Todos los formularios se deben encerrar entre etiquetas <form> para que se puedan enviar los datos y dentro de ellas se incluyen una a varias etiquetas de formularios. Algunos tipos de formularios son:
Es el formulario más simple y se usa para incluir textos pequenos de una línea. Un ejemplo:
Y se verá como:
Nombre:
E-mail:
En este ejemplo se usan dos campos de texto para escribir el nombre y el correo electrónico; el tamaño de cada uno son 30 caracteres y tiene una longitud máxima de tambien 30 caracteres.Además cada uno tiene un identificador (name e id) que le identifica, Para que el formulario sea efectivo el formulario tiene que incluir además un botón para enviar los datos, y se hace con otra etuqueta <input> de tipo "submit"; al pinchar en el botón se enviarán las variables "nombre" y "email" a donde indique el atributo "action" del <form>, que en este caso es el correo electrónico. Botones (Radio Buttons)
No permiten escribir, sino elejir una entre varias opciones:
Y resulta:
¿Cual es la capital de Botswana? Antananarivo Gaborone Luanda
Como una opción de botón sólo permite elejir una opción, todas las opciones del mismo formulario deben llamarse o identificarse igual, como en este ejemplo, en el que el nombre de la variable es "capital". Cajas de varias opciones (Check boxes)
Son como las anteriores, pero permiten varios valores:
Y tendremos un formulario parecido a
Position (AR, Dec) Redshift Magnitude Morphological type
Permiten elejir una opción de una lista de opciones:
Elije tipo de objeto:
Aquí, al enviar el formulario a "consulta.php" se envía la variable objetos con el valor value de la opción elejida.
Se utilizan para enviar texto largo:
Se verá como:
En los últimos años, el World Wide Web Consortium ha liderado el esfuerzo de estandarizar los lenguajes para web, necesidad que aumentó aumentó durante la guerra de navegadores a finales de los noventa. Actualmente, XHTML 1.0 es la recomendación del W3C para el marcado y se define como una aplicación de XML. El XHTML tiene algunas exigencias adicionales al HTML 4.0 que le hacen más robusto y compatible:
por ejemplo, el siguiente código es incorrecto en XHTML:
Lo correcto sería:
Igualmente, las etiquetas vacías se deben cerrar siempre y escribir <br /> en lugar de <br>.
Más reglas de marcado
Por ejemplo:
Los atributos en XHTML no se pueden minimizar:
HTML XHTML compact compact="compact" checked checked="checked" declare declare="declare" readonly readonly="readonly" disabled disabled="disabled" selected selected="selected" defer defer="defer" ismap ismap="ismap" nohref nohref="nohref" noshade noshade="noshade" nowrap nowrap="nowrap" multiple multiple="multiple" noresize noresize="noresize"@]
Un documento XHTML debe tener la siguiente estructura:
El DOCTYPE indica al navegar el tipo de marcado de que contiene el documento, de los que hay tres tipos: estricto, transicional, frameset.
XHTML 1.0 Strict
Se usa cuando se quiere un marcado totalmente limpio, sin atributos de presentación, para lo que se deben usar CSS.
XHTML 1.0 Transitional
Se usa para mezclar propiedades de presentación de HTML y CSS juntas, especialmente cuando cuando se quiere tener en cuenta a navegadores antiguos, que no soportan CSS.
XHTML 1.0 Frameset
Se emplea cuando se quieren incluir marcos (frames) en el documento.