|
|
Manual de HTML |
|
Manual
por: DesarrolloWeb.com
|
Versión
on-line: |
Prólogo al manual
de HTML
Bienvenidos al manual de HTML de
DesarrolloWeb. A través de todos estos capítulos
vamos a descubrir el lenguaje utilizado para la creación de
páginas web: el Hyper Text Markup Language, más
conocido como HTML.
Puede que en un principio, el
hecho de hablar de un lenguaje informático pare los pies a más
de uno. No os asustéis, el HTML no deja de ser más que
una forma un tanto peculiar de dar formato a los textos e imágenes
que pretendemos ver por medio de un navegador.
Antes de
entrar en materia, lo cual haremos de una forma directa y practica,
os recomendamos fervorosamente la lectura previa de nuestro manual
Publicar en
Internet. A partir de esta guía, aprenderéis
los conceptos más básicos necesarios para creación
de un sitio web. También os permitirá acceder a este
manual con unos conocimientos de base sobre HTML imprescindibles y os
dejara bien claro lo que su conocimiento aporta con respecto al
simple uso de editores de HTML.
El público al que va
enfocado este manual es a todos aquellos que, con conocimientos
mínimos de informática, desean hacer mundialmente
público un mensaje, una idea o una información usando
para ello el medio más práctico, económico y
actual: Internet.
Lo que necesitáis como base para
llevar a buen término el aprendizaje (aparte de leer el manual
Publicar en
Internet) es:
Saber escribir con un teclado
Saber manejar un ratón
Tener ganas de aprender
Lo que obtendréis después de haber pasado por estos capítulos:
Capacidad para crear y publicar vuestro propio sitio web con un mínimo de calidad
Conocimientos de todo tipo sobre las tecnologías y herramientas empleadas en el ámbito de la Red
Posiblemente una afición que puede convertirse en pasión y terminar, en algunos casos, siendo un vicio o un oficio.
Os recordamos que estamos a vuestra entera disposición para
resolveros todo tipo de dudas referentes a este manual. Contactarnos
es tan fácil como pinchar sobre el mail del autor del articulo
(situado al pie de la página).
También podéis
formular vuestras cuestiones y, esperamos que en un futuro ayudar a
otros compañeros, en el foro
sobre HTML o bien en la lista
de correo de DesarrolloWeb.
Pasemos pues sin más
preámbulos a ver de qué se trata el HTML...
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Introducción
al HTML
HTML es el lenguaje con el que se
escriben las páginas web. Las páginas web pueden
ser vistas por el usuario mediante un tipo de aplicación
llamada navegador. Podemos decir por lo tanto que el HTML es el
lenguaje usado por los navegadores para mostrar las páginas
webs al usuario, siendo hoy en día la interface más
extendida en la red.
Este lenguaje nos permite aglutinar
textos, sonidos e imágenes y combinarlos a nuestro gusto.
Además, y es aquí donde reside su ventaja con respecto
a libros o revistas, el HTML nos permite la introducción de
referencias a otras páginas por medio de los enlaces
hipertexto.
El HTML se creó en un principio con
objetivos divulgativos. No se pensó que la web llegara a ser
un área de ocio con carácter multimedia, de modo que,
el HTML se creó sin dar respuesta a todos los posibles usos
que se le iba a dar y a todos los colectivos de gente que lo
utilizarían en un futuro. Sin embargo, pese a esta deficiente
planificación, si que se han ido incorporando modificaciones
con el tiempo, estos son los estándares del HTML. Numerosos
estándares se han presentado ya. El HTML 4.01 es el último
estándar a septiembre de 2001.
Esta evolución
tan anárquica del HTML ha supuesto toda una seria de
inconvenientes y deficiencias que han debido ser superados con la
introducción de otras tecnologías accesorias capaces de
organizar, optimizar y automatizar el funcionamiento de las webs.
Ejemplos que pueden sonaros son las CSS,
JavaScript
u otros. Veremos más adelante en qué consisten algunas
de ellas.
Otros de los problemás que han acompañado
al HTML es la diversidad de navegadores presentes en el mercado los
cuales no son capaces de interpretar un mismo código de una
manera unificada. Esto obliga al webmáster a, una vez creada
su página, comprobar que esta puede ser leída
satisfactoriamente por todos los navegadores, o al menos, los más
utilizados.
Además del navegador necesario para ver
los resultados de nuestro trabajo, necesitamos evidentemente otra
herramienta capaz de crear la página en si. Un archivo HTML
(una página) no es más que un texto. Es por ello que
para programar en HTML necesitamos un editor de textos.
Es
recomendable usar el Bloc
de notas que viene con windows, u otro editor de textos sencillo.
Hay que tener cuidado con algunos editores más complejos como
Wordpad o Microsoft Word, pues colocan su propio código
especial al guardar las páginas y HTML es únicamente
texto plano, con lo que podremos tener problemas.
Existen
otro tipo de editores específicos para la creación de
páginas web los cuales ofrecen muchas facilidades que nos
permiten aumentar nuestra productividad. No obstante, es aconsejable
en un principio utilizar una herramienta lo más sencilla
posible para poder prestar la máxima atención a nuestro
código y familiarizarnos lo antes posible con él.
Siempre tendremos tiempo más delante de pasarnos a editores
más versátiles con la consiguiente ganancia de tiempo.
Para tener más claro todo el tema de editores y los
tipos que existen, visita los artículos:
También puedes acceder a descripciones editores más complejos que el Block de Notas, pero más potentes como Homesite o UltraEdit.
Es importante tener claro todo ello puesto que en función
de vuestros objetivos puede que, más que aprender HTML,
resulte más interesante aprender el uso de una aplicación
para la creación de páginas.
Así pues,
una página es un archivo donde está contenido el código
HTML en forma de texto. Estos archivos tienen extensión .html
o .htm (es indiferente cuál utilizar). De modo que cuando
programemos en HTML lo haremos con un editor de textos y guardaremos
nuestros trabajos con extensión .html, por ejemplo
mipágina.html
|
Consejo: Utiliza siempre la misma extensión en tus archivos HTML. Eso evitará que te confundas al escribir los nombres de tus archivos unas veces con .htm y otras con .html. Si trabajas con un equipo en un proyecto todavía más importante que os pongáis todos de acuerdo en la extensión. |
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Sintaxis
del HTML
El HTML es un lenguaje que basa su
sintaxis en un elemento de base al que llamamos etiqueta. La etiqueta
presenta frecuentemente dos partes:
Una apertura de
forma general <etiqueta>
Un cierre de tipo </
etiqueta>
Todo lo incluido en el interior de esa etiqueta
sufrirá las modificaciones que caracterizan a esta etiqueta.
Así por ejemplo:
|
Las etiquetas <b> y </b> definen un texto en
negrita. Si en nuestro documento HTML escribimos una frase con el
siguiente código: |
|
Las etiquetas <p> y </p> definen un párrafo.
Si en nuestro documento HTML escribiéramos: Hola, estamos en el párrafo 1 Ahora hemos cambiado de párrafo |
Partes de un documento HTML
Además de
todo esto, un documento HTML ha de estar delimitado por la
etiqueta <html> y </html>. Dentro de este documento,
podemos asimismo distinguir dos partes principales:
El
encabezado, delimitado por <head> y </head> donde
colocaremos etiquetas de índole informativo como por ejemplo
el titulo de nuestra página.
El cuerpo, flanqueado
por las etiquetas <body> y </body>, que será
donde colocaremos nuestro texto e imágenes delimitados a su
vez por otras etiquetas como las que hemos visto.
El
resultado es un documento con la siguiente estructura:
<html>
<head>
Etiquetas y contenidos del encabezado
Datos
que no aparecen en nuestra 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>
Las
mayúsculas o minúsculas son indiferentes al escribir
etiquetas
A notar que las etiquetas pueden ser escritas
con cualquier tipo de combinación de mayúsculas y
minúsculas. <html>, <HTML> o <HtMl> son la
misma etiqueta. Resulta sin embargo aconsejable acostumbrarse a
escribirlas en minúscula ya que otras tecnologías que
pueden convivir con nuestro HTML (XML por ejemplo) no son tan
permisivas y nunca viene mal coger buenas costumbres desde el
principio para evitar fallos triviales en un futuro.
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Tu
primera página
Podemos ya con estos
conocimientos, y alguno que otro más, crear nuestra primera
página. Para ello, abre tu editor de textos y copia y pega el
siguiente texto en un nuevo documento.
<html>
<head>
<title>Cocina Para Todos</title>
</head>
<body>
<p><b>Bienvenido,</b></p>
<p>Estás en la página <b>Comida para
Todos</b>.</p>
<p>Aquí aprenderás
recetas fáciles y deliciosas.</p>
</body>
</html>
Ahora guarda ese archivo con extensión
.html o .htm en tu disco duro. Para ello accedemos al menú
Archivo y seleccionamos la opción Guardar como. En la ventana
elegimos el directorio donde deseamos guardarlo y colocaremos su
nombre, por ejemplo mi_pagina.html
|
Consejo:
Utiliza nombres en tus archivos que tengan algunas normas básicas
para ahorrarte disgustos y lios. |
Con el documento HTML creado, podemos ver el resultado
obtenido a partir de un navegador. Es conveniente, llegado a este
punto, hacer hincapié en el hecho de que no todos los
navegadores son idénticos. Desgraciadamente, los resultados de
nuestro código pueden cambiar de uno a otro por lo que resulta
aconsejable visualizar la página en varios. Generalmente se
usan Internet Explorer y Netscape como referencias ya que son los más
extendidos.
A decir verdad, en el momento que estas líneas
son escritas, Internet Explorer acapara la inmensa mayoría de
usuarios (90% más o menos) y Netscape esta relegado a un
segundo plano. Esto no quiere decir que lo debemos dejar totalmente
de lado ya que el 10% de visitas que puede proporcionarnos puede
resultar muy importante para nosotros. Por otra parte, parece que se
ha hecho publica la intención de Netscape de desviar un poco
su temática de negocios hacia otros derroteros y abandonar
esta llamada "lucha de navegadores" en la cual estaba
recibiendo la peor parte.
Pues bien, volviendo al tema, una
vez creado el archivo .html o .htm, podemos visualizar el resultado
de nuestra labor abriendo dicha página con un navegador. Para
hacerlo, la forma resulta diferente dependiendo del navegador:
Si
estamos empleando el Explorer, hemos de ir al barra de menú,
elegir Archivo y seleccionar Abrir. Una ventana se abrirá.
Pulsamos sobre el botón Examinar y accederemos a una ventana a
partir de la cual podremos movernos por el interior de nuestro disco
duro hasta dar con el archivo que deseamos abrir.
La cosa no
resulta más difícil para Netscape. En este caso, nos
dirigimos también a la barra de menú principal y
elegimos File y a continuación Open File. La misma ventana de
búsqueda nos permitirá escudriñar el contenido
de nuestro PC hasta dar con el archivo buscado.
|
Nota: También puedes abrir el archivo si accedes al directorio donde lo guardaste. En él podrás encontrar tu archivo HTML y verás que tiene como icono el logotipo de Netscape o el de Internet Explorer. Para abrirlo simplemente hacemos un doble click sobre él. |
Una vez abierto el archivo podréis ver vuestra primera
página web. Algo sencillita pero por algo se empieza. Ya
veréis como en poco tiempo seremos capaces de mejorar
sensiblemente.
Fijaos en la parte superior izquierda de la
ventana del navegador. Podréis comprobar la presencia del
texto delimitado por la etiqueta <title>. Esta es una de las
funciones de esta etiqueta, cuyo principal cometido es el de servir
de referencia en los motores de búsqueda como Altavista
o Yahoo.

Por otro lado, los elementos que colocamos entre la
etiqueta <body> y </body> se pueden ver en el espacio
reservado para el cuerpo de la página.
Se puede ver
la página del ejemplo en funcionamiento aquí.
Si
ahora hacéis click con el botón derecho sobre la página
y elegís Ver código fuente (o View page source) veréis
como en una ventana accesoria aparece el código de nuestra
página. Este recurso es de extremada importancia ya que nos
permite ver el tipo de técnicas empleadas por otros para la
confección de sus páginas.
Con todo esto
asimilado ya estamos en condiciones de adentrarnos un poco más
en la descripción de algunas de las etiquetas más
empleadas del HTML.
|
Posible
problema: Al utilizar el Block de Notas en Windows en
ocasiones, aunque le digamos que es un archivo .html, el
documento se guarda como si fuera un texto y no una página
web. Lo que está pasando es que el Block de Notas tiene
predeterminado guardar sus archivos con extensión .txt y
en realidad lo que está guardando en el disco duro es
mi_pagina.html.txt |
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
formato
de párrafos en HTML
En los capítulos
anteriores hemos presentado a titulo de ejemplo algunas etiquetas que
permiten dar formato a nuestro texto. En este capitulo veremos con
más detalle las más ampliamente utilizadas y
ejemplificaremos algunas de ellas posteriormente.
Formatear
un texto pasa por tareas tan evidentes como definir los párrafos,
justificarlos, introducir viñetas, numeraciones o bien poner
en negrita, itálica...
Hemos visto que para definir
los párrafos nos servimos de la etiqueta <p> que
introduce un salto y deja una línea en blanco antes de
continuar con el resto del documento.
Podemos también
usar la etiqueta <br>, de la cual no existe su cierre
correspondiente (</br>), para realizar un simple retorno de
carro con lo que no dejamos una línea en blanco sino que solo
cambiamos de línea.
|
Nota: Existen otras etiquetas que no tienen su correspondiente de cierre, como <img> para las imágenes, las veremos más adelante. Esto ocurre porque un salto de línea o una imagen no empiezan y acaban más adelante sino que sólo tienen presencia en un lugar puntual. |
Podéis comprobar que cambiar de línea en nuestro
documento HTML sin introducir alguna de estas u otras etiquetas no
implica en absoluto un cambio de línea en la página
visualizada. En realidad el navegador introducirá el texto y
no cambiara de línea a no ser que esta llegue a su fin o bien
lo especifiquemos con la etiqueta correspondiente.
Los
párrafos delimitados por etiquetas <p> pueden ser
fácilmente justificados a la izquierda, centro o derecha
especificando dicha justificación en el interior de la
etiqueta por medio de un atributo align. Un atributo no es más
que un parámetro incluido en el interior de la etiqueta que
ayuda a definir el funcionamiento de la etiqueta de una forma más
personal. Veremos a lo largo de este manual cantidad de atributos muy
útiles para todo tipo de etiquetas.
Así, si
deseásemos introducir un texto alineado a la izquierda
escribiríamos:
<p align="left">Texto
alineado a la izquierda</p>
El resultado seria:
Texto alineado a la izquierda
Para una justificación al centro:
<p
align="center">Texto alineado al centro</p>
que
daría:
Texto alineado al centro
Para justificar a la derecha:
<p
align="right">Texto alineado a la derecha</p>
cuyo efecto seria:
Texto alineado a la derecha
Como veis, en cada caso el atributo align toma determinados
valores que son escritos entre comillas. En algunas ocasiones
necesitamos especificar algunos atributos para el correcto
funcionamiento de la etiqueta. En otros casos, el propio navegador
toma un valor definido por defecto. Para el caso de align, el valor
por defecto es left.
|
Nota: Los atributos tienen sus valores indicados entre comillas ("), pero si no los indicamos entre comillas también funcionará en la mayoría de los casos. Sin embargo, es aconsejable que pongamos siempre las comillas para acostumbrarnos a utilizarlas, por dar homogeneidad a nuestros códigos y para evitar errores futuros en sistemas más quisquillosos. |
El atributo align no es exclusivo de la etiqueta <p>.
Otras etiquetas muy comunes, que veremos más adelante, entre
las cuales se introducen texto o imágenes, suelen hacer uso de
este atributo de una forma habitual.
Imaginemos un texto
relativamente largo donde todos los párrafos están
alineados a la izquierda (por ejemplo). Una forma de simplificar
nuestro código y de evitar introducir continuamente el
atributo align sobre cada una de nuestras etiquetas es utilizando la
etiqueta <div>.
Esta etiqueta por si sola no sirve para
nada. Tiene que estar acompañada del atributo align y lo que
nos permite es alinear cualquier elemento (párrafo o imagen)
de la manera que nosotros deseemos.
Así, el código:
<p align="left">Parrafo1</p>
<p
align="left"> Parrafo3</p>
<p align="left">
Parrafo2</p>
es equivalente a:
<div
align="left">
<p>Parrafo1</p>
<p>Parrafo2</p>
<p>Parrafo3</p>
</div>
Como hemos visto, la etiqueta <div>
marca divisiones en las que definimos un mismo tipo de alineado.
Ejemplo práctico:
Para practicar un
poco lo que acabamos de ver vamos a proponer un ejercicio que podéis
resolver en vuestros ordenadores. Simplemente queremos construir una
página que tenga, por este orden:
2 Párrafos
centrados
3 Párrafos alineados a la derecha
Un salto
de línea triple
1 párrafo alineado a la izquierda
No vamos a escribir en esta ocasión el código
fuente del ejercicio. Podemos verlo
en funcionamiento en nuestro navegador y en la ventana podemos
obtener el código fuente seleccionando en el menú Ver
la opción Código fuente.
Ver
el ejercicio en marcha.
Encabezados
Existen
otras etiquetas para definir párrafos especiales, formateados
como títulos. Son los encabezados o Header en inglés.
Como decimos, son etiquetas que formatean el texto como un titular,
para lo cual asignan un tamaño mayor de letra y colocan el
texto en negrita.
Hay varios tipos de encabezados, que se
diferencian en el tamaño de la letra que utilizan. La etiqueta
en concreto es la <h1>, para los encabezados más
grandes, <h2> para los de segundo nivel y así hasta <h6>
que es el encabezado más pequeño.
Los
encabezados implican también una separación en
párrafos, así que todo lo que escribamos dentro de <h1>
y </h1> (o cualquier otro encabezado) se colocará en un
párrafo independiente.
Podemos ver cómo se
presentan algunos encabezados a continuación.
<h1>Encabezado
de nivel 1</h1>
Se verá de esta manera en la
página:
Los encabezados, como otras etiquetas de HTML, soportan el
atributo align. Vemos un ejemplo de encabezado de nivel 2 alineado al
centro.
<h2 align="center">Encabezado de
nivel 2</h2>
Se verá de esta manera en la
página:
Otro ejercicio interesante es construir una página web que
contenga todos los encabezados posibles. Se puede ver a continuación.
<html>
<head>
<title>Todos los
encabezados</title>
</head>
<body>
<h1>Encabezado de nivel 1</h1>
<h2>Encabezado
de nivel 1</h2>
<h3>Encabezado de nivel 1</h3>
<h4>Encabezado de nivel 1</h4>
<h5>Encabezado
de nivel 1</h5>
<h6>Encabezado de nivel 1</h6>
</body>
</html>
Se puede ver
el ejercicio en una página aparte.
|
Consejo: No debemos utilizar las etiquetas de encabezado para formatear el texto, es decir, si queremos colocar un tipo de letra más grande y en negrita debemos utilizar las etiquetas que existen para ello (que veremos en seguida). Los encabezados son para colocar titulares en páginas web y es el navegador el responsable de formatear el texto de manera que parezca un titular. Cada navegador, pues, puede formatear el texto a su gusto con tal de que parezca un titular. |
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
formateando
el texto
Además de todo lo relativo a
la organización de los párrafos, uno de los aspectos
primordiales del formateo de un texto es el de la propia letra.
Resulta muy común y práctico presentar texto resaltado
en negrita, itálica y otros. Paralelamente el uso de índices,
subíndices resulta vital para la publicación de textos
cient&iaacute;ficos. Todo esto y mucho más es posible por
medio del HTML a partir de multitud de etiquetas entre las cuales
vamos a destacar algunas.
Negrita
Podemos
escribir texto en negrita incluyéndolo dentro de las etiquetas
<b> y </b> (bold). Esta misma tarea es desempeñada
por <strong> y </strong> siendo ambas equivalentes.
Nosotros nos inclinamos por la primeras por simple razon de esfuerzo.
Escribiendo un código de este tipo:
<b>Texto
en negrita</b>
Obtenemos este resultado:
Texto
en negrita
|
Nota:
¿Qué diferencia hay entre <b> y <strong>?
|
Itálica
También en este
caso existen dos posibilidades, una corta: <i> e </i>
(italic) y otra un poco más larga: <em> y </em>.
En este manual, y en la mayoría de las páginas que
veréis por ahí, os encontraréis con la primera
forma sin duda más sencilla a escribir y a acordarse.
He
aquí un ejemplo de texto en itálica:
<i>Texto
en itálica</i>
Que da el siguiente efecto:
Texto en itálica
Subrayado
El HTML nos propone también para el subrayado el par
de etiquetas: <u> y </u> (underlined). Sin embargo, el
uso de subrayados ha de ser aplicado con mucha precaución dado
que los enlaces hipertexto van, a no ser que se indique lo contrario,
subrayados con lo que podemos confundir al lector y apartarlo del
verdadero interés de nuestro texto.
Subíndices
y supraíndices
Este tipo de formato resulta
de extremada utilidad para textos científicos. Las etiquetas
empleadas son:
<sup> y </sup> para los
supraíndices
<sub> y </sub> para los
subíndices
Aquí tenéis un ejemplo:
La
<sup>13</sup>CC<sub>3</sub>H<sub>4</sub>ClNOS
es un heterociclo alergeno enriquecido
El resultado:
La
13CC3H4ClNOS es un heterociclo
alergeno enriquecido
Anidar etiquetas
Todas
estas etiquetas y por supuesto el resto de las vistas y que veremos
más adelante pueden ser anidadas unas dentro de otras de
manera a conseguir resultados diferentes. Así, podemos sin
ningún problema crear texto en negrita e itálica
embebiendo una etiqueta dentro de la otra:
<b>Esto sólo
está en negrita <i>y esto en negrita e itálica</i></b>
Esto nos daria:
Esto sólo estáa en
negrita y esto en negrita e itálica
|
Consejo: Cuando anides etiquetas HTML hazlo correctamente. Nos referimos a que si abres etiquetas dentro de otra más principal, antes de cerrar la etiqueta principal cierres las etiquetas que hayas abierto dentro de ella. Debemos
evitar códigos como el siguiente:
|
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Color,
tamaño y tipo de letra
A pesar de que
por razones de homogeneidad y sencillez de codigo este tipo de
formatos son controlados actualmente por hojas
de estilo en cascada (de las cuales ya tendremos tiempo de
hablar), existe una forma clásica y directa de definir color
tamaño y tipo de letra de un texto determinado.
Esto
se hace a partir de la etiqueta <font> y su cierre
correspondiente. Dentro de esta etiqueta deberemos especificar los
atributos correspondientes a cada uno de estos parámetros que
deseamos definir. A continuación os comentamos los atributos
principales de esta etiqueta:
Atributo face
Define
el tipo de letra. Este atributo es interpretado por versiones de
Netscape a partir de la 3 y de MSIE 3 o superiores. Otros navegadores
las ignoran completamente y muestran el texto con la fuente que
utilizan.
Hay que tener cuidado con este atributo ya que cada
usuario, dependiendo de la plataforma que utilice, puede no disponer
de los mismos tipos de letra que nosotros con lo que, si nosotros
elegimos un tipo del que no dispone, el navegador se verá
forzado a mostrar el texto con la fuente que utiliza por defecto
(suele ser Times New Roman). Para evitar esto, dentro del atributo
suelen seleccionarse varios tipos de letra separados por comas. En
este caso el navegador comprobará que dispone del primer tipo
enumerado y si no es así, pasará al segundo y así
sucesivamente hasta encontrar un tipo que posea o bien acabar la
lista y poner la fuente por defecto. Veamos un ejemplo.
<font
face="Comic Sans MS,arial,verdana">Este texto tiene otra
tipografía</font>
Que se visualizaría así
en una página web.
Este
texto tiene otra tipografía
|
Nota: Aquí tenemos un ejemplo de atributo cuyo valor debe estar limitado por comillas ("). Habíamos dicho que las comillas eran opcionales en los atributos, sin embargo esto no es así siempre. Si el valor del atributo contiene espacios, como es el caso de: face="Comic Sans MS,arial,verdana"
face=Comic Sans MS,arial,verdana
|
Atributo size
Define el tamaño de la
letra. Este tamaño puede ser absoluto o relativo.
Si
hablamos en términos absolutos, existen 7 niveles de tamaño
distintos numerados de 1 a 7 por orden creciente. Elegiremos por
tanto un valor size="1" para la letra más pequeña
o size="7" para la más grande.
<font
size=4>Este texto es más grande</font>
Que se
visualizaría así en una página web.
Este
texto es más grande
Podemos asimismo modificar
el tamaño de nuestra letra con respecto al del texto mostrado
precedentemente definiendo el número de niveles que queremos
subir o bajar en esta escala de tamaños por medio de un signo
+ o -. De este modo, si definimos nuestro atributo como size="+1"
lo que queremos decir es que aumentamos de un nivel el tamaño
de la letra. Si estabamos escribiendo previamente en 3, pasaremos
automáticamente a 4.
Los tamaños reales que veremos
en pantalla dependerán de la definición y del tamaño
de fuente elegido por el usuario en el navegador. Este tamaño
de fuente puede ser definido en el Explorer yendo al menu superior,
Ver/Tamaño de la fuente. En Netscape elegiremos View/Text
Size. Esta flexibilidad puede en más de una ocasión
resultarnos embarazosa ya que en muchos casos desearemos que el
tamaño del texto permanezca constante para que éste
quepa en un determinado espacio. Veremos en su momento que esta
prefijación del tamaño puede ser llevada a cabo por las
hojas de estilo en cascada.
Atributo color
El
color del texto puede ser definido mediante el atributo color. Cada
color es a su vez definido por un número hexadecimal que esta
compuesto a su vez de tres partes. Cada una de estas partes
representa la contribución del rojo, verde y azul al color en
cuestión.
Podéis entender cómo funciona
esta numeración y cuáles son los colores que resultan
más compatibles a partir de este artículo: Los
colores y HTML.
Por otra parte, es posible definir de una
manera inmediata algunos de los colores más frecuentemente
usados para los que se ha creado un nombre más memotécnico:
|
Nombre |
Color |
|
Aqua |
|
|
Black |
|
|
Blue |
|
|
Fuchsia |
|
|
Gray |
|
|
Green |
|
|
Lime |
|
|
Maroon |
|
|
Navy |
|
|
Olive |
|
|
Purple |
|
|
Red |
|
|
Silver |
|
|
Teal |
|
|
White |
|
|
Yellow |
<font color="red">Este texto está
en rojo</font>
Que se visualizaría así en
una página web.
Este texto está
en rojo
Con todo esto estamos ya en disposicion de
crear un texto formateado de una forma realmente elaborada.
Pongamos pues en practica todo lo que hemos aprendido en
estos capitulos haciendo un ejercicio consistente en una página
que tenga las siguientes características:
Un titular con encabezado de nivel 1, en itálica y color verde oliva.
Un segundo titular con encabezado de nivel 2, también de color verde oliva.
Todo el texto de la página deberá presentarse con una fuente distinta de la fuente por defecto. Por ejemplo "Comic Sans MS" y en caso de que ésta no esté en el sistema que se coloque la fuente "Arial".
Se puede ver
una posible solución del ejercicio en este enlace. (Ver el
código fuente de la página para ver cómo lo
hemos resuelto)
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Atributos
para páginas
Las páginas HTML
pueden construirse con variedad de atributos que le pueden dar un
aspecto a la página muy personalizado. Podemos definir
atributos como el color de fondo, el color del texto o de los
enlaces. Estos atributos se definen en la etiqueta <body> y,
como decíamos son generales a toda la página.
Lo
mejor para explicar su funcionamiento es verlos uno por uno.
Atributos para fondos
bgcolor:
especificamos un color de fondo para la página. En el capítulo
anterior y en el taller
de los colores y HTML hemos aprendido a construir cualquier
color, con su nombre o su valor RGB. El color de fondo que podemos
asignar con bgcolor es un color plano, es decir el mismo para toda la
superficie del navegador.
background: sirve para
indicar la colocación de una imagen como fondo de la página.
La imagen se coloca haciendo un mosaico, es decir, se repite muchas
veces hasta ocupar todo el espacio del fondo de la página. En
capítulos más adelante veremos como se insertan
imágenes con HTML y los tipos de imágenes que se pueden
utilizar.
Ejemplo de fondo
Vamos a colocar
esta imagen como fondo en la página.
La imagen se llama fondo.jpg y suponemos que se encuentra en
el mismo directorio que la página. En este caso se colocaría
la siguiente etiqueta <body>
<body
background="fondo.jpg">
Se puede ver el efecto
de colocar ese fondo en una página a parte.
|
Consejo:
siempre que coloquemos una imagen de fondo, debemos poner también
un color de fondo cercano al color de la imagen. |
Color del texto
text: este atributo
sirve para asignar el color del texto de la página. Por
defecto es el negro.
Además del color del texto,
tenemos tres atributos para asignar el color de los enlaces de la
página. Ya debemos saber que los enlaces deben diferenciarse
del resto del texto de la página para que los usuarios puedan
identificarlos fácilmente. Para ello suelen aparecer
subrayados y con un color más vivo que el texto. Los tres
atributos son los siguientes:
link: el color de los
enlaces que no han sido visitados. (por defecto es azul clarito)
vlink: el color de los enlaces visitandos. La "v"
viene justamente de la palabra visitado. Es el color que tendrán
los enlaces que ya hemos visitado. Por defecto su color es morado.
Este color debería ser un poco menos vivo que el color de los
enlaces normales.
alink: es el color de los enlaces
activos. Un enlace está activo en el preciso instante que se
pulsa. A veces es difícil darse cuenta cuando un enlace está
activo porque en el momento en el que se activa es porque lo estamos
pulsando y en ese caso el navegador abandonará la página
rápidamente y no podremos ver el enlace activo más que
por unos instantes mínimos.
Ejemplo de color del
texto
Vamos a ver una página donde el color de
fondo sea negro, y los colores del texto y los enlaces sean claros.
Pondremos el color de texto balnco y los enlaces amarillos, más
resaltados los que no estén visitados y menos resaltados lo
que ya están visitados. Para ello escribiríamos la
etiqueta body así:
<body bgcolor="#000000"
text="#ffffff" link="#ffff33" alink="#ffffcc"
vlink="ffff00">
El efecto
se puede ver en una página a parte.
Márgenes
Con otros atributos de la etiqueta <body> se pueden
asignan espacios de margen en las páginas, lo que es muy útil
para eliminar los márgenes en blanco que aparecen a los lados,
arriba y debajo de la página. Estos atributos son distintos
para Internet Explorer y para Netscape Navigator, por lo que debemos
utilizarlos todos si queremos que todos los navegadores los
interpreten perfectamente.
leftmargin: para indicar el
margen a los lados de la página. Válido para iexplorer.
topmargin: para indicar el margen arriba y debajo de
la página. Para iexplorer.
marginwidth: la
contrapartida de leftmargin para Netscape. (Margen a los lados)
marginheight: igual que topmargin, pero para Netscape.
(Margen arriba y abajo)
Tenemos un artículo sobre la
utilización de estos atributos para hacer diseños
avanzados con tablas en distintas definiciones de pantalla, que
puede ser interesante de leer.
Un ejemplo de página
sin margen es la propia página de DesarrolloWeb.com, que estás
visitando actualmente. (Por lo menos a la hora de escribir este
artículo) Además, vamos a ver otra página sin
márgenes, por si alguien necesita ver el ejemplo en estas
líneas.
<body topmargin=0 leftmargin=0
marginheight=0 marginwidth=0 bgcolor="ffffff">
<table
width=100% bgcolor=ff6666><tr><td>
<h1>Hola
amigos</h1>
<br>
<br>
Gracias por
visitarme!
</td></tr></table>
</body>
Esta página tiene el fondo blanco y dentro una tabla
con el fondo rojo. En la página podremos ver que la tabla
ocupa el espacio en la página sin dejar sitio para ningún
tipo de margen. Puede verse
el ejemplo en una página a parte.
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Listas
I
Las posibilidades que nos ofrece el HTML
en cuestión de tratamiento de texto son realmente notables. No
se limitan a lo visto hasta ahora, sino que van más lejos
todavía. Varios ejemplos de ello son las listas, que sirven
para enumerar y definir elementos, los textos preformateados y las
cabeceras o títulos.
Las listas son utilizadas para
citar, numerar y definir objetos. También son utilizadas
corrientemente para desplazar el comienzo de línea hacia la
derecha.
Podemos distinguir tres tipos de listas:
Las veremos detenidamente una a una.
Listas
desordenadas
Son delimitadas por las etiquetas <ul>
y </ul> (unordered list). Cada uno de los elementos de la lista
es citado por medio de una etiqueta <li> (sin cierre, aunque no
hay inconveniente en colocarlo). La cosa queda así:
<p>Países del mundo</p>
<ul>
<li>Argentina
<li>Perú
<li>Chile
</ul>
El resultado:
Países del mundo
Argentina
Perú
Chile
Podemos definir el tipo de viñeta empleada para cada
elemento. Para ello debemos especificarlo por medio del atributo type
incluido dentro de la etiqueta de apertura <ul>, si queremos
que el estilo sea válido para toda la lista,o dentro le la
etiqueta <li> si queremos hacerlo específico de un solo
elemento. La sintaxis es del siguiente tipo:
<ul
type="tipo de viñeta">
donde tipo de
viñeta puede ser uno de los siguientes:
circle
disc
square
|
Nota:
En algunos navegadores no funciona la opción de cambiar el
tipo de viñeta a mostrar y por mucho que nos empeñemos,
siempre saldrá el redondel negro. |
Vamos a ver un ejemplo de lista con un cuadrado en lugar de un
redondel, y en el último elemento colocaremos un círculo.
Para ello vamos a colocar el atributo type en la etiqueta <ul>,
con lo que afectará a todos los elementos de la lista.
<ul
type="square">
<li>Elemento 1
<li>Elemento
2
<li>Elemento 3
<li type="circle">Elemento
4
</ul>
Que tiene como resultado
Elemento 1
Elemento 2
Elemento 3
Elemento 4
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Listas
II
Continuamos estudiando las listas de
HTML, con las que crear estructuras atractivas para presentar la
información.
Listas ordenadas
En este
caso usaremos las etiquetas <ol> (ordered list) y su cierre.
Cada elemento sera igualmente precedido de su etiqueta <li>.
Pongamos un ejemplo:
<p>Reglas de
comportamiento en el trabajo</p>
<ol>
<li>El
jefe siempre tiene la razón
<li>En caso de duda
aplicar regla 1
</ol>
El resultado es:
Reglas de comportamiento en el trabajo
El jefe siempre tiene la razón
En caso de duda aplicar regla 1
Del mismo modo que para las listas desordenadas, las listas
ordenadas ofrecen la posibilidad de modificar el estilo. En concreto
nos es posible especificar el tipo de numeración empleado
eligiendo entre números (1, 2, 3...), letras (a, b, c...) y
sus mayúsculas (A, B, C,...) y números romanos en sus
versiones mayúsculas (I, II, III,...) y minúsculas (i,
ii, iii,...).
Para realizar dicha selección hemos de
utilizar, como para el caso precedente, el atributo type, el cual
será situado dentro de la etiqueta <ol>. Los valores que
puede tomar el atributo en este caso son:
1 Para ordenar por
números
a Por letras del alfabeto
A Por letras
mayúsculas del alfabeto
i Ordenación por números
romanos en minúsculas
I Ordenación por números
romanos en mayúsculas
|
Nota: Recordamos que en algunos navegadores no funciona la opción de cambiar el tipo de viñeta a mostrar |
Puede que en algún caso deseemos comenzar nuestra
enumeración por un número o letra que no tiene por qué
ser necesariamente el primero de todos. Para solventar esta
situación, podemos utilizar un segundo atributo, start, que
tendra como valor un número. Este número, que por
defecto es 1, corresponde al valor a partir del cual comenzamos a
definir nuestra lista. Para el caso de las letras o los números
romanos, el navegador se encarga de hacer la traducción del
número a la letra correspondiente.
Os proponemos un
ejemplo usando este tipo de atributos:
<p>Ordenamos por
numeros</p>
<ol type="1">
<li>Elemento
1
<li> Elemento 2
</ol>
<p>Ordenamos
por letras</p>
<ol type="a">
<li>Elemento
a
<li> Elemento b
</ol>
<p>Ordenamos
por números romanos empezando por el 10</p>
<ol
type="i" start="10">
<li>Elemento x
<li> Elemento xi
</ol>
El resultado:
Ordenamos por números
Elemento 1
Elemento 2
Ordenamos por letras
Elemento a
Elemento b
Ordenamos por numeros romanos empezando por el 10
Elemento x
Elemento xi
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Listas
III
Terminamos el tema de listas estudiando
las listas de definición. Veremos también la anidación
de listas.
Listas de definición
Cada
elemento es presentado junto con su definición. La etiqueta
principal es <dl> y </dl> (definition list). La etiquetas
del elemento y su definición son <dt> (definition term)
y <dd> (definition definition) respectivamente.
Aquí
os proponemos un código que podrá aclarar este sistema:
<p>Diccionario de la Real Academia</p>
<dl>
<dt>Brujula
<dd>Señórula montada en una escóbula
<dt>Oreja
<dd>Sesenta minutejos
</dl>
El efecto producido:
Diccionario de la Real Academia
Fijaos en que cada línea <dd> esta desplazada hacia la
izquierda. Este tipo de etiquetas son usadas a menudo con el
propósito de crear textos más o menos desplazados hacia
la izquierda.
El código:
<dl>
<dd>Primer nivel de desplazamiento
<dl>
<dd>Segundo
nivel de desplazamiento
<dl>
<dd>Tercer
nivel de desplazamiento
</dl>
</dl>
</dl>
El
resultado:
Anidando listas
Nada nos impide utilizar todas
estas etiquetas de forma anidada como hemos visto en otros casos. De
esta forma, podemos conseguir listas mixtas como por ejemplo:
<p>Ciudades del mundo</p>
<ul>
<li>Argentina
<ol>
<li>Buenos Aires
<li>Bariloche
</ol>
<li>Uruguay
<ol>
<li>Montevideo
<li>Punta del Este
</ol>
</ul>
De esta forma creamos una lista como esta:
Ciudades del mundo
Argentina
Buenos Aires
Bariloche
Uruguay
Montevideo
Punta del Este
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Caracteres
especiales
Una página web se ha de
ver en paises distintos, que usan conjuntos de caracteres distintos.
El lenguaje HTML nos ofrece un mecanismo por el que podemos estar
seguros que una serie de caracteres raros se van a ver bien en todos
los ordenadores del mundo, independientemente de su juego de
caracteres.
Este conjunto son los caracteres especiales.
Cuando queremos poner uno de estos caracteres en una página,
debemos sustituirlo por su códico.
Por ejemplo, la "á"
(a minúscula acentuada) se escribe "á"
de modo que la palabra página se escribiría en una
página HTML de este modo: p&aamp;aacute;gina
Caracteres
especiales básicos
En realidad estos caracteres se
usan en HTML para no confundir un principio o final de etiqueta, unas
comillas o un & con su correspondiente caracter.
|
< |
< |
> |
> |
|
& |
& |
" |
" |
Caracteres especiales del HTML 2.0
|
Á |
Á |
À |
À |
|
É |
É |
È |
È |
|
Í |
Í |
Ì |
Ì |
|
Ó |
Ó |
Ò |
Ò |
|
Ú |
Ú |
Ù |
Ù |
|
á |
á |
à |
à |
|
é |
é |
è |
è |
|
í |
í |
ì |
ì |
|
ó |
ó |
ò |
ò |
|
ú |
ú |
ù |
ù |
|
Ä |
Ä |
 |
 |
|
Ë |
Ë |
Ê |
Ê |
|
Ï |
Ï |
Î |
Î |
|
Ö |
Ö |
Ô |
Ô |
|
Ü |
Ü |
Û |
Û |
|
ä |
ä |
â |
â |
|
ë |
ë |
ê |
ê |
|
ï |
ï |
î |
î |
|
ö |
ö |
ô |
ô |
|
ü |
ü |
û |
û |
|
à |
à |
å |
å |
|
Ñ |
Ñ |
Å |
Å |
|
Õ |
Õ |
Ç |
Ç |
|
ã |
ã |
ç |
ç |
|
ñ |
ñ |
Ý |
Ý |
|
õ |
õ |
ý |
ý |
|
Ø |
Ø |
ÿ |
ÿ |
|
ø |
ø |
Þ |
Þ |
|
Ð |
Ð |
þ |
þ |
|
ð |
ð |
Æ |
Æ |
|
ß |
ß |
æ |
æ |
Caracteres especiales del HTML 3.2
|
¼ |
¼ |
|
|
|
½ |
½ |
¡ |
¡ |
|
¾ |
¾ |
£ |
£ |
|
© |
© |
¥ |
¥ |
|
® |
® |
§ |
§ |
|
ª |
ª |
¤ |
¤ |
|
² |
² |
¦ |
¦ |
|
³ |
³ |
« |
« |
|
¹ |
¹ |
¬ |
¬ |
|
¯ |
¯ |
­ |
|
|
µ |
µ |
º |
º |
|
¶ |
¶ |
´ |
´ |
|
· |
· |
¨ |
¨ |
|
° |
° |
± |
± |
|
¸ |
¸ |
» |
» |
|
¿ |
¿ |
|
|
Otros caracteres especiales
|
× |
× |
¢ |
¢ |
|
÷ |
÷ |
€ |
€ |
|
“ |
“ |
™ |
™ |
|
” |
” |
‰ |
‰ |
|
Œ |
Œ |
ƒ |
ƒ |
|
‡ |
‡ |
† |
† |
Para descargar la lista de caracteres especiales:
caracteresespeciales.zip
2Kb
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Enlaces
en HTML
Hasta aquí, hemos podido ver
que una página web es un archivo HTML en el que podemos
incluir, entre otras cosas, textos formateados a nuestro gusto e
imágenes (las veremos enseguida). Del mismo modo, un sitio web
podrá ser considerado como el conjunto de archivos,
principalmente páginas HTML e imágenes, que constituyen
el contenido al que el navegante tiene acceso.
Sin embargo, no podríamos hablar de navegante o de navegación si estos archivos HTML no estuviesen debidamente conectados entre ellos y con el exterior de nuestro sitio por medio de enlaces hipertexto. En efecto, el atractivo original del HTLM radica en la posible puesta en relación de los contenidos de los archivos introduciendo referencias bajo forma de enlaces que permitan un acceso rápido a la información deseada. De poco serviría en la red tener páginas aisladas a las que la gente no puede acceder y desde las que la gente no puede saltar a otras.
Un enlace puede ser fácilmente detectado en una página. Basta con deslizar el puntero del ratón sobre las imágenes o el texto y ver como cambia de su forma original transformándose por regla general en una mano con un dedo señalador. Adicionalmente, estos enlaces suelen ir, en el caso de los textos, coloreados y subrayados para que el usuario no tenga dificultad en reconocerlos. Si no especificamos lo contrario (ya tendremos ocasión de explicar como), estos enlaces texto estarán subrayados y coloreados en azul. En el caso de las imágenes que sirvan de enlace, veremos que están delimitadas por un marco azul por defecto.
Para colocar un enlace, nos serviremos de las etiquetas <a> y </a>. Dentro de la etiqueta de apertura deberemos especificar asimismo el destino del enlace. Este destino será introducido bajo forma de atributo, el cual lleva por nombre href.
La sintaxis general de un enlace es por tanto de la forma:
<a href="destino">contenido</a>
Siendo el contenido un texto o una imagen. Es la parte de la página que se colocará activa y donde deberemos pulsar para acceder al enlace.
Por su parte, destino será una página, un correo electrónico o un archivo.
En función del destino los enlaces son clásicamente agrupados del siguiente modo:
Enlaces internos: los que se dirigen a otras partes dentro de la misma página.
Enlaces locales: los que se dirigen a otras páginas del mismo sitio web.
Enlaces remotos: los dirigidos hacia páginas de otros sitios web.
Enlaces con direcciones de correo: para crear un mensaje de correo dirigido a una dirección.
Enlaces con archivos: para que los usuarios puedan hacer download de ficheros.
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Enlaces
internos
Son los enlaces que apuntan a un
lugar diferente dentro de la misma página. Este tipo de
enlaces son esencialmente utilizados en páginas donde el
acceso a los contenidos puede verse dificultado debido al gran tamaño
de la misma. Mediante estos enlaces podemos ofrecer al visitante la
posibilidad de acceder rápidamente al principio o final de la
página o bien a diferentes párrafos o secciones.
Para crear un enlace de este tipo es necesario, aparte del enlace de origen propiamente dicho, un segundo enlace que será colocado en el destino. Veamos más claramente como funcionan estos enlaces con un ejemplo sencillo:
|
Enlace
con final de este documento, para que probéis su
funcionamiento: |
<a href="#abajo">Ir abajo</a>
Como podéis ver, el contenido del enlace es el texto "Ir abajo" y el destino, abajo, es un punto de la misma página que todavía no hemos definido. Ojo al símbolo #; es él quien especifica al navegador que el enlace apunta a una sección en particular.
En segundo lugar, hay que generar un enlace en el destino. Este enlace llevara por nombre abajo para poder distinguirlo de los otros posibles enlaces realizados dentro de la misma página. En este caso, la etiqueta que escribiremos será ésta:
<a name="abajo"></a>
A decir verdad, estos enlaces, aunque útiles, no son los más extendidos de cuantos hay. La tendencia general es la de crear páginas (archivos) independientes con tamaños más reducidos enlazados entre ellos por enlaces locales (los veremos enseguida). De esta forma evitamos el exceso de tiempo de carga de un archivo y la introducción de exceso de información que pueda desviar la atención del usuario.
Una aplicación corriente de estos
enlaces consiste en poner un pequeño índice al
principio de nuestro documento donde introducimos enlaces origen a
las diferentes secciones. Paralelamente, al final de cada sección
introducimos un enlace que apunta al índice de manera que
podamos guiar al navegante en la búsqueda de la información
útil para él.
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Enlaces
locales
Como hemos dicho, un sitio web esta
constituido de páginas interconexas. En el capitulo anterior
hemos visto como enlazar distintas secciones dentro de una misma
página. Nos queda pues estudiar la manera de relacionar los
distintos documentos HTML que componen nuestro sitio web.
Para crear este tipo de enlaces, hemos de crear una etiqueta de la siguiente forma:
<a href="archivo.html">contenido</a>
Por regla general, para una mejor organización, los sitios suelen estar ordenados por directorios. Estos directorios suelen contener diferentes secciones de la página, imágenes, sonidos...Es por ello que en muchos casos no nos valdrá con especificar el nombre del archivo, sino que tendremos que especificar además el directorio en el que nuestro archivo.html esta alojado.
Si habéis trabajado con MS-DOS no tendréis ningún problema para comprender el modo de funcionamiento. Tan solo hay que tener cuidado en usar la barra "/" en lugar de la contrabarra "\".
Para aquellos que no saben como mostrar un camino de un archivo, aquí van una serie de indicaciones que os ayudaran a comprender la forma de expresarlos. No resulta difícil en absoluto y con un poco de practica lo haréis prácticamente sin pensar.
Hay que situarse mentalmente en el directorio en el que se encuentra la página con el enlace.
Si la página destino esta en un directorio incluido dentro del directorio en el que nos encontramos, hemos de marcar el camino enumerando cada uno de los directorios por los que pasamos hasta llegar al archivo y separándolos por el símbolo barra "/". Al final obviamente, escribimos el archivo.
Si la página destino se encuentra en un directorio que incluye el de la página con el enlace, hemos de escribir dos puntos y una barra "../" tantas veces como niveles subamos en la arborescencia hasta dar con el directorio donde esta emplazado el archivo destino.
Si la página se encuentra en otro directorio no incluido ni incluyente del archivo origen, tendremos que subir como en la regla 3 por medio de ".." hasta encontrar un directorio que englobe el directorio que contiene a la página destino. A continuación haremos como en la regla 2. Escribiremos todos los directorios por los que pasamos hasta llegar al archivo.
|
Para
hacer un enlace desde xxx.html hacia yyy.html: Para
hacer un enlace desde yyy.html hacia xxx.html: |
Los enlaces locales pueden a su vez apuntar ya no a la página
en general sino más precisamente a una sección
concreta. Este tipo de enlaces resultan ser un híbrido de
interno y local. La sintaxis es de este tipo:
<a href="archivo.html#seccion">contenido</a>
Como para los enlaces internos, en este caso hemos de marcar la sección con otro enlace del tipo:
<a name="seccion"></a>
Como ejemplo, he aquí un enlace
que apunta al capitulo anterior al final de la página.
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Enlaces
externos, de correo y hacia archivos.
Para
acabar con los enlaces vamos a ver los últimos 3 tipos de
enlaces que habíamos señalado.
Enlaces remotos
Son los enlaces que se dirigen hacia páginas que se encuentran fuera de nuestro sitio web, es decir, cualquier otro documento que no forma parte de nuestro sitio.
Este tipo de enlaces es muy común y no representa ninguna dificultad. Simplemente colocamos en el atributo HREF de nuestra etiqueta <A> la URL o dirección de la página con la que queremos enlazar. Será algo parecido a esto.
<a href="http://www.guiarte.com">ir a guiarte.com</a>
Sólo cabe destacar que todos las direcciones web (URLs) empiezan por http://. Esto indica que el protocolo por el que se accede es HTTP, el utilizado en la web. No debemos olvidarnos de colocarlas, porque si no los enlaces serán tratados como enlaces locales a nuestro sitio.
Otra cosa interesante es que no tenemos que enlazar con una página web con el protocolo HTTP necesariamente. También podemos acceder a recursos a través de otros protocolos como el FTP. En tal caso, las direcciones de los recursos no comenzarán por http:// sino por ftp://.
Enlaces a direcciones de correo
Los enlaces a direcciones de correo son aquellos que al pincharlos nos abre un nuevo mensaje de correo electrónico dirigido a una dirección de mail determinada. Estos enlaces son muy habituales en las páginas web y resultan la manera más rápida de ofrecer al visitante una vía para el contacto con el propietario de la página.
Para colocar un enlace dirigido hacia una dirección de correo colocamos mailto: en el atributo href del enlace, seguido de la dirección de correo a la que se debe dirigir el enlace.
<a href="mailto:eugim@desarrolloweb.com">eugim@desarrolloweb.com</a>
Este enlace se puede ver en funcionamiento aquí: eugim@desarrolloweb.com
|
Consejo: Cuando coloques enlaces a direcciones de correo procura indicar en el contenido del enlace (lo que hay entre <A> y </A>) la dirección de correo a la que se debe escribir. Esto es porque si un usuario no tiene configurado un programa de correo en su ordenador no podrá enviar mensajes, pero por lo menos podrá copiar la dirección de mail y escribir el correo a través de otro ordenador o un sistema web-mail. |
Además de la dirección de correo del
destinatario, también podemos colocar en el enlace el asunto
del mensaje. Esto se consigue colocando después de la
dirección de correo un interrogante, la palabra subject, un
signo igual (=) y el asunto en concreto.
<a href="malito:eugim@desarrolloweb.com?subject=contacto a través de la pagina">eugim@desarrolloweb.com</a>
Podemos colocar otros atributos del mensaje con una sintaxis parecida. En este caso indicamos también que el correo debe ir con copia a colabora@desarrolloweb.com.
<a href="mailto:eugim@desarrolloweb.com?subject=contacto a través de la pagina&cc=colabora@desarrolloweb.com">eugim@desarrolloweb.com</a>
|
Nota:
El visitante de la página necesitará tener
configurada una cuenta de correo electrónico en su sistema
para enviar los mensajes. Lógicamente, si no tiene
servicio de correo en el ordenador no se podrán enviar los
mensajes y este sistema de contacto con el visitante no
funcionará. |
Enlaces con archivos
Este no es un tipo de enlace propiamente dicho, pero lo señalamos aquí porque son un tipo de enlaces muy habitual y que presenta alguna complicación para el usuario novato.
El mecanismo es el mismo que hemos conocido en los enlaces locales y los enlaces remotos, con la única particularidad de que en vez de estar dirigidos hacia una página web está dirigido hacia un archivo de otro tipo.
Si queremos enlazar con un archivo mi_fichero.zip que se encuentra en el mismo directorio que la página se escribiría un enlace así.
<a href="mi_fichero.zip">Descarga mi_fichero.zip</a>
Si pinchamos un enlace de este tipo nuestro navegador descargará el fichero, haciendo la pregunta típica de "Qué queremos hacer con el archivo. Abrirlo o guardarlo en disco".
Podemos ver un ejemplo de enlace a archivo con su consiguiente ventana de descarga de un archivo.
|
Consejo: No colocar en Internet archivos ejecutables directamente sino archivos comprimidos. Por dos razones:
|
Si queremos enlazar hacia otro tipo de archivo como un PDF
o un mundo VRML (Realidad virtual para Internet) lo seguimos
haciendo de la misma manera. El navegador, si reconoce el tipo de
archivo, es el responsable de abrirlo utilizando el conector adecuado
para ello. Así, si por ejemplo enlazamos con un PDF pondrá
el programa Acrobat Reader en funcionamiento para mostrar los
contenidos. Si enlazamos con un mundo VRML pondrá en marcha el
plug-in que el usuario tenga instalado para ver los mundos virtuales
(Cosmo Player por ejemplo).
Este sería un ejemplo de enlace a un documento PDF.
<a href="mi_documento_pdf">Descarga el PDF</a>
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Imágenes
en HTML
Sin duda uno de los aspectos más
vistosos y atractivos de las páginas web es el grafismo. La
introducción en nuestro texto de imágenes puede
ayudarnos a explicar más fácilmente nuestra información
y darle un aire mucho más estético. El abuso no
obstante puede conducirnos a una sobrecarga que se traduce en una
distracción para el navegante, quien tendrá más
dificultad en encontrar la información necesaria, y un mayor
tiempo de carga de la página lo que puede ser de un efecto
nefasto si nuestro visitante no tiene una buena conexión o si
es un poco impaciente.
En este capitulo no explicaremos como
crear ni tratar las imágenes, únicamente diremos que
para ello se utilizan aplicaciones como Paint
Shop Pro, Photoshop
o Corel Draw. Tampoco explicaremos las particularidades de cada tipo
de archivo GIF o JPG y la forma de optimizar nuestras imágenes.
Un capitulo posterior al respecto será dedicado a este
menester: Formatos
gráficos para páginas web.
Las imágenes
son almacenadas en forma de archivos, principalmente GIF (para
dibujos) o JPG (para fotos). Estos archivos pueden ser creados por
nosotros mismos o pueden ser descargados
gratuitamente en sitios web especializados. En desarrolloweb
contamos con la mayor base
de datos de gifs animados e imágenes de todo tipo en
castellano, que nos provee el sitio internacional GOgraph.
Así pues, en estos primeros capítulos nos
limitaremos a explicar como insertar y alinear debidamente en nuestra
página una imagen ya creada.
La etiqueta que
utilizaremos para insertar una imagen es <img> (image). Esta
etiqueta no posee su cierre correspondiente y en ella hemos de
especificar obligatoriamente el paradero de nuestro archivo grafico
mediante el atributo src (source).
La sintaxis queda entonces
de la siguiente forma:
<img src="camino hacia el
archivo">
Para expresar el camino, lo haremos de la
misma forma
que vimos para los enlaces. Las reglas siguen siendo las mismás,
lo único que cambia es que, en lugar de una página
destino, el destino es un archivo grafico.
Aparte de este
atributo, indispensable obviamente para la visualización de la
imagen, la etiqueta <img> nos propone otra serie de atributos
de mayor o menor utilidad:
Atributo alt
Dentro
de las comillas de este atributo colocaremos una brevísima
descripción de la imagen. Esta etiqueta no es indispensable
pero presenta varias utilidades.
Primeramente, durante el
proceso de carga de la página, cuando la imagen no ha sido
todavía cargada, el navegador mostrara esta descripción,
con lo que el navegante se puede hacer una idea de lo que va en ese
lugar.
Esto no es tan trivial si tenemos en cuenta que
algunos usuarios navegan por la red con una opción del
navegador que desactiva el muestreo de imágenes, con lo que
tales personas podrán siempre saber de qué se trata el
grafico y eventualmente cambiar a modo con imágenes para
visualizarla.
Además, determinadas aplicaciones para
discapacitados o teléfonos vocales que no muestran imágenes
ofrecen la posibilidad de leerlas por lo que nunca esta de más
pensar en estos colectivos.
En general podemos considerar
como aconsejable el uso de este atributo salvo para imágenes
de poca importancia y absolutamente indispensable si la imagen en
cuestión sirve de enlace.
Atributos height y width
Definen la altura y anchura respectivamente de la imagen en
pixels.
Todos los archivos gráficos poseen unas
dimensiones de ancho y alto. Estas dimensiones pueden obtenerse a
partir del propio diseñador grafico o bien haciendo clic con
el botón derecho sobre la imagen vista por el navegador para
luego elegir propiedades sobre el menú que se despliega.
El
hecho de explicitar en nuestro código las dimensiones de
nuestras imágenes ayuda al navegador a confeccionar la página
de la forma que nosotros deseamos antes incluso de que las imágenes
hayan sido descargadas.
Así, si las dimensiones de las
imágenes han sido proporcionadas, durante el proceso de carga,
el navegador reservara el espacio correspondiente a cada imagen
creando una maquetación correcta. El usuario podrá
comenzar a leer tranquilamente el texto sin que este se mueva de un
lado a otro cada vez que una imagen se cargue.
Además
de esta utilidad, el alterar los valores de estos dos atributos, es
una forma inmediata de redimensionar nuestra imagen. Este tipo de
utilidad no es aconsejable dado que, si lo que pretendemos es
aumentar el tamaño, la perdida de calidad de la imagen será
muy sensible. Inversamente, si deseamos disminuir su tamaño,
estaremos usando un archivo más grande de lo necesario para la
imagen que estamos mostrando con lo que aumentamos el tiempo de
descarga de nuestro documento innecesariamente.
Es importante
hacer hincapié en este punto ya que muchos debutantes tienen
esa mala costumbre de crear gráficos pequeños
redimensionando la imagen por medio de estos atributos a partir de
archivos de tamaño descomunal. Hay que pensar que el tamaño
de una imagen con unas dimensiones de la mitad no se reduce a la
mitad, sino que resulta ser aproximadamente 4 veces inferior.
Atributo border
Definen el tamaño en
pixels del cuadro que rodea la imagen.
De esta forma podemos
recuadrar nuestra imagen si lo deseamos. Es particularmente útil
cuando deseamos eliminar el borde que aparece cuando la imagen sirve
de enlace. En dicho caso tendremos que especificar border="0".
Atributos vspace y hspace
Sirven para indicar
el espacio libre, en pixeles, que tiene que colocarse entre la imagen
y los otros elementos que la rodean, como texto, otras imágenes,
etc.
Atributo lowsrc
Con este atributo podemos
indicar un archivo de la imagen de baja resolución. Cuando el
navegador detecta que la imagen tiene este atributo primero descarga
y muestra la imagen de baja resolución (que ocupa muy poco y
que se transfiere muy rápido). Posteriormente descarga y
muestra la imagen de resolución adecuada (señalada con
el atributo src, que se supone que ocupará más y será
más lenta de transferir).
Este atributo está en
desuso, aunque supone una ventaja considerable para que la descarga
inicial de la web se realice más rápido y que un
visitante pueda ver una muestra de la imagen mientras se descarga la
imagen real.
|
Truco:
Utilizar imagenes como enlaces |
Ejemplo práctico
Resultará
obvio para los lectores hacer ahora una página que contenga
una imagen varias veces repetida pero con distintos atributos.
Una de las veces que salga debe mostrarse con su tamaño originar y con un borde de 3 pixeles.
En otra ocasión la imagen aparecerá sin borde, con su misma altura y con una anchura superior a la original
También mostraremos la imagen sin borde, con su misma anchura y con una altura superior a la original
Por último, mostraremos la imagen con una altura y anchura mayores que las originales, pero proporcionalmente igual que antes.
|
Vamos a utilizar esta imagen para hacer el ejercicio: |
|
|
Las dimensiones originales de la imagen son 28x21, así
que este sería el código fuente:
<img
src="img1.gif" width="28" height="21"
alt="Tamaño original" border="3">
<br>
<br>
<img src="img1.gif" width="68"
height="21" alt="Achatada" border="0">
<br>
<br>
<img src="img1.gif"
width="28" height="51" alt="Alargada"
border="0">
<br>
<br>
<img
src="img1.gif" width="56" height="42"
alt="Doble grande" border="0">
Se
puede ver
el ejemplo en una página aparte.
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Alineación
de imágenes con HTML
Vimos en su
momento el atributo align que nos permitía alinear el texto a
derecha, izquierda o centro de nuestra página. Dijimos que
este atributo no era exclusivo de la etiqueta <p> sino que
podía ser encontrado en otro tipo de etiquetas.
Pues
bien, <img> resulta ser una de esas etiquetas que aceptan este
atributo aunque en este caso el funcionamiento resulta ser diferente.
Para alinear una imagen horizontalmente podemos hacerlo de la
misma forma que el texto, es decir, utilizando el atributo align
dentro de una etiqueta <p> o <div>. En este caso, lo que
incluiremos dentro de esa etiqueta será la imagen en lugar del
texto:
Este código mostrará la imagen en el
centro:
<div align="center"><img
src="logo.gif"></div>
|
Quedaría así: |
|
|
Sin embargo, ya hemos dicho que la etiqueta <img> puede
aceptar el atributo align. En este caso, la utilidad que le damos
difiere de la anterior.
El hecho de utilizar el atributo
align dentro de la etiqueta <img> nos permite, en el caso de
darle los valores left o right, justificar la imagen del lado que
deseamos a la vez que rellenamos con texto el lado opuesto. De esta
forma embebemos nuestras imágenes dentro del texto de una
manera sencilla.
Aquí podéis ver el tipo de
código a crear para obtener dicho efecto:
<p>
<img src="imagen.gif" align="right">Texto
tan extenso como queramos que cubrirá la parte izquierda de la
imagen. Sigo poniendo texto para que se vea el efecto, Bla bla bla
bla bla bla bla...
</p>
|
Quedaría así: |
|
|
<p>
<img src="imagen.gif"
align="left">Texto tan extenso como queramos que cubrirá
la parte derecha de la imagen. Sigo poniendo texto para que se vea el
efecto, Bla bla bla bla bla bla bla...
</p>
|
Quedaría así: |
|
|
Si en algún momento deseásemos dejar de rellenar
ese espacio lateral, podemos pasar a una zona libre introduciendo un
salto de línea <br> dentro del cual añadiremos un
atributo: clear
Así, etiquetas del tipo:
<br
clear="left">
Saltara verticalmente hasta encontrar
el lateral izquierdo libre.
<br clear="right">
Saltara verticalmente hasta encontrar el lateral derecho libre.
<br clear="all">
Saltará verticalmente
hasta encontrar ambos laterales libres.
|
Ejemplo de clear: |
|
Esto está debajo de la imagen. |
Existen otro tipo de valores que puede adoptar el atributo
align dentro de la etiqueta <img>. Estos son relativos a la
alineación vertical de la imagen.
Supongamos que
escribimos una línea al lado de nuestra imagen. Esta línea
puede quedar por ejemplo arriba, abajo o al medio de la imagen.
Asimismo, puede que en una misma línea tengamos varias
imágenes de alturas diferentes que pueden ser alineadas de
distintas formás.
Estos valores adicionales del atributo
align son:
top
Ajusta la imagen a la parte más
alta de la línea. Esto quiere decir que, si hay una imagen más
alta, ambas imágenes presentaran el borde superior a la misma
altura.
bottom
Ajusta el bajo de la imagen al
texto.
Absbottom
Colocara el borde inferior de la
imagen a nivel del elemento más bajo de la línea.
middle
Hace coincidir la base de la línea
de texto con el medio vertical de la imagen.
absmiddle
Ajusta la imagen al medio absoluto de la línea.
Estas
explicaciones, que pueden resultar un poco complicadas, pueden ser
más fácilmente asimiladas a partir con un poco de
practica.
Nos queda explicar como introducir debajo de la
imagen un pie de foto o explicación. Para ello tendremos que
ver antes de nada las tablas, en el próximos capítulos...
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Formátos
gráficos para páginas web
El
componente gráfico de las páginas web tiene mucha
importancia, es el que hace que estas sean vistosas y el que nos
permite aplicar nuestra creatividad para hacer del diseño de
sitios una tarea agradable. Es también una herramienta para
acercar los sitios al mundo donde vivimos, si embargo, es también
el causante de errores graves en las páginas y hacer de estas,
en algunos casos, un martirio para el visitante.
Las nociones
básicas para el uso de archivos gráficos son sencillas,
conocerlas, aunque sea ligeramente, nos ayudará a crear sitios
agradables y rápidos. No cometer errores en el uso de las
imágenes es fundamental, aunque no seas un diseñador y
las imágenes que utilices sean feas, utilízalas bien y
así estarás haciendo más agradable la visita a
tus páginas.
Tipos de archivos
En
Internet se utilizan principalmente dos tipos de archivos gráficos
GIF y JPG, pensados especialmente para optimizar el tamaño que
ocupan en disco, ya que los archivos pequeños se transmiten
más rápidamente por la Red.
El formato de
archivo GIF se usa para las imágenes que tengan dibujos,
mientras que el formato JPG se usa para las fotografías. Los
dos comprimen las imágenes para guardarlas. La forma de
comprimir la imagen que utiliza cada formato es lo que los hace
ideales para unos u otros propósitos.
Adicionalmente,
se puede usar un tercer formato gráfico en las páginas
web, el PNG. Este formato no tiene tanta aceptación como el
GIF o JPG por varias razones, entre las que destacan el
desconocimiento del formato por parte de los desarrolladores, que las
herramientas habituales para tratar gráficos (como por ejemplo
Photoshop) generalmente no lo soportan y que los navegadores antiguos
también tienen problemas para visualizarlas. Sin embargo, el
formato se comporta muy bien en cuanto a compresión y calidad
del gráfico conseguido, por lo que resultaría útil
si se llega a extender su uso.
GIF
|
|
|
Un logotipo es un ejemplo claro de imagen GIF |
Compresión: Es muy buena para dibujos, como ya hemos
dicho. Incluso puede ser interesante si la imagen es muy pequeña,
aunque sea una foto.
|
|
|
Parte de esta imagen es transparente |
|
|
|
|
|
Imagen tomada con distintas paletas de colores. Se puede apreciar como con pocos colores se ve bien el gráfico y como pierde un poco a medida que le restamos colores. |
||
JPG
|
|
|
Una fotografía con formato JPG |
|
Intento de transparencia en JPG. Pulsar para ampliar |
|
|
|
|
|
|
Para los archivos JPG:
Ajustaremos la calidad del archivo cuando lo estemos guardando. Este
formato nos permite bajar mucho la calidad de la imagen sin que esta
pierda mucho en su aspecto visual.
|
|
JPG
|
|
|
JPG
|
|
|
JPG
|
|
|
|
Photoshop es una herramienta excelente para optimizar ficheros. Viendo varias copias podemos elegir la más adecuada. |
|
Celda 1, linea 1 |
Celda 2, linea 1 |
|
Celda 1, linea 2 |
Celda 2, linea 2 |
|
Nota:
Hasta aquí hemos visto todas las etiquetas que necesitamos
conocer para crear tablas. Existen otras etiquetas, pero lo que
podemos conseguir con éllas se puede conseguir también
usando las que hemos visto. |
A partir de esta idea simple y sencilla, las tablas adquieren
otra magnitud cuando les incorporamos toda una batería de
atributos aplicados sobre cada tipo de etiquetas que las componen. A
lo largo de los siguientes capítulos nos adentraremos en el
estudio de estos atributos de manera a proporcionaros los útiles
indispensables para una buena puesta en página.
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Tablas
en HTML. Atributos para filas y celdas.
Hemos
visto en el capitulo anterior que las tablas están compuestas
de líneas que, a su vez, contienen celdas. Las celdas son
delimitadas por las etiquetas <td> o por las etiquetas <th>
(si queremos texto en negrita y centrado) y constituyen un entorno
independiente del resto del documento. Esto quiere decir que:
Podemos usar prácticamente cualquier tipo de etiqueta dentro de la etiqueta <td> para, de esta forma, dar forma a su contenido.
Las etiquetas situadas en el interior de la celda no modifican el resto del documento.
Las etiquetas de fuera de la celda no son tenidas en cuenta por ésta.
Así pues, podemos especificar el formato de nuestras celdas
a partir de etiquetas introducidas en su interior o mediante
atributos colocados dentro de la etiqueta de celda <td> o bien,
en algunos casos, dentro de la etiqueta <tr>, si deseamos que
el atributo sea valido para toda la línea. La forma más
útil y actual de dar forma a las celdas es a partir de las
hojas de estilo en
cascada que ya tendréis la oportunidad de abordar más
adelante.
Veamos a continuación algunos atributos
útiles para la construcción de nuestras tablas.
Empecemos viendo atributos que nos permiten modificar una celda en
concreto o toda una línea:
|
align |
Justifica el texto de la celda del mismo modo que si fuese el de un párrafo. |
|
valign |
Podemos elegir si queremos que el texto aparezca arriba (top), en el centro (middle) o abajo (bottom) de la celda. |
|
bgcolor |
Da color a la celda o línea elegida. |
|
bordercolor |
Define el color del borde. |
Otros atributos que pueden ser únicamente asignados a
una celda y no al conjunto de celdas de una línea son:
|
background |
Nos permite colocar un fondo para la celda a partir de un enlace a una imagen. |
|
height |
Define la altura de la celda en pixels o porcentaje. |
|
width |
Define la anchura de la celda en pixels o porcentaje. |
|
colspan |
Expande una celda horizontalmente. |
|
rowspan |
Expande una celda verticalmente. |
|
Nota:
El atributo height no funciona en todos los navegadores, además,
su uso no está muy extendido. Las celdas por lo general
tienen el alto que ncesitan para que quepa todo el contenido que
se le haya insertado, es decir, crecen lo suficiente para que
quepa lo que hemos colocado dentro. |
Estos últimos cuatro atributos descritos son de gran
utilidad. Concretamente, height y width nos ayudan a definir las
dimensiones de nuestras celdas de una forma absoluta (en pixels o
puntos de pantalla) o de una forma relativa, es decir por porcentajes
referidos al tamaño total de la tabla. Podéis leer un
articulo
interesante a propósito de estas dos modalidades de diseño
en nuestro manual
de usabilidad.
A titulo de ejemplo:
<td
width="80">
Dará una anchura de 80 pixels a
la celda. Sin embargo,
<td width="80%">
Dará
una anchura a la celda del 80% de la anchura de la tabla.
Hay
que tener en cuenta que, definidas las dimensiones de las celdas, el
navegador va a hacer lo que buenamente pueda para satisfacer al
programador. Esto quiere decir que puede que en algunas ocasiones el
resultado que obtengamos no sea el esperado. Concretamente, si el
texto presenta una palabra excesivamente larga, puede que la anchura
de la celda se vea aumentada para mantener la palabra en la misma
línea. Por otra parte, si el texto resulta muy largo, la celda
aumentara su altura para poder mostrar todo su contenido.
Análogamente, si por ejemplo definimos dos anchuras
distintas a celdas de una misma columna, el navegador no sabrá
a cual hacer caso. Es por ello que resulta conveniente tener bien
claro desde un principio como es la tabla que queremos diseñar.
No esta de más si la prediseñamos en papel si la
complejidad es importante. El HTML resulta en general fácil
pero las tablas pueden convertirse en un verdadero quebradero de
cabeza si no llegamos a comprenderlas debidamente.
Los
atributos rowspan y colspan son también utilizados
frecuentemente. Gracias a ellos es posible expandir celdas fusionando
éstas con sus vecinas. El valor que pueden tomar estas
etiquetas es numérico. El número representa la cantidad
de celdas fusionadas.
Así,
<td colspan="2">
Fusionara la celda en cuestión con su vecina derecha.
|
Esta celda tiene un colspan="2" |
|
|
Celda normal |
Otra celda |
Del mismo modo,
<td rowspan="2">
|
Esta celda tiene rowspan="2", por eso tiene fusionada la celda de abajo. |
Celda Normal |
|
Otra celda normal |
Expandirá la celda hacia abajo fusionándose con
la celda inferior.
El resto de los atributos presentados
presentan una utilidad y uso bastante obvios. Los dejamos a vuestra
propia investigación.
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Tablas
en HTML. Atributos de la tabla y conclusión.
Además
de los atributos específicos de cada celda o línea, las
tablas pueden ser adicionalmente formateadas a partir de los
atributos que nos ofrece la propia etiqueta <table>. He aquí
aquellos que pueden parecernos en un principio importantes:
|
align |
Alinea horizontalmente la tabla con respecto a su entorno. |
|
background |
Nos permite colocar un fondo para la tabla a partir de un enlace a una imagen. |
|
bgcolor |
Da color de fondo a la tabla. |
|
border |
Define el número de pixels del borde principal. |
|
bordercolor |
Define el color del borde. |
|
cellpadding |
Define, en pixels, el espacio entre los bordes de la celda y el contenido de la misma. |
|
cellspacing |
Define el espacio entre los bordes (en pixels). |
|
height |
Define la altura de la tabla en pixels o porcentaje. |
|
width |
Define la anchura de la tabla en pixels o porcentaje. |
Los atributos que definen las dimensiones, height y width,
funcionan de una manera análoga a la de las celdas tal y como
hemos visto en el capitulo anterior. Contrariamente, el atributo
align no nos permite justificar el texto de cada una de las celdas
que componen la tabla, sino más bien, justificar la propia
tabla con respecto a su entorno.
Vamos a poner tres ejemplos
de alineado de tablas, centradas, alineadas a la derecha y a la
izquierda.
|
Ejemplo de tabla centrada |
Esta tabla está centrada (aling="center"). Solo tiene una celda. |
|||
|
Este sería un texto cualquiera colocado al lado de una tabla centrada |
||||
|
Ejemplo de tabla alineada a la derecha |
|
|||
|
Ejemplo de tabla alineada a la izquierda |
|
|||
Los atributos cellpading y
cellspacing nos ayudaran a dar a nuestra tabla un aspecto más
estético. En un principio puede parecernos un poco confuso su
uso pero un poco de practica será suficiente para hacerse con
ellos.
En la siguiente imagen podemos ver gráficamente
el significado de estos atributos.
Podéis comprobar vosotros mismos que los atributos
definidos para una celda tienen prioridad con respecto a los
definidos para una tabla. Podemos definir, por ejemplo, una tabla con
color de fondo rojo y una de las celdas de color de fondo verde y se
verá toda la tabla de color rojo menos la celda verde. Del
mismo modo, podemos definir un color azul para los bordes de la tabla
y hacer que una celda particular sea mostrada con un borde rojo.
(Aunque esto no funcionará en todos los navegadores debido a
que algunos no reconocen el atributo bordercolor.
|
Tabla de color rojo de fondo |
El atributo bgcolor de la tabla está en rojo. |
|
Celda normal |
Esta celda está en verde. tiene el atributo bgcolor en color verde |
Tablas anidadas
Muy útil
también es el uso de tablas anidadas. De la misma forma que
podíamos incluir listas dentro de otras listas, las tablas
pueden ser incluidas dentro de otras. Así, podemos incluir una
tabla dentro de la celda de otra. El modo de funcionamiento sigue
siendo el mismo aunque la situación puede complicarse si el
número de tablas embebidas dentro de otras es elevado.
|
Consejo: Páginas como DesarrolloWeb.com y muchas otras (La mayoría de las páginas avanzadas) que basan su diseño en tablas, realizan anidaciones de tablas constantemente para meter unos elementos de la página dentro de otros. Se pueden anidar tablas sin límite, sin embargo, en el caso de Netscape 4 hay que tener cuidado con el número de tablas que anidamos, porque a medida que metemos una tabla dentro de otra y otra dentro de esta y otra más, aumentando el grado de anidación sucesivamente... podemos encontrar problemas en su visualización y puede que la página tarde un poco de tiempo más en mostrarse en pantalla. |
Vamos a ver un código de anidación de
tablas. Veamos primero el resultado y luego el código, así
conseguiremos entenderlo mejor.
|
Celda de la tabla principal |
Tabla anidada, celda 1 |
Tabla anidada, celda 2 |
||
|
Tabla anidada, celda 3 |
Tabla anidada, celda 4 |
|||
Este sería el código:
<table
cellspacing="10" cellpadding="10" border="3">
<tr>
<td align="center">
Celda de la tabla principal
</td>
<td align="center">
<table cellspacing="2"
cellpadding="2" border="1">
<tr>
<td>Tabla anidada, celda 1</td>
<td>Tabla anidada, celda
2</td>
</tr>
<tr>
<td>Tabla anidada, celda
3</td>
<td>Tabla anidada, celda 4</td>
</tr>
</table>
</td>
</tr>
</table>
Ejemplos prácticos
Hasta aquí la información que pretendíamos
transmitiros sobre las tablas en HTML. Sería importante ahora
realizar algún ejemplo de realización de una tabla un
poco compleja. Por ejemplo la siguiente:
|
Animales en peligro de extinción |
|||
|
Nombre |
Cabezas |
Previsión 2010 |
Previsión 2020 |
|
Ballena |
6000 |
4000 |
1500 |
|
Oso Pardo |
50 |
0 |
|
|
Lince |
10 |
||
|
Tigre |
300 |
210 |
|
Se puede ver
esta tabla en otra ventana, donde también podremos
examinar su código fuente.
Otro ejemplo de tabla con
el que podemos practicar:
|
Climas de América del Sur |
|||||||||
|
|
||||||||
|
Bosque tropical, clima de sabana, clima marítimo con inviernos secos. |
Climas marítimos con veranos secos, con inviernos secos, climas frios, clima de estepa, clima desértico. |
||||||||
También la podemos ver
en una ventana a parte para extraer su código
fuente.
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Formularios
HTML
Hasta ahora hemos visto la forma en la
que el HTML gestiona y muestra la información, esencialmente
mediante texto, imágenes y enlaces. Nos queda por ver de qué
forma podemos intercambiar información con nuestro visitante.
Desde luego, este nuevo aspecto resulta primordial para gran cantidad
de acciones que se pueden llevar a cabo mediante el Web: Comprar un
articulo, rellenar una encuesta, enviar un comentario al autor...
Hemos visto anteriormente que podíamos, mediante los enlaces, contactar directamente con un correo electrónico. Sin embargo, esta opción puede resultar en algunos casos poco versátil si lo que deseamos es que el navegante nos envíe una información bien precisa. Es por ello que el HTML propone otra solución mucho más amplia: Los formularios.
Los formularios son esas famosas cajas de texto y botones que podemos encontrar en muchas páginas web. Son muy utilizados para realizar búsquedas o bien para introducir datos personales por ejemplo en sitios de comercio electrónico. Los datos que el usuario introduce en estos campos son enviados al correo electrónico del administrador del formulario o bien a un programa que se encarga de procesarlo automáticamente.
Usando HTML podemos únicamente enviar el formulario a un correo electrónico. Si queremos procesar el formulario mediante un programa la cosa puede resultar un poco más compleja ya que tendremos que emplear otros lenguajes más sofisticados. En este caso, la solución más sencilla es utilizar los programás prediseñados que nos proponen un gran número de servidores de alojamiento y que nos permiten almacenar y procesar los datos en forma de archivos u otros formatos. Si vuestras páginas están alojadas en un servidor que no os propone este tipo de ventajas, siempre podéis recurrir a servidores de terceros que ofrecen este u otro tipo de servicios gratuitos para webs. Por supuesto, existe otra alternativa que es la de aprender lenguajes como ASP o PHP que nos permitirán, entre otras cosas, el tratamiento de formularios.
Los formularios son definidos por medio de las etiquetas <form> y </form>. Entre estas dos etiquetas colocaremos todos los campos y botones que componen el formulario. Dentro de esta etiqueta <form> debemos especificar algunos atributos:
action
Define el tipo de acción a llevar a cabo con el formulario. Como ya hemos dicho, existen dos posibilidades:
El formulario es enviado a una dirección de correo electrónico
El formulario es enviado a un programa o script que procesa su contenido
En el primer caso, el contenido del formulario es enviado a la dirección de correo electrónico especificada por medio de una sintaxis de este tipo:
<form action="mailto:direccion@correo.com" ...>
Si lo que queremos es que el formulario sea procesado por un programa, hemos de especificar la dirección del archivo que contiene dicho programa. La etiqueta quedaría en este caso de la siguiente forma:
<form action="dirección del archivo" ...>
La forma en la que se expresa la localización del archivo que contiene el programa es la misma que la vista para los enlaces.
method
Este atributo se encarga de especificar la forma en la que el formulario es enviado. Los dos valores posibles que puede tomar esta atributo son post y get. A efectos prácticos y, salvo que se os diga lo contrario, daremos siempre el valor post.
enctype
Se utiliza para indicar la forma en la que viajará la información que se mande por el formulario. En el caso más corriente, enviar el formulario por correo electrónico, el valor de este atributo debe de ser "text/plain". Así conseguimos que se envíe el contenido del formulario como texto plano dentro del email.
Si queremos que el formulario se procese automáticamente por un programa, generalmente no utilizaremos este atributo, de modo que tome su valor por defecto, es decir, no incluiremos enctype dentro de la etiqueta <form>
Ejemplo de etiqueta <form> completa
Así, para el caso más habitual -el envío del formulario por correo- la etiqueta de creación del formulario tendrá el siguiente aspecto:
<form action="mailto:direccion@correo.com (o nombre del archivo de proceso)" method="post" enctype="text/plain">
Entre esta etiqueta y su cierre colocaremos el resto de etiquetas que darán forma a nuestro formulario, las cuales serán vistas en capítulos siguientes.
|
Referencia:
Mandar formulario por correo electrónico
|
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Elementos
de Formularios. Campos de texto
El HTML nos
propone una gran diversidad de alternativas a la hora de crear
nuestros formularios. Estas van desde la clásica caja de texto
hasta la lista de opciones pasando por las cajas de validación.
Veamos en qué consiste cada una de estas modalidades y como podemos implementarlas en nuestro formulario.
Texto corto
Las cajas de texto son colocadas por medio de la etiqueta <input>. Dentro de esta etiqueta hemos de especificar el valor de dos atributos: type y name.
La etiqueta es de la siguiente forma:
<input type="text" name="nombre">
De este modo expresamos nuestro deseo de crear una caja de texto cuyo contenido será llamado nombre (por ejemplo). El aspecto de este tipo de cajas es de sobra conocido, aquí lo podéis ver:
El nombre del elemento del formulario es de gran importancia para poder identificarlo en nuestro programa de procesamiento o en el mail recibido. Por otra parte, es importante indicar el atributo type, ya que, como veremos, existen otras modalidades de formulario que usan esta misma etiqueta.
El empleo de estas cajas esta fundamentalmente destinado a la toma de datos breves: palabras o conjuntos de palabras de longitud relativamente corta. Veremos más adelante que existe otra forma de tomar textos más largos a partir de otra etiqueta.
Además de estos dos atributos, esenciales para el correcto funcionamiento de nuestra etiqueta, existen otra serie de atributos que pueden resultarnos de utilidad pero que no son imprescindibles:
size
Define el tamaño de la caja en número
de caracteres. Si al escribir el usuario llega al final de la caja,
el texto ira desfilando a medida que se escribe haciendo desaparecer
la parte de texto que queda a la izquierda.
maxlength
Indica el tamaño máximo del
texto que puede ser tomado por el formulario. Es importante no
confundirlo con el atributo size. Mientras el primero define el
tamaño aparente de la caja de texto, maxlength indica el
tamaño máximo real del texto que se puede escribir.
Podemos tener una caja de texto con un tamaño aparente (size)
que es menor que el tamaño máximo (maxlength). Lo que
ocurrirá en este caso es que, al escribir, el texto ira
desfilando dentro de la caja hasta que lleguemos a su tamaño
máximo definido por maxlength, momento en el cual nos será
imposible continuar escribiendo.
value
En algunos casos puede resultarnos interesante
asignar un valor definido al campo en cuestión. Esto puede
ayudar al usuario a rellenar más rápidamente el
formulario o darle alguna idea sobre la naturaleza de datos que se
requieren. Este valor inicial del campo puede ser expresado mediante
el atributo value. Veamos su efecto con un ejemplo sencillo:
<input type="text" name="nombre" value="Perico Palotes">
Genera un campo de este tipo:
|
Nota:
estamos obligados a utilizar la etiqueta <form>
|
Veremos posteriormente que este atributo puede resultar relevante en determinadas situaciones.
Texto oculto
Podemos esconder el texto escrito por medio asteriscos de manera a aportar una cierta confidencialidad. Este tipo de campos son análogos a los de texto con una sola diferencia: remplazamos el atributo type="text" por type="password":
<input type="password" name="nombre">
En este caso, podéis comprobar que al escribir dentro del campo en lugar de texto veréis asteriscos.
Estos campos son ideales para la introducción de datos confidenciales, principalmente códigos de acceso. Se ve en funcionamiento a continuación.
Texto largo
Si deseamos poner a la disposición de usuario un campo de texto donde pueda escribir cómodamente sobre un espacio compuesto de varias líneas, hemos de invocar una nueva etiqueta: <textarea> y su cierre correspondiente.
Este tipo de campos son prácticos cuando el contenido a enviar no es un nombre teléfono o cualquier otro dato breve, sino más bien, un comentario, opinión, etc.
Dentro de la etiqueta textarea deberemos indicar, como para el caso visto anteriormente, el atributo name para asociar el contenido a un nombre que será asemejado a una variable en los programás de proceso. Además, podemos definir las dimensiones del campo a partir de los atributos siguientes:
rows
Define el número de líneas del campo
de texto.
cols
Define el número de columnas del campo de
texto.
La etiqueta queda por tanto de esta forma:
<textarea name="comentario" rows="10" cols="40"></textarea>
El resultado es el siguiente:
Asimismo, es posible predefinir el contenido del campo. Para ello, no usaremos el atributo value sino que escribiremos dentro de la etiqueta el contenido que deseamos atribuirle. Veámoslo:
<textarea name="comentario" rows="10" cols="40">Escribe tu comentario....</textarea>
Dará como resultado:
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Otros
elementos de formulario
Efectivamente, los
textos son un manera muy practica de hacernos llegar la información
del navegante. No obstante, en muchos casos, los textos son
difícilmente adaptables a programás que puedan
procesarlos debidamente o bien, puede que su contenido no se ajuste
al tipo de información que requerimos. Es por ello que, en
determinados casos, puede resultar más efectivo proponer una
elección al navegante a partir del planteamiento de una serie
de opciones.
Este es el caso de, por ejemplo, ofrecer una lista de países, el tipo de tarjeta de crédito para un pago,...
Este tipo de opciones pueden ser expresadas de diferentes formás. Veamos a continuación cuales son:
Listas de opciones
Las listas de opciones son ese tipo de menús desplegables que nos permiten elegir una (o varias) de las múltiples opciones que nos proponen. Para construirlas emplearemos una etiqueta con su respectivo cierre: <select>
Como para los casos ya vistos, dentro de esta etiqueta definiremos su nombre por medio del atributo name. Cada opción será incluida en una línea precedida de la etiqueta <option>.
Podemos ver, a partir de estas directivas, la forma más típica y sencilla de esta etiqueta:
<select name="estacion">
<option>Primavera</option>
<option>Verano</option>
<option>Otoño</option>
<option>Invierno</option>
</select>
El
resultado es:
Esta estructura puede verse modificada principalmente a partir de
otros dos atributos:
size
Indica el número
de valores mostrados de la lista. El resto pueden ser vistos por
medio de la barra lateral de desplazamiento.
multiple
Permite la selección de más varios elementos de la
lista. La elección de más de un elemento se hace como
con el explorador de Windows, a partir de las teclas ctrl o shift.
Este atributo se expresa sin valor alguno, es decir, no se utiliza
con el igual: simplemente se pone para conseguir el efecto, o no se
pone si queremos una lista desplegable común.
|
Consejo:
Si es posible, no uses multiple |
Veamos cual es el efecto producido por estos dos atributos
cambiando la línea:
<select name="estacion">
por:
<select name="estacion" size="3"
multiple>
La lista quedara de esta forma:
La etiqueta <option> puede asimismo ser matizada por
medio de otros atributos
selected
Del mismo
modo que multiple, este atributo no toma ningún valor sino que
simplemente indica que la opción que lo presenta esta elegida
por defecto.
Así, si cambiamos la línea del
código anterior:
<option>Otoño</option>
por:
<option selected>Otoño</option>
El resultado será:
value
Define el valor de la opción que será
enviado al programa o correo electrónico si el usuario elige
esa opción. Este atributo puede resultar muy útil si el
formulario es enviado a un programa puesto que a cada opción
se le puede asociar un número o letra, lo cual es más
fácilmente manipulable que una palabra o texto. podríamos
así escribir líneas del tipo:
<option
value="1">Primavera</option>
De este modo,
si el usuario elige primavera, lo que le llegara al programa (o
correo) es una variable llamada estacion que tendrá com valor
1. En el correo electrónico recibiríamos:
estacion=1
Botones de radio
Existe otra alternativa para
plantear una elección, en este caso, obligamos al internauta a
elegir únicamente una de las opciones que se le proponen.
La
etiqueta empleada en este caso es <input> en la cual tendremos
el atributo type ha de tomar el valor radio. Veamos un ejemplo:
<input type="radio" name="estacion"
value="1">Primavera
<br>
<input
type="radio" name="estacion" value="2">Verano
<br>
<input type="radio" name="estacion"
value="3">Otoño
<br>
<input
type="radio" name="estacion" value="4">Invierno
|
Nota: Hay que fijarse que la etiqueta <input type="radio"> sólo coloca la casilla pinchable en la página. Los textos que aparecen al lado, así como los saltos de línea los colocamos con el correspondiente texto en el código de la página y las etiquetas HTML que necesitemos. |
El resultado es el siguiente:
Como puede verse, a cada una de las opciones se le atribuye una
etiqueta input dentro de la cual asignamos el mismo nombre (name)
para todas las opciones y un valor (value) distinto. Si el usuario
elige supuestamente Otoño, recibiremos en nuestro correo una
línea tal que esta:
estacion=3
Cabe señalar
que es posible preseleccionar por defecto una de las opciones. Esto
puede ser conseguido por medio del atributo checked:
<input
type="radio" name="estacion" value="2"
checked>Verano
Veamos el efecto:
Cajas de validación
Este tipo de elementos
pueden ser activados o desactivados por el visitante por un simple
clic sobre la caja en cuestión. La sintaxis utilizada es muy
similar a las vistas anteriormente:
<input type="checkbox"
name="paella">Me gusta la paella
El efecto:
La única diferencia fundamental es el valor adoptado por el
atributo type.
Del mismo modo que para los botones de radio,
podemos activar la caja por medio del atributo checked.
El
tipo de información que llegara a nuestro correo (o al
programa) será del tipo:
paella=on (u off dependiendo
si ha sido activada o no)
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Envio,
borrado y demás en formularios HTML
Los
formularios han de dar plaza no solamente a la información a
tomar del usuario sino también a otra serie de funciones.
Concretamente, han de permitirnos su envío mediante un botón.
También puede resultar práctico poder proponer un botón
de borrado o bien acompañarlo de datos ocultos que puedan
ayudarnos en su procesamiento.
En este capitulo, para terminar la saga de formularios, daremos a conocer los medios de instalar todas estas funciones.
botón de envío
Para dar por finalizado el proceso de relleno del formulario y hacerlo llegar a su gestor, el navegante ha de validarlo por medio de un botón previsto a tal efecto. La construcción de dicho botón no reviste ninguna dificultad una vez familiarizados con las etiquetas input ya vistas:
<input type="submit" value="Enviar">
Con este código generamos un botón como este:
Como puede verse, tan solo hemos de especificar que se trata de un botón de envío (type="submit") y hemos de definir el mensaje del botón por medio del atributo value.
botón de borrado
Este botón nos permitirá borrar el formulario por completo en el caso de que el usuario desee rehacerlo desde el principio. Su estructura sintáctica es análoga a la anterior:
<input type="reset" value="Borrar">
A diferencia del botón de envío, indispensable en cualquier formulario, el botón de borrado resulta meramente optativo y no es utilizado frecuentemente. Hay que tener cuidado de no ponerlo muy cerca del botón de envío y de distinguir claramente el uno del otro.
Datos ocultos
En algunos casos, aparte de los propios datos enviados por el usuario, puede resultar práctico enviar datos definidos por nosotros mismos que ayuden al programa en su procesamiento del formulario. Este tipo de datos, que no se muestran en la página pero si pueden ser detectados solicitando el código fuente, no son frecuentemente utilizados por páginas construidas en HTML, son más bien usados por páginas que emplean tecnologías de servidor. No os asustéis, veremos más adelante qué quiere decir esto. Tan solo queremos dar constancia de su existencia y de su modo creación. He aquí un ejemplo:
<input type=hidden name="sitio" value="www.desarrolloweb.com">
Esta etiqueta, incluida dentro de nuestro formulario, enviara un dato adicional al correo o programa encargado de la gestión del formulario. podríamos, a partir de este dato, dar a conocer al programa el origen del formulario o algún tipo de acción a llevar a cabo (una redirección por ejemplo).
Botones normales
Dentro de los formularios también podemos colocar botones normales, pulsables como cualquier otro botón. Igual que ocurre con los campos hidden, estos botones por si solos no tienen mucha utilidad pero podremos necesitarlos para realizar acciones en el futuro. Su sintaxis es la siguiente.
<input type=button value="Texto escrito en el botón">
Quedaría de esta manera:
El uso más frecuente de un botón es en la programación en el cliente. Utilizando lenguajes como Javascript podemos definir acciones a tomar cuando un visitante pulse el botón de una página web.
Ejemplo de formulario
Con este capitulo finalizamos nuestro tema de formularios. Pasemos ahora a ejemplificar todo lo aprendido a partir de la creación de un formulario que consulta el grado de satisfacción de los usuarios de una línea de autobuses ficticia. El formulario está construido para que envíe los datos por correo electrónico a un buzón determinado.
Vemos el formulario en esta página. Vosotros tratar de construirlo para ver si habéis entendido bien los temas sobre formularios.
El formulario se puede ver también en una página a parte. Recordad que podéis ver el código fuente de cualquier página web utilizando los menús de vuestro navegador, así podréis revisar el código que hemos utilizado para construir el formulario.
A continuación también mostraremos el código fuente de este formulario, que es importante que todos le echemos un vistazo, aunque sea rápidamente.
<form
action="mailto:colabora@desarrolloweb.com" method="post"
enctype="text/plain">
Nombre <input type="text"
name="nombre" size="30" maxlength="100">
<br>
Email <input type="text" name="email"
size="25" maxlength="100" value="@">
<br>
Población <input type="text"
name="poblacion" size="20" maxlength="60">
<br>
Sexo
<br>
<input type="radio"
name="sexo" value="Varon" checked> Hombre
<br>
<input type="radio" name="sexo"
value="Hembra"> Mujer
<br>
<br>
Frecuencia de los viajes
<br>
<select
name="utilizacion">
<option
value="1">Varias veces al dia
<option value="2">Una vez al dia
<option value="3">Varias veces a la semana
<option value="4">varias veces al mes
</select>
<br>
<br>
Comentarios sobre su satisfacción
personal
<br>
<textarea cols="30" rows="7"
name="comentarios"></textarea>
<br>
<br>
<input type="checkbox"
name="recibir_info" checked>
Deseo recibir
notificación de las novedades en las líneas de
autobuses.
<br>
<br>
<input type="submit"
value="Enviar formulario">
<br>
<br>
<input type="Reset" value="Borrar todo">
</form>
Para acabar, vamos a ver lo que recibirían por correo electrónico en la empresa de autobuses cuando un usuario cualquiera rellenase este formulario y pulsase sobre el botón de envio.
nombre=Federico Mijo Silvestre
email=fede@terramix.com
poblacion=Astorga, León
sexo=Varon
utilizacion=2
comentarios=No creo que sea una buena linea. Poner más
autobuses.
recibir_info=on
|
Referencia:
Taller
con formularios
|
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Mapas
de imágenes con HTML
En capítulos
anteriores hemos podido adentrarnos en el elemento básico de
navegación del web: El enlace hipertexto. Hemos visto que
estos enlaces son palabras, textos o imágenes que, al pinchar
sobre ellos, nos envían a otras páginas o zonas.
Los
mapas de imágenes es un nuevo planteamiento de navegación
que incorpora una serie de enlaces dentro de una misma imagen. Estos
enlaces son definidos por figuras geométricas y funcionan
exactamente del mismo modo que los otros enlaces. Podéis ver
el funcionamiento de uno en este enlace.
En un principio,
estos mapas no eran directamente reconocidos por los navegadores y
recurrían a tecnologías
de lado del servidor para ser visualizados. Hoy en día
pueden ser implementados por medio de código HTML tal y como
veremos en este capitulo.
Podemos utilizar estos mapas, por
ejemplo, en portadas donde damos a conocer cada una de las secciones
del sitio por medio de una imagen. También puede ser muy
práctico en mapas geográficos donde cada ciudad,
provincia o punto cualquiera representa un enlace a una página.
En cualquier caso, el uso de estos mapas ha de estar
sistemáticamente acompañado de un texto explicativo que
dé a conocer al usuario la posibilidad de hacer clic sobre los
distintos puntos de la imagen. Frases como "Haz clic sobre tal
icono para acceder a tal información" resultan muy
indicativas a la hora de hacer intuitiva la navegación por los
mapas de imágenes. Por otro lado, no esta de más
introducir esa misma explicación en el atributo
alt de la imagen.
Así pues, un mapa de imagen esta
compuesto de dos partes:
La imagen propiamente dicha que estará situada como de costumbre dentro de la etiqueta <body> de nuestro documento HTML.
Un código, situado en el interior de la etiqueta <map>, que delimitara por medio de líneas geométricas imaginarias cada una de las áreas de los enlaces presentados en la imagen.
Las líneas geométricas que delimitan los enlaces, es
decir, las áreas de los enlaces, han de ser definidas por
medio de coordenadas. Cada imagen es definida por unas dimensiones de
ancho (X) y alto (Y) y cada punto de la imagen puede ser definido por
tanto diciendo a que altura (x) y anchura (y) nos encontramos. De
este modo, la esquina superior izquierda corresponde a la posición
0,0 y la esquina inferior derecha corresponde a las coordenadas X,Y.
Si deseamos saber qué coordenadas corresponden a un punto
concreto de nuestra imagen, lo mejor es utilizar un programa de
diseño grafico como Photoshop o Paint Shop Pro.
La
mejor forma de explicar el funcionamiento de este tipo de mapas es a
partir de un ejemplo práctico. Supongamos que tenemos una
imagen con un mapa como esta:
|
|
Dentro de ella queremos introducir un enlace a cada uno de los
elementos que la componen. Para ello, definiremos nuestros enlaces
como zonas circulares de pequeño tamaño que serán
distribuidas a lo largo y ancho de la imagen.
Veamos a
continuación el código que utilizaremos:
<table
border=0 width=450><tr><td align="center">
<map name="mapa1">
<area alt="Pulsa
para ver la página de mis amigos" shape="CIRCLE"
coords="44,36,29" href="#">
<area
alt="Pulsa para ver mi novia" shape="CIRCLE"
coords="140,35,31" href="#">
<area
alt="Pulsa para conocer a mi Familia" shape="circle"
coords="239,37,30" href="#">
<area
alt="Pulsa para conocer mi trabajo" shape="CIRCLE"
coords="336,36,31" href="#">
</map>
<img src="images/html/mapa1.gif" width="380"
height="72" alt="Mapa de imágenes. Pulsa en
cada una de los círculos." border="0"
usemap="#mapa1">
<br>
Pulsa en los
círculos para acceder a las secciones!
</td></tr></table>
|
Nota:
Los href de las áreas van a # |
Podéis observar, tal y como hemos explicado antes, que
nuestro mapa consta de dos partes principales: la imagen y la
etiqueta <map> que define las áreas de cada enlace.
Cada área se indica con una etiqueta <area>, que
tiene los siguientes atributos:
alt
Para indicar
un texto que se mostrará cuando situemos el ratón en el
área.
shape
Indica el tipo de área.
coords
Las coordenadas que definen el área.
Serán un grupo de valores numéricos distintos
dependiendo del tipo de área (shape) que estemos definiendo.
href
Para indicar el destino del enlace
correspondiente al área.
En este caso hemos utilizado
unas áreas circulares (shape="CIRCLE"), que se
definen indicando el centro del círculo -una coordenada (X,Y)
y el radio, que es un número entero que se corresponde con el
número de pixels desde el centro hasta el borde del círculo.
Tipos de áreas: shape distintas.
Existen
tres tipos de áreas distintas, suficientes para hacer casi
cualquier tipo de figura. En el dibujo que acompaña estas
líneas se puede ver una representación de las áreas,
que detallamos a continuación.
shape="RECT"
Crea un área rectangular. Para definirla se utilizan
las coordenadas de los puntos de la esquina superior izquierda y la
esquina inferior derecha. Tal como están nombradas dichas
coordenadas en nuestro dibujo, el área tendría la
siguiente etiqueta:
<area shape="RECT"
coords="X1,Y1,X2,Y2" href="#">
shape="CIRCLE"
Crea un área
circular, que se indica con la coordenada del centro del círculo
y el radio. A la vista de nuestro dibujo, la etiqueta de un área
circular tendría esta forma:
<area shape="CIRCLE"
coords="X1,Y1,R" href="#">
shape="POLY"
Este tipo de área, poligonal, es la más
compleja de todas. Un polígono queda definido indicando todos
sus puntos, pero atención, los tenemos que indicar en orden,
siguiendo el camino marcado por el perímetro del polígono.
A la vista del dibujo y los nombres que hemos dado a los puntos del
polígono, la etiqueta <area> quedaría de esta
forma.
<area shape="POLY" coords=" X1,Y1,
X2,Y2, X3,Y3, X4,Y4" href="#">
Informe
de Rubén
Alvarez
Mail:
ruben@desarrolloweb.com
Frames
en HTML
Una de las más modernas
características de HTML son los frames, que se añadieron,
tanto en Netscape Navigator como en Internet Explorer, a partir de
sus versiónes 2.0. Los frames -que significan en castellano
marcos- son una manera de partir la página en distintos
espacios independientes los unos de los otros, de modo que en cada
espacio se coloca una página distinta que se codifica en un
fichero HTML distinto.
Al principio se crearon como etiquetas
propietarias del navegador Netscape y rápidamente la potencia
del recurso hizo que el uso de frames se extendiera por toda la web.
Poco tardaría Internet Explorer en incluirlos, para que no se
le escapase una novedad tan popular de su competidor. Finalmente,
como respuesta a la popularidad entre los desarrolladores de los
frames, el estándar HTML 4.0 incluyó estas etiquetas
dentro de las permitidas.
Los frames, como decíamos,
nos permiten partir la ventana del navegador en diferentes áreas.
Cada una de estas áreas son independientes y han de ser
codificadas con archivos HTML también independientes. Como
resultado, cada frame o marco contiene las propiedades específicas
que le indiquemos en el código HTML a presentar en ese
espacio. Así mismo, y dado que cada marco es independiente,
tendrán sus propias barras de desplazamiento, horizontales y
verticales, por separado.
Existen en la web muchas páginas
que contienen frames y seguro que todos hemos tenido la ocasión
de conocer algunas. Se suelen utilizar para colocar en una parte de
la ventana una barra de navegación, que generalmente se
encuentra fija y permite el acceso a cualquier zona de la página
web. Una de las principales ventajas de la programación con
frames viene derivada de la independencia de los distintos frames,
pues podemos navegar por los contenidos de nuestro web con la barra
de navegación siempre visible, y sin que se tenga que recargar
en cada una de las páginas que vamos visitando.
Un
ejemplo de las áreas que se pueden construir en una
construcción de frames se puede ver en las imágenes
siguientes.
|
|
|
Para el que no haya tenido oportunidad de conocer los frames y
su funcionamiento, ofrecemos un enlace
a una página cualquiera de Internet que los utiliza.
Además, podemos ver
uno de los ejemplos del tema de frames que simula la página de
una carnicería.
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Frames
- Explicación básica
Las
páginas web que están hechas con frames se componen de
una declaración de los marcos y tantas páginas en
formato HTML corriente como distintas divisiones hemos definido. La
declaración o definición de frames es la única
página que realmente debemos aprender, puesto que las páginas
que se van a visualizar en cada uno de los cuadros son ficheros HTML
de los que venimos aprendiendo anteriormente en este manual.
Dicha
definición está compuesta por etiquetas <FRAMESET>
y <FRAME>, con las que se indicamos la disposición de
todos los cuadros. La etiqueta <FRAMESET> indica las
particiones de la ventana del navegador y la etiqueta <FRAME>
indica cada uno de los cuadros donde colocaremos una página
independiente.
Las particiones que se pueden hacer con un
<FRAMESET> son en filas o columnas. Por ejemplo, podríamos
indicar que deseamos hacer una división de la página en
dos filas, o dos columnas, tres filas, etc. Para indicar tanto la
forma de partir la ventana -en filas o columnas- como el número
de particiones que pretendemos hacer, se ha de utilizar el atributo
COLS o ROWS. El primero sirve para indicar una partición en
columnas y el segundo para una partición en filas.
|
Nota: Es importante indicar que no se puede hacer una partición en filas y columnas a la vez, sino que debemos escoger en partir la ventana en una de las dos disposiciones. Más adelante indicaremos cómo partir la ventana tanto en filas como en columnas, que se hace con la anidación de frames. |
En el atributo COLS o ROWS -sólo podemos elegir uno de
los dos- colocamos entre comillas el número de particiones que
deseamos realizar, indicando de paso el tamaño que va a
asignarse a cada una. Un valor típico de estos atributos sería
el siguiente:
cols="20%,80%"
Indica que
se deben colocar dos columnas, la de la izquierda tendría un
20% del espacio total de la ventana y la de la derecha un 80%.
rows="15%,60%,25%"
Así indicamos
que deseamos tres filas, la de arriba con un 15% del espacio total,
la del medio con un espacio correspondiente al 60% del total y la de
abajo con un 25%. En total suman el 100% del espacio de la ventana.
Además del porcentaje para indicar el espacio de cada
una de las casillas, también podemos indicarlo en pixeles. De
esta manera.
cols="200,600"
Para indicar
que la columna de la izquierda debe tener 200 pixels de ancho y la de
la derecha 600. Esto está bien si nuestra ventana tiene 800
pixels de ancho, pero esto no tiene porque ser así en todos
los monitores de los usuarios, por lo que este modo de expresar los
marcos es importante que se indique de la siguiente manera.
cols="200,*"
Así indicamos que la
primera columna ha de medir 200 pixels y que el resto del espacio
disponible -que será mayor o menor dependiendo de la
definición de la pantalla del usuario- se le asignará a
segunda columna.
En la práctica podemos mezclar todos
estos métodos para definir los marcos de la manera que
deseemos, con pocentaje, con pixels o con el comodín (*). No
importa cómo se definan, la única recomendación
es que uno de los valores que indiquemos sea un asterisco, para que
el área correspondiente a dicho asterisco o comodín sea
más o menos grande dependiendo del espacio que tenga la
ventana de nuestro navegador. Otros métodos de definir filas y
columnas, atendiendo a este consejo, serían los siguientes:
rows="100,*,12%"
Definimos tres filas,
la primera con 100 pixels de ancho, la segunda con el espacio que
sobre de las otras dos, y la tercera con un 12% del espacio total.
cols="10%,50%,120,*"
Estamos indicando
cuatro columnas. La primera del 10% del espacio de la ventana, la
segunda con la mitad justa de la ventana, la tercera con un espacio
de 120 pixels y la última con la cantidad de espacio que sobre
al asignar espacio a las demás particiones.
Una vez
hemos indicado el número de filas o columnas y el espacio
reservado a cada una con la etiqueta <FRAMESET>, debemos
especificar con la etiqueta <FRAME> la procedencia de cada uno
de los frames en los que hemos partido la ventana.
Para ello,
disponemos del atributo SRC, que se ha de definir para cada una de
las filas o columnas. De esta manera.
<FRAME
src="marco1.html">
Así queda indicado que
el frame que estamos definiendo debe mostrar la página
marco1.html en su interior.
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Frames
- Creación de una estructura simple
Para
ilustrar todo lo que venimos explicando podemos ver el ejemplo sobre
cómo se crearía la definición de frames de la
imagen que podemos ver a continuación.

<html>
<head>
<title>Definición de Frames</title>
</head>
<frameset rows="15%,*,75">
<frame src="pagina1.html">
<frame src="pagina2.html">
<frame src="pagina3.html">
</frameset>
</html>
Se puede ver
esta partición de frames en una página a parte.
Además tenemos algunas consideraciones que hacer para
terminar de comprender este ejemplo:
El título de la definición de frames es el que hereda toda la página web, por ello, no es buena idea titular como "definición de frames" por ejemplo, ya que entonces toda nuestra página se titularía así y seguramente no sea muy descriptivo. Si estuviésemos haciendo una página para la carnicería pepe sería mejor titular a la definición de frames algo como "Carnicería Pepe, las mejores carnes en Madrid".
La página que define los frames no tiene body. HTML puede arrojarnos un error si lo incluimos.
Las páginas "pagina1.html", "pagina2.html"y "pagina3.html" han de escribirse en archivos independientes con el nombre indicado. En este ejemplo, dichas páginas deberían encontrarse en el mismo directorio que la declaración de frames. Si especificamos una ruta para acceder al archivo podemos colocarlo en el directorio que deseemos.
Los colores de cada uno de los frames los hemos colocado con el atributo bgcolor colocado en la etiqueta <BODY> de cada una de las páginas que se muestran en los marcos.
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Frames
- Una página en cada marco
Las
páginas que mostraremos en cada marco son documentos HTML
iguales a los que venimos creando anteriormente. Podemos colocar
cualquier elemento HTML de los estudiados en este manual, como
etiquetas de párrafo, imágenes, colores de fondo, etc.
Cada documento, como ya hemos indicado, se escribe por
separado en su propio archivo HTML. Para el ejemplo del capítulo
anterior podemos definir los archivos HTML de la siguiente manera.
pagina1.html
Es la página que contiene el
titular de la web. Simplemente se trata de una etiqueta <H1> de
titular. La página tiene su propio título, con la
etiqueta <TITLE>, que no se podrá visualizar por ningún
sitio a no ser que se muestre esta página sin los frames, ya
que las páginas dentro de los marcos heredan el título
de la definición de los frames.
<html>
<head>
<title>Titulo Carnicería
Pepe</title>
</head>
<body
bgcolor="#DECC09">
<h1 align=center>Carnicería
PEPE</h1>
</body>
</html>
pagina2.html
Es la página que se presentará en el área
principal de la definición de frames, es decir, la página
que tiene más espacio para visualizarse y donde pondremos los
contenidos de la web. En este caso muestra un mensaje de bienvenida a
la web, que hará las veces de portada.
<html>
<head>
<title>Portada de
Carnicería PEPE</title>
</head>
<body
bgcolor="#CF391C" text="#ffffff">
<h1
align="center">Bienvenidos a nuestra web</h1>
<br>
<br>
La carnicería PEPE, con más
de 100 años de experiencia, es la mejor fuente de carnes de
vacuno y cerdo de la comunidad.
<br>
<br>
Tanto
en invierno como en verano puede encontrar nuestras ofertas de
temporada de primera calidad.
</body>
</html>
pagina3.html
En esta página se mostrará
la barra de navegación por los contenidos del sitio. Contiene
enlaces que deberían actualizar el contenido del área
principal de la declaración de frames, para mostrar los
distintos contenidos del sitio, por ejemplo, la portada, los
productos, la página de contacto, etc.
<html>
<head>
<title>Barra de
navegación de carnicería PEPE</title>
</head>
<body bgcolor="#AC760E" link="ffffcc"
vlink="ffffcc">
<div align="center">
<b>
<a href="pagina2.html">Portada</a>
|
<a href="productos.html">Productos</a> |
<a href="contacto.html">Contacto</a>
</b>
</div>
</body>
</html>
Podemos
ver
cómo queda la página de frames con estos contenidos,
que simulan la página de una carnicería.
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Frames
- Dirigir los enlaces
La única
particularidad destacable en el ejemplo
del capítulo anterior, y en el manejo de frames en
general, se trata de que cada uno de los enlaces que colocamos en
las páginas actualizan el frame donde está colocado
este enlace. Por ejemplo, si tenemos enlaces en la parte inferior
de la ventana, en el espacio correspondiente al tercer marco,
actualizarán los contenidos del tercer frame, que es donde
están situados los enlaces.
Este efecto que comentamos
se puede observar en el ejemplo
de la página de la carnicería, tal como quedaría
al incluir los códigos de las distintas páginas.
Lo
lógico es que al pulsar sobre un enlace de la barra de
navegación actualicemos el frame principal, que es donde
habíamos planeado colocar los contenidos, en lugar del frame
donde colocamos la barra de navegación, que debería
mantenerse fija. Para conseguir este efecto debemos hacer un par de
cosas:
Darle un nombre al frame que
deseamos actualizar
Dicho nombre se indica en la etiqueta
<FRAME> de la definición de frames. Para ello
utilizamos el atributo name, igualado al nombre que le queremos dar
a dicho marco.
Dirigir los enlaces hacia ese frame
Para ello
debemos colocar en el atributo target de los enlaces -etiqueta <A>-
el nombre del frame que deseamos actualizar al pulsar el enlace.
Después de darle un nombre al frame principal, nuestra
declaración de frames quedaría de la siguiente manera.
<frameset rows="15%,*,75">
<frame src="pagina1.html">
<frame src="pagina2.html" name="principal">
<frame src="pagina3.html">
</frameset>
Además, deberíamos
colocar el atributo target a los enlaces, tal como sigue.
<a
href="pagina2.html" target="principal">Portada</a>
|
<a href="productos.html"
target="principal">Productos</a> |
<a
href="contacto.html" target="principal">Contacto</a>
Una vez realizados este par de cambios podemos ver
como los enlaces de la barra de navegación sí
actualizan la página que deben.
Valores para el atributo target
Como hemos visto, con el atributo target de la etiqueta <A> podemos indicar el nombre del frame que deseamos que actualice ese enlace. Sin embargo, no es este el único valor que podemos aplicarle al atributo. Tenemos algunos valores adicionales que podemos asignar a cualquier enlace en general.
_blank
Para hacer que ese enlace se abra en una ventana
a parte. Nuestros ejemplos en este manual se suelen abrir en una
ventana a parte, colocando este valor en el target de los enlaces que
llevan a los ejemplos.
_self
Se actualiza el frame donde está situado
el enlace. Es el valor por defecto.
_parent
El enlace se actualiza sobre su padre o sobre
la ventana que estamos trabajando, si es que no hay un padre.
_top
La página se carga a pantalla completa, es
decir, eliminando todos los frames que pudiera haber. Este atributo
es muy importante porque si colocamos en nuestra página con
frames un enlace a una página externa, se abriría en
uno de los frames y se mantendrían visibles otros frames de la
página, haciendo un efecto que suele ser poco agradable,
porque parece que están evitando que nos escapemos.
La sintaxis de uno de estos valores de atributos colocados en un enlace sería la siguiente.
<A href="http://www.guiarte.com"
target="_top">Acceder a guiarte.com</A>
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Frames
- Anidar frames
Para crear estructuras de
marcos en las que se mezclen las filas y las columnas debemos anidar
etiquetas <FRAMESET>. Empezando por la partición de
frames más general, debemos colocar dentro las particiones de
frames más pequeñas. La manera de indicar esto se puede
ver fácilmente con un ejemplo.
Los
pasos para definir la anidación se pueden encontrar a la
derecha.
Los distintos frames vienen numerados con el orden
en
el que se escriben en el código.
En la imagen se puede ver el resultado final acompañada
de la representación sobre la manera de definirlos. En primer
lugar definimos una estructura de frames en dos columnas y dentro de
la primera columna colocamos otra parcición de frames en dos
filas. El código necesario es el siguiente.
<frameset
cols="200,*">
<frameset
rows="170,*">
<frame src="pagina1.html">
<frame src="pagina2.html">
</frameset>
<frame
src="pagina3.html">
</frameset>
Podemos
ver
el ejemplo en una página a parte.
|
Nota: hemos colocado un margen en cada una de las líneas de esta definición de frames para conseguir un código más entendible visualmente. Estos márgenes no son en absoluto necesarios, simplemente nos sirven para ver en qué nivel de anidación nos encontramos. |
El ejemplo anterior se puede complicar un poco más si
incluimos más particiones. Vamos a ver algo un poco más
complicado para practicar más con las anidaciones de frames.
Los
pasos para definir la anidación se pueden encontrar a la
derecha.
Los distintos frames vienen numerados con el orden
en
el que se escriben en el código.
En la imagen se observa que el primer frameset a definir se
compone de dos filas. Posteriormente, dentro de la segunda fila del
primer frameset, tenemos otra partición en dos columnas,
dentro de las que colocamos un tercer nivel de frameset con una
definción en filas en los dos casos. El código se puede
ver a continuación.
<frameset rows="60,*">
<frame src="pagina1.html">
<frameset cols="200,*">
<frameset rows="*,150">
<frame
src="pagina2.html">
<frame src="pagina3.html">
</frameset>
<frameset
rows="*,60">
<frame src="pagina4.html">
<frame src="pagina5.html">
</frameset>
</frameset>
</frameset>
Podemos ver
el ejemplo en una página a parte.
Hasta aquí
hemos visto la parte más básica de la creación
de frames. En los siguientes capítulos podremos aprender a
configurar los marcos para variar su apariencia y, entre otras cosas,
eliminar las barras que separan cada uno de los distintos frames.
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Frames
- Atributos avanzados
Aparte de la creación
de los marcos propiamente dicha, existen muchos atributos con los que
configurar su apariencia. Para ello, tanto la etiqueta <frameset>
como <frame> admiten diversos atributos que permiten
especificar la forma de elementos como los bordes de los frames, el
margen, la existencia o no de barras de desplazamiento, etc.
Atributos para la etiqueta <frameset>
Ya
hemos conocido el atributo cols y rows, que sirven para indicar si la
distribución en marcos se hará horizontalmente o
verticalmente. Sólo se puede utilizar uno de ellos y se iguala
a las dimensiones de cada uno de las divisiones, separadas por comas.
border="número de pixels"
Permite
especificar de manera global para todo el frameset el número
de pixels que ha de tener el borde de los frames.
bordercolor="#rrggbb"
Con este atributo
podemos modificar el color del borde de los frames, también de
manera global a todo el frameset.
frameborder="yes|no|0"
Sirve para mostrar o no el borde del frame. Sus posibles valores
son "yes" (para que se vean los bordes) y "no" o
"0" (para que no se vean). En la práctica elimina el
borde, pero permanece una línea de separación de los
frames.
framespacing="número de pixels"
Para determinar la anchura de la línea de separación
de los frames. Se puede utilizar en Internet Explorer y junto con el
atributo frameborder="0" sirve para eliminar los bordes de
los marcos.
Atributos para la etiqueta <frame>
Para esta etiqueta hemos señalado en capítulos
anteriores los atributos src, que sirve para indicar el archivo que
contiene el marco y name, para darle un nombre al marco y luego
dirigir los enlaces hacia el. Veamos ahora otros atributos
disponibles.
marginwidth="número de pixels"
Define el número de pixels que tiene el margen del frame
donde se indica. Este margen se aplica a la página que
pretendemos ver en ese marco, de modo que si colocamos 0, los
contenidos del página en ese marco estarán pegados por
completo al borde del margen y si indicamos un valor de 10, los
contenidos de la página estarían separados del borde 10
pixels.
marginheight="número de pixels"
Lo mismo que el anterior atributo, pero para el margen vertical.
scrolling="yes|no|auto"
Sirve para
indicar si queremos que haya barras de desplazamiento en los
distintos marcos. Si indicamos "yes" siempre saldrán
las barras, si indicamos "no" no saldrán nunca y si
colocamos "auto" saldrán sólo si son
necesarias. Auto es el valor por defecto.
|
Consejo: hay que tener cuidado si eliminamos los bordes de los frames, puesto que la página web puede tener dimensiones distintas dependiendo de la definición de pantalla del visitante. Si el espacio de la ventana se ve reducido, podría verse reducido el espacio para el frame y puede que no quepan los elementos que antes si que cabían y si hemos eliminado las barras de desplazamiento puede que el visitante no pueda ver todo el contenido del marco. Este mismo consejo se puede aplicar al redimensionamiento de frames, que veremos en el siguiente atributo. Si hacemos que los marcos no sean redimensionables probablemente tengamos una declaración de frames demasiado rígida, que puede verse mal en algún tipo de pantalla. |
noresize
Este atributo no tiene valores,
simplemente se pone o no se pone. En caso de que esté presente
indica que el frame no se puede redimensionar. Como hemos podido ver,
al colocar el ratón sobre el borde de los marcos sale un
cursor que nos señala que podemos mover dicho borde y
redimensionar así los frames. Por defecto, si no colocamos
nada, los marcos si se pueden redimensionar.
frameborder="yes|no|0"
Este atributo permite controlar la aparición de los bordes
de los frames. Con este atributo igualado a "0" o "no"
los bordes se eliminan. Sin embargo, quedan los feos márgenes
en el borde. Por lo que hemos podido comprobar funciona mejor en
Netscape que en Internet Explorer. De todos modos, tenemos una nota
un poco más adelante para explicar los frames sin bordes.
|
Nota: los atributos de frames no funcionan siempre bien en todos los navegadores. Es recomendable que hagamos un test sobre lo que estamos diseñando en varios navegadores para comprobar que nuestros frames se ven bien en todas las plataformas. |
bordercolor="#rrggbb"
Permite especicicar
el color del borde del marco.
|
Referencia: Tenemos un taller de HTML en el que explicamos como realizar un frame sin bordes que se vea bien en los navegadores más habituales. |
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Ventajas
e inconvenientes del uso de frames
El diseño
con frames es un asunto bastante controvertido, ya que distintos
diseñadores tendrán unas u otras opiniones.
|
Referencia: Si deseas saber qué son los frames y cómo crearlos consulta los capítulos de Frames de nuestro manual de HTML. |
En mi caso, pienso que es preferible no utilizarlos, aunque eso depende del tipo de sitio web que estés construyendo, ya que en algunos casos sí que sería muy adecuado su uso.
Voy a colocar unas ventajas e inconvenientes del uso de marcos (frames). Siempre es a mi entender, otros pueden tener otras opiniones.
Ventajas de usar frames
La navegación de la página será más rápida. Aunque la primera carga de la página sería igual, en sucesivas impresiones de páginas ya tendremos algunos marcos guardados , que no tendrían que volverse a descargar.
Crear páginas del sitio sería más rápido. Como no tenemos que incluir partes de código como la barra de navegación, título, etc. crear nuevas páginas sería un proceso mucho más rápido.
Partes de la página (como la barra de navegación) se mantienen fijas y eso puede ser bueno, para que el usuario no las pierda nunca de vista.
Estas mismas partes visibles constantemente, si contienen enlaces, pueden servir muy bien para mejorar la navegación por el sitio.
Mantienen una identidad del sitio donde se navega, pues los elementos fijos conservan la imagen siempre visible.
Inconvenientes de usar frames
Quitan espacio en la pantalla. El espacio ocupado por los frames fijos se pierde a la hora de hacer páginas nuevas, porque ya está utilizado. En definiciones de pantalla pequeña o dispositivos como Palms, este problema se hace más patente.
Fuerzan al visitante a entrar por la declaración de frames. Si no lo hacen así, sólo se vería una página interior sin los recudros. Estos recuadros podrían ser insuficientes para una buena navegación por los contenidos y podrían no conservar una buena imagen corporativa.
La promoción de la página sería, en principio, más limitada. Esto es debido a que sólo se debería promocionar la portada, pues si se promocionan páginas interiores, podría darse en caso de que los visitantes entrasen por ellas en lugar de por la portada, creandose el problema descrito en el punto anterior.
A mucha gente les disgustan pues no se sienten libres en la navegación, pues entienden que esas partes fijas están limitando su movilidad por la web. Este efecto se hace más patente si la página con frames tiene enlaces a otras páginas web fuera del sitio y, al pulsar un enlace, se muestra la página nueva con los marcos de la página que tiene frames.
Algunos navegadores no los soportan. Esto no es muy habitual, pero si estamos haciendo una página que queramos que sea totalmente accesible deberíamos considerarlo importante.
Los bookmarks o favoritos no funcionan correctamente en muchos casos. Si queremos incluir un favorito a una página de un frame que no sea la portada podemos encontrar problemas.
Puede que el botón de atrás del navegador no se comporte como deseamos.
Si quieres actualizar más de un frame con la pulsación de un enlace deberás utilizar Javascript. Además los scripts se pueden complicar bastante cuando se tienen que comunicar varios frames entre si.
Conclusión
El trabajo con frames puede ser más bueno o más malo
dependiendo de las características de la página a
desarrollar, es tu tarea saber si en tu caso debes utilizarlos o
no.
Informe
de Miguel
Angel Alvarez
Director
DesarrolloWeb.com
Mail: miguel@desarrolloweb.com
Las
nuevas etiquetas de HTML 4.0
Introducción.
Cuando Internet empezaba su imparable escalada, la versión del
estándar HTML que circulaba era la 2.0, el cuál siguen
soportando los navegadores más actuales. Pero las herramientas
de que se disponía no ofrecían un control preciso de
los documentos.
Pero como por aquel entonces el objetivo de
Internet estaba fundamentalmente orientado al ámbito académico
y no al de diseño, no se le dio demasiada importancia a la
cuestión de lanzar una versión mejorada del estándar
hasta que Netscape, que por aquel entonces era la empresa líder
en el sector, tomó la iniciativa de incluir nuevas etiquetas
pensadas para mejorar el aspecto visual de las páginas web.
Por este motivo el IETF (Internet Engineering Task Force)
http://www.ietf.cnri.reston.va.us/,
o lo que es lo mismo, Grupo de Trabajo en Ingeniería de
Internet, comenzó a elaborar nuevos estándares, los
cuales dieron como fruto el HTML 3.0, que resultó ser
demasiado grande para las infraestructuras que había en ese
momento, lo cual dificultó su aceptación.
Así
pues, una serie de compañías (entre las que estaban
Netscape, Sun Microsystems o Microsoft, entre otras), se unieron para
crear lo que hoy se denomina W3C (o lo que es lo mismo, Consorcio
para la World Wide Web), que fue fundado en octubre de 1.994 para
conducir a la World Wide Web a su máximo potencial,
desarrollando protocolos de uso común, para normalizar el uso
de la web en todo el mundo.
El compromiso del W3C de
encaminar a la Web a su máximo potencial incluye promover un
alto grado de accesibilidad para las personas con discapacidades. El
grupo de trabajo permanente Web Accessibility Initiative (WAI,
Iniciativa para la Accesibilidad de la Red), en coordinación
con organizaciones alrededor de todo el mundo, persigue la
accesibilidad de la Web a través de cinco áreas de
trabajo principales: Tecnología, directrices, herramientas,
formación, difusión, e investigación y
desarrollo.
De esta iniciativa nació el borrador de
HTML 3.2 y en su versión definitiva se introdujeron cambios
esenciales para las posibilidades que empezaban a ofrecer los
navegadores, estas inclusiones fueron las tablas, los applets, etc.
En julio de 1.997 nace el borrador del HTML 4.0 y finalmente
se aprueba en diciembre de 1.997 este estándar incluía
como mejoras los marcos (frames), las hojas de estilo y la inclusión
de scripts en páginas web, entre otras cosas.
Informe
de Christian
Santalucía
Mail:
hidden@terra.com
Las
nuevas etiquetas de HTML 4.0 (1)
Entre el
estándar del HTML 3.2 al 4.0 se introdujeron ocho nuevas
etiquetas de las cuales daremos una breve explicación.
<Q>... </Q>
Las etiquetas <Q>
y </Q> actúan de forma muy parecida a <BLOCKQUOTE>
pero con la particularidad de que añade un sangrado en
párrafos más pequeños y sin necesidad de romper
el párrafo.
Según el W3C, la etiqueta
<BLOCKQUOTE> es para añadir sangrados largos y <Q>,
para sangrados más pequeños, sin necesidad de romper el
párrafo.
|
Nota: En el HTML 4.0 es imprescindible poner la etiqueta de apertura y la de clausura <Q>.... </Q>. |
<ACRONYM>... </ACRONYM>
Las
etiquetas <ACRONYM>... </ACRONYM>, indican que hay un
acrónimo en el texto. Un acrónimo es un pequeño
texto que ayuda a explicar la estructura del texto una frase.
<INS>... </INS> y <DEL>... </DEL>
Utilice < INS>...</INS> para marcar las partes de
un documento que se han agregado desde la versión pasada del
documento. <DEL>... </ DEL> marca de manera similar un
texto de un documento que se ha suprimido desde la versión
anterior.
<COLGROUP>... </COLGROUP>
Se
utiliza para tener un mejor control sobre un el formato de las tablas
especificando las características que comparten como: anchura,
altura y alineación.
Cada tabla debe tener por lo menos un
<COLGROUP>; sin especificar ninguna característica de <
COLGROUP >. HTML 4.0 asume que una tabla contiene un solo grupo de
columnas y que este contiene todas las columnas de una tabla.
Por
ejemplo, esto nos serviría para crear una tabla con una celda
en la que puede incluirse una descripción y después
seguido de check boxes para seleccionar las opciones deseadas.
Código: <TABLE>
<COLGROUP span="10" width="30"> <COLGROUP
span="1" width="0*"> <THEAD> <TR>...
</ TABLE>
De esta forma,
<COLGROUP> proporciona un formato más agradable a los
check boxes sin necesidad de especificar, propiedades identicas para
cada fila.
La etiqueta de inicio < COLGROUP >, requiere
otra de cierre.
Con el que obtenemos: (en Nestcape sólo se
verá la tabla, no el botón).
Informe
de Christian
Santalucía
Mail:
hidden@terra.com
Las
nuevas etiquetas de HTML 4.0 (2)
<FIELDSET>...
</FIELDSET>
Hasta ahora, no disponíamos de
ninguna manera de agrupar visualmente varios controles, si no
echábamos mano de elementos que no son del formulario, como
tablas o imagenes.
Ahora, si encerramos una parte de un
formulario dentro de la etiqueta FIELDSET se mostrara un rectángulo
alrededor de los mismos. Además, podemos indicar un título
por medio de la etiqueta LEGEND, que admite el parámetro
align="left / center / right / top / bottom", lo que nos
permite alinear el título horizontal y verticalmente. La única
pega es que deberemos introducir el conjunto en una celda de tabla
con un ancho determinado, ya que si no lo hacemos así el
recuadro abarcara todo el ancho de pantalla disponible.
Ejemplo.-
(Sólo para I. Explorer)
<form
action="cgi-bin/control.exe" method="post"
enctype="text/plain" name="miform">
<table
width="200">
<tr>
<td>
<fieldset>
<legend align="left"><font color="red">Caja
de texto</font></legend>
pon tu nombre:
<input
type="text" size="15">
</fieldset>
</td>
</tr>
<table>
</form>
<LABEL>... </LABEL>
Hasta no hace mucho los campos de entrada no estaban
asociados a ellos mismos. Por ejemplo; a la hora de pulsar sobre un
campo de confirmación, ¡ no sucedía nada! Pero
ahora, sí lo pulsamos el control cambiará de estado.
Ejemplo:
<form
action="cgi-bin/micontrol.exe" method="post"
enctype="text/plain" name="un ejemplo más">
<label>
<input type="checkbox"
name="email">
Le deseamos un feliz año nuevo
</label>
</form>
<BUTTON>...
</BUTTON>
A partir de la implementación de
los estándares HTML 4.0 contamos con varias etiquetas nuevas
para construir formularios, siendo BUTTON una de ellas, bastante útil
por cierto. La pega es que las versiones de 4 de Nestcape se lanzaron
antes de estas implementaciones, por lo que estas nuevas etiquetas
sólo se pueden visualizar correctamente con Internet Explorer
4 y superiores.
Esta etiqueta proporciona un método único
para la implementación de cualquier tipo de botón de
formulario. Sus principales atributos son:
type= " tipo ", que puede tomar los ya conocidos valores submit (por defecto), reset y button.
name= " nombre ", que asigna un nombre identificador único al botón.
value= " texto ", que define el texto que va a aparecer en el botón.
La principal ventaja que aporta estas etiquetas es que
ahora vamos a poder introducir dentro de ellas cualquier elemento de
HTML, como imagenes y tablas.
Ejemplos.
<form
action="cgi-bin/control.exe" method="post"
enctype="text/plain" name="miform">
<button
name="boton_1" type="button">
<table
width="10" cellspacing="0" cellpadding="2"
border="1">
<tr>
<td>uno</td>
<td>dos</td>
</tr>
<tr>
<td>tres</td>
<td>cuatro</td>
</tr>
</table>
</button>
</form>
Informe
de Luciano
Moreno
Departamento
de diseño web de BJS Software
Mail:
morenocerro2@terra.es
URL:
http://www.htmlweb.net/
Sonido
en HTML I, introducción
En su corta
pero rápida vida, las páginas web han pasado a ser no
ya unos meros documentos textuales a los que se puede acceder por
Internet, sino unas verdaderas presentaciones multimedia, que
combinan textos con imágenes, sonidos, videos y elementos de
realidad virtual.
Si el primer paso que se dio fue añadir
imágenes a las páginas web, tanto estáticas como
dinámicas GIF animados), el siguiente paso consistió en
introducir sonidos en las mismas, consiguiendo con ellos el apelativo
de “multimedia”. Y nos referiremos en lo sucesivo cuando
hablemos de sonido tanto a sonido sintetizado como a verdaderas
grabaciones de audio, de calidad muy elevada.
Ahora bien,
aunque los navegadores han sido capaces de interpretar los ficheros
de sonido adecuados desde hace ya algunas versiones, es cierto que la
aplicación de sonidos a las páginas web ha estado
limitada desde siempre por el ancho de banda necesario en las
conexiones a Internet para poder descargar de forma adecuada dichos
ficheros, debido al tamaño “excesivo” de los
mismos.
Otra de las limitaciones importantes que encontramos
a la hora de incluir ficheros de sonido en nuestras páginas es
la diferentes implementación que hacen de ellos los
navegadores web más usados. En efecto, no sólo
deberemos usar etiquetas HTML distintas para Internet Explorer que
para Netscape Navigator, sino que a veces la forma misma de
interpretar el sonido puede diferir de uno a otro navegador.
Por
último, hay que destacar que a la hora de incluir ficheros de
audio en nuestras páginas debemos ser conscientes que muchos
de los formatos usados, sobre todo en grabaciones de calidad,
precisan un plugin o programa especial para su reproducción en
el navegador cliente. Y si es cierto que actualmente hay ciertos
plugins se han transformado casi en un estándar en Internet
(como el de Real Audio o el de MP3), hay otros posibles que no es
normal tener instalados, por lo que si incluimos ficheros de esos
tipos obligaremos al usuario a tener que instalarlos, cosa a la que
suele ser reacio.
Informe
de Luciano
Moreno
Departamento
de diseño web de BJS Software
Mail:
morenocerro2@terra.es
URL:
http://www.htmlweb.net/
Sonido
en HTML II, características del sonido digital
Vamos
a estudiar algunos de los conceptos básicos del sonido
digital, aunque sin entrar en demasiadas consideraciones técnicas.
Para aquellos que deseen más información, existen
multitud de sitios web que estudian específicamente el sonido
digital y el hardware necesario para su captura y reproducción.
El sonido tiene una naturaleza ondulante, es decir, se
propaga en forma de ondas analógicas desde el objeto que lo
produce. Las características propias de cualquier sonido
(desde el producido por un automóvil hasta una bella canción),
sus diferentes tonos y notas dependen precisamente de las propiedades
físicas de las ondas que lo forman.
Para poder viajar
desde el emisor al receptor, las ondas de sonido precisan de un medio
físico de soporte, ya sea el aire de la atmósfera, al
agua, etc. Tanto es así que en el espacio exterior, donde no
hay medio físico soporte, no se pueden transmitir sonidos.
Si representamos en un gráfico un sonido complejo,
obtendremos la siguiente figura:
En la que podemos apreciar los diferentes valores de onda
que va tomando el sonido.
Todos sabemos que los equipos
informáticos no trabajan con datos analógicos, sino que
lo hacen con datos digitales, formados por estados binarios. Por lo
tanto, para representar un sonido, desde el punto de vista
informático, es preciso capturarlo en una naturaleza binaria,
para lo que se hace un muestreo del mismo, tomando
determinados valores de las ondas y representando dichos valores en
formato digital. En cada captura obtendremos un punto de la gráfica
anterior.
Pero, ¿Cuántas muestras deberemos tomar?.
Este es el verdadero meollo de la cuestión, ya que cuantas más
muestras tomemos, más fiel será el sonido capturado
respecto al original, con lo que tendrá más calidad.
Para medir el número de capturas utilizamos la
frecuencia del muestreo. Como un Herzio es un ciclo por segundo, la
frecuencia de una captura en Herzios representa el número de
capturas que realizamos en un segundo. Así, una frecuencia de
muestreo de 20 KHz (20 Kilo Herzios = 20000 Herzios) realizará
20000 capturas de puntos cada segundo.
El oído humano
es captar de captar la asombrosa cantidad de 44000 sonidos por
segundo, es decir, 44 KHz. Por lo tanto, para que un sonido digital
tenga suficiente calidad deberá estar basado en una frecuencia
similar a ésta. En general, el valor estándar de
captura de sonidos de calidad es de 44,1 Khz (calidad CD), aunque hay
capturadoras de sonido profesionales que llegan hasta los 100 Khz,
con objeto de obtener un mayor número de puntos sobre la
muestra, consiguiendo una calidad máxima.
Otro
concepto del que habréis oído hablar en torno al sonido
digital es el número de bits de una tarjeta de sonido. El
origen de esta magnitud es que, a la hora de capturar el sonido, no
sólo es importante el número de muestreos tomados, sino
también la cantidad de información capturada en cada
uno de esos muestreos.
Una vez capturado el sonido, para su
posterior reproducción en un equipo informático es
necesario mandar una serie de impulsos o posiciones a los altavoces
para que creen el sonido a partir de ellos. ¿Cómo?.
Bien, produciendo a partir de esas posiciones movimientos de las
membranas de los altavoces, movimientos que transforman de nuevo el
sonido digital en analógico, estado en el que es capaz de
viajar por el aire y producir los estímulos necesarios en
nuestros tímpanos, con lo que somos capaces de percibir el
sonido “original”. Cuantas más posiciones de
información se envíen a los altavoces, mejor calidad
tendrá el sonido reproducido.
Con estas bases, se
define el número de bits de un sonido digital como el número
de impulsos de información (posiciones) que se envían a
los altavoces para su transformación en ondas analógicas.
Las tarjetas de sonido actuales trabajan normalmente con 8
bits de información, con los que se pueden obtener 28=256
posiciones (ceros y unos binarios), aunque hay algunas de mayor
calidad que son capaces de trabajar con capturas de 16 bits, que
originan 216 = 65536 posiciones de información.
Como
dato de referencia, los CDs actuales están basados en sonido
grabado a 44 Khz y con un tamaño de muestra de 16 bits. Estas
medidas se conocen con el nombre de sonido de calidad CD.
Por
último, una vez que el sonido digital llega a nuestros oídos,
impactan contra los tímpanos, verdaderas membranas
especializadas que vuelven a transformar las ondas analógicas
en impulsos eléctricos, que viajan hasta nuestro cerebro,
donde son interpretados y producen las sensaciones auditivas que
todos conocemos.
Una excepción al sonido anteriormente
descrito, que podemos denominar "de datos de sonido", es el
sonido sintetizado, en el que no se realiza ninguna captura de ondas
sonoras reales, sino que es sonido totalmente digital, generado
directamente en el equipo informático por en reproductor
digital conocido con el nombre de MIDI (Music Instrument Digital
Interface). Cuando se desea reproducir una nota musical concreta, se
envía un comando MIDI al chip sintetizador, que se encarga de
traducir ese comando en una vibración especial que produce la
nota. Mediante este sistema es posible crear melodías bastante
aceptables, aunque nunca tendrán la calidad ni riqueza de una
onda sonora natural capturada.
Informe
de Luciano
Moreno
Departamento
de diseño web de BJS Software
Mail:
morenocerro2@terra.es
URL:
http://www.htmlweb.net/
Sonido
en HTML (III)
Formatos de sonido
A
la hora de incluir ficheros de sonido en nuestras páginas web
debemos distinguir entre los que pueden ser directamente ejecutados
por el navegador y aquellos que deben ser abiertos por un programa
propio, que deberá tener el usuario instalado en su equipo
para poder reproducir el fichero.
De forma general, podemos
incluir en la web los siguietes tipos de ficheros de audio.
WAV (Wave form Audio File format): formato típico de la casa Windows, de elevada calidad, usado en las grabaciones de CDs, que trabaja a 44 Khz y a 16 bits. Consta básicamente de tres bloques: el de identificación, el que especifica los parámetros del formato y el que contiene las muestras. Su principal inconveniente es el elevado peso de los ficheros, por lo que su uso queda limitado en Internet a la reproducción de ruidos o frases cortas. La extensión de estos ficheros es .wav. Es soportado por Internet Explorer y Netscape 4x.
AU (Audio File format): formato creado por la casa Apple para plataformas MAC, cuyos ficheros se guardan con la extensión .au
MIDI formato de tabla de ondas, que no guardan el sonido a reproducir, sino un código que nuestra tarjeta de sonido tendrá que interpretar. Por ello, este tipo de ficheros no puede almacenar sonidos reales, como voces o música rela grabada; sólo puede contener sonidos almacenables en tablas de ondas. Como contarpartida, los ficheros MIDI, que se guardan con extensión .mid, son de pequeño tamaño, lo que los hace idóneos para la web. Es soportado por Internet Explorer y Netscape 4x.
MP3 (MPEG 1 Layer 3): desarrollado por el MPEG (Moving Picture Expert Group), obtiene una alta compresión del sonido y una muy buena calidad basándose en la eliminación de los componentes del sonido que no estén entre 20 hz y 16 Kh (los que puede oir el ser humano normal). Tiene en cuenta el sonido envolvente (surround) y la extensión multilingüe, y guarda los ficheros con la extensión .mp3, y permite configurar el nivel de compresión, consiguiéndose calidades similares a las del formato WAVE pero con hasta 10 veces menos tamaño de fichero. Es soportado directamente sólo por Internet Explorer 5.5 y superiores.
MOD especie de mezcla entre el formato MIDI y el formato WAV, ya que por un lado almacena el sonido en forma de instrucciones para la tarjeta de sonido, pero por otro puede almacenar también sonidos de dintrumentos musicales digitalizados, pudiendo ser interpretados por cualquier tarjeta de sonido de 8 bits. No es un formato estándar de Windows, por lo que su uso es más indicado para sistemas Mac, Amiga o Linux. La extensión de los ficheros es .mod
µ-Law Format de calidad similar al formato WAV, es original de las máquinas NeXt, y guarda sus ficheros con la extensión .au
Real Audio de calidad media, aunque permite ficheros muy comprimidos, que guarda con extensión .rmp o .ra. Para su reproducción hace falta tener instalado el plugin Real Audio.
A la hora de trabajar con estos formatos de sonido, deberemos
tener en cuenta las limitaciones en su uso, ya que muchos de ellos no
pueden ser reproducidos más que en sistemas operativos
concretos, y aún así, con plugins o programas
específicos.
En busca de la compatibilidad, si usamos
Windows como sistema operativo conviene usar para ficheros musicales
a reproducir directamente en el navegador los formatos WAV y MIDI,
que son los más compatibles.
En cambio, si lo que
deseamos es poder brindar a nuestros visitantes la opción de
navegar con música ejecutable desde un programa externo, lo
mejor es usar ficheros en formato MP3, ya que en la actualidad la
mayoría de los navegantes tienen instalado en su equipo algún
programa reproductor adecuado, pudiendo valer desde software incluido
en Windows, como Windows Media Player, hasta aplicaciones esternas,
como Winamp. En este caso, bsata colocar un enlace normal en nuestras
páginas, apuntando al fichero de sonido.
Como ejemplo,
si queremos enlazar en nuestra página un fichero MP3, bastaría
con escribir:
<a href="sonidos/mp3.mp3"
target="_blank"> Pincha aquí para oir la música.
</a>
Que nos da:
Pincha
aquí para oir la música
Con esto, al
pinchar el usuario el enlace, se lanzará la aplicación
que tenga asociada con el tipo de fichero MP3, que dependerá
de la configuración interna de cada navegador y usuario.
Un
caso especial es Netscape 6x. Casi no admite directamente ningún
tipo de formato de sonido incrustado en la página, al no venir
configuradas por defecto las aplicaciones o plugins necesarios. Y en
el caso de ficheros enlazados, Nestscape 6x suele lanzar su propio
reproductor, que suele ser de la casa AOL, precisando para la
ejecución una serie de pasos para darse de alta en esa
compañia como usuario del software.
Resumiendo: cada
usuario tendrá configurada su máquina de forma
particular, soliendo prevalecer el último software de sonido
instalado, ya que estos programas suelen adueñarse de ciertos
tipos de ficheros para su ejecución automática. Entre
las apliaciones posibles de ejecución de ficheros de audio,
bien de forma directa o en forma de plugina para los navegadores,
destacan Windos Media Player, Real Player, Winamp, Quick time, etc.
Informe
de Luciano
Moreno
Departamento
de diseño web de BJS Software
Mail:
morenocerro2@terra.es
URL:
http://www.htmlweb.net/
Sonido
en HTML (IV)
Incluir
sonidos en la web.
Una vez elegidos nuestros ficheros de
sonido, es hora de incluirlos en nuestra página web.
Lógicamente, para que un fichero de audio pueda ser
reproducido por un navegador es necesario que su máquina tenga
incluida una tarjeta de sonido y un par de altavoces.
Existen
diversas formas de incluir un fichero de audio en una página,
formas que dependen del tipo de fichero y del navegador usado, y
podemos usar diferentes etiquetas para cada una de ellas.
BGSOUND
La etiqueta bgsound incorpora sonidos de fondo en una página
web, sonidos que se ejecutan automáticamente al cargarse la
página. Es una etiqueta propietaria de Microsoft, por lo que
sólo es interpretada por Internet Explorer, admitiendo los
formatos de audio MID y WAV, aunque generalmente también
acepta AU y MP3, en versiones actuales del nevagador o mediante
plugins de uso general.
Su sintaxis general, con sus
atributos más importantes, es del tipo:
<bgsound
src="ruta_fichero" loop="l" balance="b"
volume="v"></bgsound>
Donde:
src="ruta_fichero" fija la ruta en la que se encuentra el fichero de audio a reproducir. La ruta puede ser relativa a nuestro sistema de carpetas local, absoluta respecto el sistema de carpetas del servidor web o una URL completa que localice el fichero en Internet.
loop="l" determina el número de veces (l) que se debe ejecutar el fichero de audio. Si le damos el valor infinite, el fichero se reproducirá indefinidamente.
balance="b" determina el balance del sonido entre los dos altavoces del equipo, es decir, la potencia o intensidad con que se oirá en cada uno de ellos (derecho e izquierdo). Sus valores pueden estar entre -10,000 y +10,000, correspondiendo el valor 0 a un balance equilibrado entre los dos altavoces.
volume="v" fija el volumen al que se oirá el sonido, y sus valores pueden variar entre -10,000 (mínimo) y 0 (máximo). No es soportado por los equipos MAC.
Ejemplo:
<bgsound
src="../sonidos/wav.wav" balance=0 volume=0></bgsound>
Que
podéis ver funcionando en esta ventana (sólo
Internet Explorer).
La etiqueta bgsound admite muchas más
propiedades (disabled, delay, id, class, controls, etc.). Asímismo,
esta etiqueta es accesible en Internet Explorer mediante código
JavaScript, pudiendo modificar en tiempo real sus propiedades
balance, loop, src, y volume, aunque ésta última sólo
es accesible en plataformas PC. Para una información completa
sobre todas las propiedades y funcionalidades de este etiqueta podéis
visitar la página correspondiente de Microsoft:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/bgsound.asp
EMBED
Nestcape Navigator implementó la
etiqueta embed para incorporar ficheros de audio. Es ésta una
etiqueta de caracter general, que se usa para la inclusión en
las páginas web de todos aquellos archivos ajenos al navegador
y que necesitan por lo tanto la ejecución de algún
plugin para su interpretación.
Paradójicamente,
Internet Explorer asumió después el uso de esta
etiqueta para la inclusión de ficheros de audio, para llegar a
interpretarla mejor y ampliarla con más atributos y
propiedades, de tal forma que la ejecución de sonidos con
embed es actualmente más cómoda con este navegador, al
incorporar la suite de Microsoft sus propios plugins para la
interpretación de los diferentes formatos de audio. En cambio,
si usamos Netscape Navigator nos encontraremos en muchos casos con un
fallo en la reproducción o con un engorroso mensaje de
necesidad de algún plugin especial (sobre todo en las
versiones 6x), lo que nos obligará a visitar la página
de Netscape para su descarga e instalación, que muchas veces
no será efectiva.
Sea como sea, hay que indicar que
esta etiqueta nos va a incluir en la página web un objeto
especial, una especie de consola de mando, denominada Crescendo, que
consta de tres botones, similares al de cualquier reproductor de
audio: un botón Play, para comenzar la reproducción (si
no está establecida a automática), un botón
Pause, para detenerla momentáneamente y un botón Stop,
para detenerla definitivamente (puesta a cero). Esta consola es
diferente según el navegador usado; en el caso de Internet
Explorer se muestra la típica consola de Windows Media, cuyo
tamaño podemos configurar, mientras que en Netscape se muestra
una consola propia, de tamaño fijo definido.
La
sintaxis general de la etiqueta embed es del tipo:
<embed
atributo1="valor1"
atributo2="valor2"...atributoN="valorN"></embed>
Y en el caso que nos ocupa, de la
inclusión de ficheros de audio, los atributos podemos
dividirlos en dos tipos:
1. Atributos referentes al
sonido:
src="ruta_fichero", que fija la ruta en la que se encuentra el fichero de audio a reproducir. La ruta puede ser relativa a nuestro sistema de carpetas local, absoluta respecto el sistema de carpetas del servidor web o una URL completa que localice le fichero en Internet.
loop="l/true/false", que determina el número de veces que se debe ejecutar el fichero de audio. Los valores admitidos son l (número entero de veces), true (infinitas veces) y false (sólo una vez). Sólo es reconocida por Netscape Navigator.
playcount="n", que define el número de veces (n) que se debe ejecutar en fichero de audio en el caso de Internet Explorer.
type="tipo_fichero", atributo importante, que declara el tipo de fichero de audio que estamos usando, con lo que el navegador web puede ejecutar el programa o plugin adecuado para la reproducción del fichero. Puede ser audio/midi, audio/wav, etc.
autostart="true/false", que determina si el fichero de audio debe empezar a reproducirse por sí sólo al cargarse la página o si por el contrario será preciso la actuación del usuario (o de código de script) para que comience la audición.
pluginspage="URL", que establece, en caso de ser necesario un plugin especial para reproducir el fichero, la página web donde se puede descragar el mismo. Sólo se activa en el caso de que el navegador no sea capaz de reproducir el fichero por sí mismo, y es soportada tan sólo por Netscape Navigator.
name="nombre", que asigna un nombre identificador (debe ser único en la página) a una etiqueta embed determinada, con objeto de ser accedida luego por lenguajes de script.
volume="v", que determina el volumen de reproducción del sonido, y que puede variar entre 0 y 100. Es sólo soportada por Netscape Navigator, que en la consola muestra el valor establecido en su indicador de volumen, siendo su valor por defecto 50. En en caso de Internet Explorer, el valor del volumen por defecto es 50 en plataformas PC, y 75 en MAC, siendo necesario actuar sobre el control de volumen de la consola para modificarlo.
2. Atributos referentes a la consola:
hidden="true/false", que establece si la consola va a ser visible (false) o no (true). Es éste un aspecto polémico, ya que si ocultamos la consola obligamos al usuario a oir nuestro fichero, sin posibilidad de detenerlo ni de modificar el volumen, y si la mostramos estaremos incrustando en la pantalla un objeto que muchas veces nos romperá el esquema de diseño de nuestra página. Queda determinar su uso en cada caso concreto.
width="w", que determina el ancho visible de la consola, en pixels. height="h", que determina el alto visible de la consola, en pixels. Estos atributos son también muy importantes, caso de que hayamos establecido hidden= "false", ya que de su valor va a depender la correcta visulazación de la consola. En el caso de Internet Explorer, que muestra un logo de Windows Media sobre los controles, el tamaño mínimo aceptable debe ser de 140x100 pixels, ya que si no la consola saldrá deformada en exceso o recortada. Y en el caso de Netscape Navigator, deberemos asignar unos valores de 145x60 pixels, que es lo que ocupa la consola; si ponemos un tamaño menor, la consola será recortada, perdiendo funcionalidades, y si asignamos un tamaño mayor, aparecerán espacios grises alrededor de la consola, afeando el aspecto de la página. Si no especificamos estos atributos y tampoco hidden, nos aparecerán en la página tan sólo los mandos de la consola, sin logotipos añadidos (Internet Explorer) o la consola recortada (Netscape Navigator).
align="top/bottom/center/baseline/left/right/
texttop/middle/absmiddle/absbotom",
análogo al de la etiqueta IMG, define la alineación
horizontal o vertical de la consola respecto de los elementos de la
página.
hspace="hs", que establece la separación horizontal, vspace="vs", que establece la separación vertical, en pixels, entre la consola y los elementos de la página que la redean. Análoga a sus equivelentes de la etiqueta IMG.
Estos son los atributos principales, aunque podemos encontrar
referencias de otros admitidos, aunque no suelen ser operativos en la
realidad, ya que no suelen funcionar de forma correcta o son
específicos de Nestcape (como toda la serie de atributos que
configuran los controles de la consola.
Ejemplo sin
consola:
<embed
src="../sonidos/mid.mid" hidden="true"
type="audio/midi" autostart="true"></embed>
Que podemos ver en funcionamiento en
esta ventana.
Ejemplo con consola:
<embed
src="../sonidos/mid.mid" hidden="false"
type="audio/midi" autostart="false" width="150"
height="100"></embed>
Que
tenemos visible (y audible) en
esta otra ventana.
Informe
de Luciano
Moreno
Departamento
de diseño web de BJS Software
Mail:
morenocerro2@terra.es
URL:
http://www.htmlweb.net/
Sonido
en HTML (V)
La
etiqueta OBJECT.
Con objeto de normalizar la inclusión
de ficheros no nativos en los navegadores web se decidió
sustituir las diferentes etiquetas que realizaban este papel (APPLET,
BGSOUND, EMBED, etc.), y que no pertenecían a los estándares
web, por una etiqueta general, que fuera capaz de incrustar en el
navegador todo tipo de ficheros. La etiqueta elegida en el estándar
HTML 4.0 fué OBJECT, a la que se dotó de suficientes
atributos y flexibilidad para poder realizar correctamente su
trabajo. Debido a esto, la propuesta ha sido usar la etiqueta object
también para incluir ficheros de audio de todo tipo en las
páginas web.
Ahora bien, la aceptación e
implementación que la misma a tenido varía según
el navegador en particular, así como en función del
objeto a incrustar. De este forma, Internet Explorer a realizado su
propia implementación de la etiqueta object, incluyendo en
ella referencias a filtros y componentes ActiveX específicos
para los ficheros de audio. Por su lado, los navegadores Netscape no
soportan correctamente este etiqueta para ficheros de este tipo.
Restringiéndonos a Internet Explorer, la polémica
sigue, ya que en diferentes manuales nos encontraremos diferentes
formas de incrustar sonidos mediante object, unas que funcionan bien,
y otras que no. ¿Porqué sucede esto?. Yo creo que
porque Microsoft ha ido usando la etiqueta object para implementar
todo un grán conjunto de componentes propios, que además
han ido adaptándose a las diferentes versiones de Internet
Explorer.
Como regla general, válida no sólo
para incrustar ficheros de sonido, sino también para otros
tipos, la etiqueta object va a definir un objeto o componente externo
encargado de la reproducción del fichero, que en el caso de
Internet Explorer suele ser algún tipo de control ActiveX.
Mediante object se instancia el objeto, se declara su URL y sus
principales propiedades generales, y mediante un conjunto de
etiquetas especiales, PARAM, se le van pasando los valores que
necesita para su correcto funcionamiento o para su configuración
deseada.
La sintaxis general de la etiqueta object, para el
caso de ficheros de sonido, es del tipo:
<object
atributo1="valor1" atributo2="valor2" ...
atributoN="valorN">
<param name="nombre"
value="valor">
<param name="nombre"
value="valor">
...
</object>
Los
principales atributos de object, en referencia a ficheros de audio,
son:
classid="identificador_objeto", que fija la URL del objeto o componenteexterno necesario para reproducir el fichero de audio, y la implementación CLSID de los controles ActiveX necesarios.
type="tipo_fichero", atributo importante, que declara el tipo de fichero de audio que estamos usando.
width="w", que determina el ancho visible de la consola, en pixels.
height="h", que determina el alto visible de la consola, en pixels.
align="top/bottom/center/baseline/left/right /texttop/middle/absmiddle/absbotom", análogo al de la etiqueta IMG, define la alineación horizontal o vertical de la consola respecto de los elementos de la página.
hspace="hs", que establece la separación horizontal, vspace="vs", que establece la separación vertical, en pixels, entre la consola y los elementos de la página que la redean. Análoga a sus equivelentes de la etiqueta IMG.
autostart="true/false", que determina si el fichero de audio debe empezar a reproducirse por sí sólo al cargarse la página o si por el contrario será preciso la actuación del usuario (o de código de script) para que comience la audición.
standby="mensaje", que presenta en pantalla
un mensaje al usuario mientras el fichero se carga.
En
cuanto a los elementos param, los más importantes son:
param name="FileName" value="ruta_fichero", determina la ruta o URL del fichero de audio a reproducir. No es necesario utilizar sólo ficheros WAV o MID, pudiendo reproducirse también ficheros MP3 o Real Audio. El reproductor del primero lo incluye Explorer en ActiveMovie (componente de Windows Media).
param name="autostart" value="true/false", indica al navegador si se debe empezar a reproducir el sonido automáticamente al cargar la página o si por el contrario será preciso que el usuario pulse el botón Play para ello.
No son estos todos los atributos y parámetros posibles. Es
más, en cuanto nos metemos en componentes Microsoft, podemos
encontrarnos multitud de configuraciones posibles, que nos van a
permitir fijar muchos aspectos de los mismos. Dejo a cada uno la
posibilidad de profundizar en el estudio de aquellos componentes y
propiedades que necesite, pero sabiendo que con los elementos vistos
arriba tenemos más que suficiente para presentar un fichero de
audio en nuestra página web.
xEjemplo:
<object
classid="CLSID:05589FA1-C356-11CE-BF01-00AA0055595A"
width="150" height="175" type="audio/midi">
<param name="FileName"
value="../sonidos/xfiles.mid">
<param
name="autostart" value="true">
</object>>
Que podéis ver funcionando en
esta ventana (sólo Internet Explorer).
La
etiqueta A.
Si hasta ahora hemos visto cómo
podemos incluir en nuestras páginas sonidos de fondo o
inicializados por el usuario mediante interacción con la
consola Crescendo, vamos a ver ahora cómo podemos implementar
audio mediante el uso de una de las etiquetas más polivalentes
en HTML: la etiqueta A.
Efectivamente, los enlaces son la
base del hipertexto, base a su vez de la web, y dentro de sus
múltiples usos podemos considerar el enlace a ficheros de
audio. El fichero enlazado puede ser interpretado directamente por el
navegador (porque sea de reproducción directa o se tenga
instalado el plugin adecuado) o puede ser ejecutado por un programa
independiente que se abra automáticamente (Winamp, Real Audio,
etc.), siendo este el caso más común. Si el usuario no
dispone del programa o plugin adecuado, se le abrirá una
ventana de descarga del fichero, con lo que podrá guardarlo
hasta disponer de la aplicación necesaria para su
reproducción.
La sintaxis general en este caso será
del tipo:
<a
href="ruta_fichero">Mensaje</a>
Ejemplo
de fichero MID:
<a
href="../sonidos/watermark.mid">Música para
tí</a>
Que podemos ver en
funcionamiento en
esta ventana.
Ejemplo de fichero MP3:
<a
href="../sonidos/mp3.mp3">Madonna</a>
Que
tenemos en
esta otra ventana.
Informe
de Luciano
Moreno
Departamento
de diseño web de BJS Software
Mail:
morenocerro2@terra.es
URL:
http://www.htmlweb.net/
Todos
los derechos de
reproducción y difusión reservados a Guiarte
Multimedia S.L.
Volver