Monografias | Curso de Diseño de Páginas Web - HTMLCurso de Diseño de Páginas Web - HTMLResumen: Estructura básica de un documento HTML. Dando forma al texto del documento HTML. Caracteres especiales. Enlaces. Imágenes. Alineación y dimensionado de imágenes. Fondos y colores. Tablas. Formularios. Mapas. Frames. Sonidos. Curso de Diseño de Páginas Web - HTML
1. ESTRUCTURA BASICA DE UN DOCUMENTO HTML El principio esencial del lenguaje HTML es el uso de lasetiquetas (tags). Funcionan de la siguiente manera: <XXX> Este es el inicio de una etiqueta. </XXX> Este es el cierre de una etiqueta. Las letras de la etiqueta pueden estar en mayúsculas o minúsculas,indiferentemente. Lo que haya entre ambas etiquetas estará influenciada porellas. Por ejemplo, todo el documento HTML debe estar entre las etiquetas<HTML> y </HTML>: <HTML> [Todo el documento] </HTML> Un documento HTML en sí está dividido en dos zonasprincipales:
Dentro del encabezamiento hay información del documento, queno se ve en la pantalla principal del BROWSER que es utilizado para visualizarel documento HTML, principalmente la información encontrada en elencabezamiento es el título del documento, comprendido entre las etiquetas<TITLE> y </TITLE>. El título debe ser breve y descriptivo de sucontenido, pues será lo que vean los demás cuando añadan nuestra página a subookmark (o agenda de direcciones). Dentro del cuerpo está todo lo que queremos que aparezca enla pantalla principal (texto, imágenes, etc.) Por tanto, la estructura de un documento HTML queda de estamanera: <HTML> <HEAD> <TITLE> Título de la página </TITLE> </HEAD> <BODY> [Aquí van las etiquetas que visualizan la página] </BODY> </HTML>
2. DANDO FORMA AL TEXTO DEL DOCUMENTO HTML
Cuando escribimos en el documento el texto que queremos queaparezca en la pantalla, veremos que éste se acomoda a ella, sin que tengamosque pulsar el retorno del carro. Si queremos separar el texto en distintos párrafosdebemos usar la etiqueta <P>, (que no tiene su correspondiente etiqueta decierre </P>) El texto puede tener unas cabeceras, comprendidas entre lasetiquetas <H1> y </H1>, <H2> y </H2>, etc. (hasta el número6), siendo el número indicativo del tamaño. El tamaño mayor es elcorrespondiente al número 1. Una etiqueta muy interesante es la de centrado <CENTER>y </CENTER> (no la soportan todos los navegadores, aunque sí la mayoríade ellos). Nos centra todo lo que esté dentro de ella, ya sea texto, imágenes,etc. También tenemos los separadores (horizontal rules), que seconsiguen con la etiqueta <HR> (no existe la correspondiente de cierre).Con ella se obtiene una raya horizontal tan ancha como la pantalla, y con laapariencia de estar embutida sobre el fondo, como se puede observar a continuación: EJEMPLO
<HTML> <HEAD> <TITLE> Mi pagina en el Web - 1 </TITLE> </HEAD> <BODY> <H1> <CENTER> Primera Pagina </CENTER></H1> <HR> Esta es mi primera pagina, aunque todavía es muy sencilla.Como él lenguaje HTML no es difícil, pronto estaré en condicionesde hacer cosas más interesantes. <P> Aquí va un segundo párrafo, que les parece. </BODY> </HTML> Una etiqueta puede estar anidada dentro de otra. En elejemplo anterior cómo lo está la etiqueta <CENTER> dentro de la etiqueta<H1>. Cuando queremos poner un texto sin ninguna característicaespecial, lo ponemos directamente. Unicamente, la separación entre párrafos(dejando una línea en blanco) la conseguimos con la etiqueta <P>. Si queremos separar los párrafos, o cualquier otra cosa,pero sin dejar una línea en blanco, usamos una etiqueta parecida <BR>(break, o romper). Tampoco tiene etiqueta de cierre. Al escribir el texto, si ponemos más de un espacio en blancoentre dos palabras observamos que el navegador sólo reconoce uno de ellos. Siqueremos forzarle a que lo haga, debemos poner el código " "(non-breaking space). Para destacar alguna parte del texto se pueden usar: <B> y </B> para poner algo en negrita (bold). <I> y </I> para poner algo en cursiva (italic). Otra etiqueta interesante es <PRE> y </PRE>. Eltexto que se encuentre entre ella estará preformateado, es decir que aparecerácomo si hubiera sido escrito con una máquina de escribir, con una fuente deespaciado fijo (tipo Courier). Además se respetarán los espacios en blanco yretornos del carro, tal como estaban en nuestro documento HTML. Es muy apropiadapara confeccionar tablas y otros documentos similares. Con la etiqueta <TT> y </TT> conseguimos tambiénque el texto tenga un tamaño menor y la apariencia de los caracteres de una máquinade escribir (typewriter). La diferencia con la anterior es que no preformatea eltexto, sino que únicamente cambia su apariencia.
En las fórmulas matemáticas puede interesar poder escribiríndices y subíndices, que se consiguen con las etiquetas <SUP></SUP> y <SUB> </SUB> respectivamente. A menudo nos interesará presentar las cosas en forma delistas. Podemos escoger entre tres tipos distintos:
Las listas desordenadas (Unordered Lists) sirven parapresentar cosas que, por no tener un orden determinado, no necesitan irprecedidas por un número. Su estructura es la siguiente: <UL> <LI> Un elemento <LI> Otro elemento <LI> Otro más <LI> etc. </UL> Es decir, toda la lista está dentro de la etiqueta<UL> y </UL>, y luego cada elemento va precedida de la etiqueta<LI> (list ítem). El resultado de lo anterior es el siguiente: Se puede anidar una lista dentro de otra. Por ejemplo: <UL> <LI> Mamíferos <LI> Peces <UL> <LI> Sardina <LI> Bacalao </UL> <LI> Aves </UL> Las listas ordenadas (Ordered Lists) sirven para presentarelementos en un orden determinado. Su estructura es muy similar a la anterior.La diferencia estriba en que en el resultado aparecerá automáticamente un númerocorrelativo para cada elemento. <OL> <LI> Primer Elemento <LI> Segundo Elemento <LI> Tercer Elemento <LI> etc. </OL> Al igual que las listas desordenadas, también se puedenanidar las listas ordenadas. El tercer tipo lo forman las listas de definición. Como sunombre indica, son apropiadas para glosarios (o definiciones de términos). Todala lista debe ir englobada entre las etiquetas <DL> y </DL>. Y adiferencia de las dos que hemos visto, cada renglón de la lista tiene dospartes:
<DL> <DT> Una cosa a definir <DD> La definición de esta cosa <DT> Otra cosa a definir <DD> La definición de esta otra cosa </DL> Comentarios no visibles en la pantalla A veces es muy útil escribir comentarios en el documentoHTML sobre el código que escribimos, que nos pueden servir para recordarposteriormente sobre lo que hicimos, y que no queremos que se vean en pantalla. Esto se consigue encerrando dichos comentarios entre estosdos símbolos: <!-- y -->
Ejemplo
<HTML> <HEAD> <TITLE> Mi pagina del Web - 2 </TITLE> </HEAD> <BODY> <CENTER> <H1> Mis aficiones </H1> </CENTER> <HR> Sin un orden particular, mis <B> aficiones </B>son las siguientes: <!-- Una lista sin orden alguno --> <UL> <LI> El cine <LI> El deporte <UL> <LI> Natacion <LI> Baloncesto </UL> <LI> La musica </UL> La musica que más me gusta es <I> (en orden depreferencia): </I> <!-- Una lista con un orden --> <OL> <LI> El rock <LI> El jazz <LI> La musica clasica </OL> </BODY> </HTML> 3. Caracteres especiales
Existen algunas limitaciones para escribir el texto. Una deellas es debido a que las etiquetas se forman como un comando escrito entre lossímbolos "<" y ">". Por tanto, si se quisieranescribir estos caracteres como parte normal del texto, daría esto lugar a unaambigüedad, ya que el programa navegador podría interpretarlos como elcomienzo o final de una etiqueta, en vez de un carácter más del texto. Para resolver este problema, existen unos códigos para poderescribir estos caracteres y otros relacionados con las etiquetas.
Como se ve, estos códigos empiezan siempre con el signo"&" y acaban siempre con ";" De una manera similar, existen códigos para escribir letrasespecíficas de distintos idiomas. Hay muchos de ellos, pero, lógicamente, losque más nos interesan son los propios del castellano (las vocales acentuadas,la " ñ " y los signos " ¿ " y " ¡ " ) Los códigos de las vocales acentuadas se forman comenzandocon " & ", seguido de la vocal en cuestión, seguido de la palabraacute (aguda) y terminando con el signo " ; "
El resto de los códigos son:
Todo esto, que como se ve es muy laborioso, puede parecer inútilya que si escribimos nuestro texto sin hacer ningún caso de estas convenciones,escribiendo las letras acentuadas y demás signos directamente, es muy posibleque el resultado lo veamos correctamente en nuestro navegador, pero nuncapodremos, estar seguros que les ocurra lo mismo a todos los que accedan anuestras páginas con otros navegadores distintos. 4. ENLACES
La característica que más ha influido en el espectacular éxitodel WEB ha sido, aparte la de su carácter multimedia, la posibilidad de unirlos distintos documentos repartidos por todo el mundo por medio de enlaceshipertexto. En general, los enlaces tienen la siguiente estructura: <A HREF="XXX"> YYY </A> Donde XXX es el destino del enlace (Obsérvese las comillas).YYY es el texto indicativo en la pantalla del enlace (con un color especial ygeneralmente subrayado)
Tipos de enlaces
1. Enlaces dentro de la misma página A veces, en el caso de documentos (o páginas) muy extensos,nos puede interesar dar un salto desde una posición a otra determinada. En estecaso, lo que antes hemos llamado XXX, es decir, el destino del enlace, en estecaso el sitio dentro de la página a donde queremos saltar, se sustituye por#MARCA (la palabra MARCA puede ser cualquier palabra que queramos). Lo que hemosllamado antes YYY es la palabra (o palabras) que aparecerán en la pantalla encolor (en forma de hipertexto). Su estructura es, entonces: <A HREF="#MARCA"> YYY </A> Y en el sitio exacto a donde queremos saltar, debemos ponerla siguiente etiqueta: <A NAME="MARCA"> </A>
2. Enlaces con otra página nuestra Puede ser que tengamos una sola página. Pero lo másfrecuente es que tengamos varias páginas, una inicial (o principal) y otrasconectadas a ella, e incluso entre ellas mismas. Supongamos que queremos enlazar con la página creada en elejemplo 2, que la hemos llamado mipag2.html. En este caso, simplementesustituimos lo que hemos llamado XXX (el destino del enlace) por el nombre delarchivo: <A HREF="mipag2.html"> Ejemplo de mi segundapagina </A> Si queremos que vaya a un sitio concreto de otra páginanuestra en vez de ir al principio de la página, adonde va por defecto, en esesitio tenemos que colocar una marca (ver la Enlaces dentro de la misma página),y completar el enlace con la referencia a esa marca. Lo veremos con el siguiente ejemplo: <ANAME="MIMARCA"></A> es la marca que colocaremos en nuestrapagina, que deseamos accesar desde otra nuestra. Entonces la etiqueta tiene queser: <A HREF="mipag2.html#MIMARCA"> En mi otra pagina</A>. Una observación importante: Pudiera ocurrir que nuestrositio del WEB estuviera organizado con un directorio principal, y otrossubdirectorios auxiliares. Si la página a la que deseamos accesar está, porejemplo en el subdirectorio misubdir, entonces en la etiqueta tendría quecolocarse "misubdir/mipag2.html". Y a la inversa, si quiero saltar desde una página a otra queestá en un directorio anterior, en la etiqueta tendría que haber puesto"../mipag2.html". Esos dos puntos hace que se dirija al directorioanterior. Obsérvese que se debe utilizar el símbolo / para indicar lossubdirectorios, y no este otro \, que es propio únicamente de Windows. Si nos queremos evitar todas estas complicaciones, podemostener todo junto en un único directorio, pero esto tiene el inconveniente deque esté todo más desordenado, y sean más difíciles de hacer las futurasmodificaciones.
3. Enlaces con una página fuera de nuestro sistema Si queremos enlazar con una página que esté fuera denuestro sistema (es decir, que esté en un servidor distinto al que soportanuestra página), es necesario conocer su dirección completa, o URL (UniformResource Locator). El URL podría ser, además de la dirección de una páginadel WEB, una dirección de FTP, GOPHER, etc. Una vez conocida la dirección (o URL), lo colocamos en vezde lo que hemos llamado anteriormente XXX (el destino del enlace). Si queremosenlazar por ejemplo con la página de Netscape (cuyo URL es:http://home.netscape.com/), la etiqueta sería: <A HREF="http://home.netscape.com/"> Páginainicial de Netscape </A> Es muy importante copiar estas direcciones correctamente(respetando las mayúsculas y minúsculas, pues los servidores UNIX sí lasdistinguen)
4. Enlaces con una dirección de e-mail En este caso, sustituimos lo que se ha llamado antes XXX (eldestino del enlace) por mailto: seguido de la dirección de e-mail. Laestructura de la etiqueta es: <A HREF= "mailto: dirección de e-mail"> Textodel enlace </A> Un ejemplo podría ser: <A HREF= "mailto:tzambran@delfos.ucla.edu.ve"> Tom Zambrano</A> Hay algunos navegadores que no subrayan el comentario de estetipo de enlace. Una manera recomendable y más segura para conocer la direccióne-mail seria poner algo así como: Comentarios a Tom Zambrano en <A HREF="mailto:tzambran@delfos.ucla.edu.ve"> tzambran@delfos.ucla.edu.ve </A> Es decir, es conveniente, por la razón dicha anteriormente,poner también en el texto del enlace la dirección de e-mail. Ejemplo
<HTML> <HEAD> <TITLE> Mi pagina del Web - 3 </TITLE> </HEAD> <BODY> <CENTER> <H1> Mis paginas favoritas </H1> </CENTER> <HR> Estas son mis paginas favoritas: <P><A HREF="http://home.netscape.com">Netscape </A> <BR> <AHREF="http://www.microsoft.com"> Microsoft </A> <BR> <A HREF="http://www.yahoo.com">Yahoo! </A> </BODY> </HTML> 5. Imágenes
La etiqueta que nos sirve para incluir imágenes en nuestraspáginas del WEB es muy similar a la de enlaces a otras páginas, que hemosvisto en el capítulo anterior. La única diferencia es que, en lugar de indicaral programa navegador el nombre y la localización de un documento de texto HTMLpara que lo cargue, se le indica el nombre y la localización de un archivo quecontiene una imagen. La estructura de la etiqueta es: <IMG SRC="imagen.gif"> Con el comando IMG SRC (image source, fuente de la imagen) seindica que se quiere cargar una imagen llamada imagen.gif (o el nombre quetenga). Dentro de la etiqueta se pueden añadir otros comandos, talcomo ALT <IMG SRC="imagen.gif" ALT="descripción"> Con el comando ALT se introduce una descripción (una palabrao una frase breve) indicativa de la imagen. Este comando, que en principio sepuede omitir, es en beneficio de los que accedan a nuestra página con unprograma navegador en forma de texto como el lynx. Ya que no son capaces de verla imagen, por lo menos pueden hacerse una idea sobre ella. Pero no es sólo poresto. Hay casos, como veremos más adelante, en los que se utiliza una imagencomo enlace a otra página. Si se omitiera este comando, los que utilizan dichosnavegadores no podrían de ninguna manera acceder a esas páginas. Con respecto a la localización del archivo de esa imagen, sepuede decir aquí lo mismo que en el capítulo anterior referente a los enlaces.Si no se indica nada especial, como en el caso que se ha expuesto, quiere decirque el archivo imagen.gif está en el mismo directorio que el documento HTML queestamos escribiendo. Si no es así, se siguen los mismos criterios que losindicados para los enlaces. Las imágenes deben estar guardadas en un formato de archivoespecial llamado GIF. (Hay también otro formato más avanzado JPG). Esteformato GIF almacena las imágenes con un máximo de 256 colores, en formacomprimida. Un aspecto muy importante a tener en cuenta es el tamaño delas imágenes, pues una imagen grande supone un archivo grande, y esto puederesultar en un tiempo excesivo de carga, con el consiguiente riesgo de que quienesté intentando cargar nuestra página se canse de esperar, y desista de ello. Para elegir la posición de la imagen con respecto al textohay distintas posibilidades. La más sencilla es colocarla entre dos párrafos,con un titular a un lado. Los navegadores más actuales (como el NetscapeNavigator y el Microsoft Internet Explorer) permiten que el texto pueda rodear ala imagen. De momento nos vamos a limitar a escoger la posición deltitular con respecto a la imagen. Se puede poner arriba, en medio o abajo dellado de la imagen. Para ello se añade el comando ALIGN a la etiqueta, de lasiguiente manera:
Otra posibilidad muy interesante es la de utilizar una imagencomo enlace a otra página. Para estos casos se utilizan generalmente imágenespequeñas (iconos), aunque se puede usar cualquier tipo de imagen. Según vimos en el capítulo anterior, la estructura generalde un enlace es: <A HREF="XXX"> YYY </A> En este caso sustituimos XXX por el nombre del archivo de lapágina a la que queremos acceder. Y en lugar de YYY ponemos la etiquetacompleta de la imagen (que queda así englobada dentro de la etiqueta delenlace). Como por ejemplo (hombre.gif) para acceder al ejemplo prácticodel capítulo 2 (mipag2.html): <A HREF="mipag2.html"><IMGSRC="hombre.gif"></A> Pulsando la imagen comprobamos cómo efectivamente enlaza conla página deseada. Obsérvese además que la imagen está rodeada de un rectágulodel color normal en los enlaces. Si no se desea que aparezca ese rectángulo,hay que incluir dentro de la etiqueta de la imagen el atributo BORDER=0, esdecir: <A HREF="mipag2.html"><IMGSRC="hombre.gif" BORDER=0></A> Posicionando el cursor sobre esta última imagen, comprobamosque actúa también como enlace aunque carezca del rectángulo de color. Estopuede resultar más estético, pero se corre el riesgo de que el usuario no se décuenta de que la imagen sirve de enlace. También podemos utilizar una imagen para enlazar con otraimagen. Supongamos que queremos enlazar con la imagen estaimagen.gif por mediode esta otra imagen desdeesta.gif: <A HREF="estaimagen.gif"><IMGSRC="desdeesta.gif"></A> Por ultimo, otra posibilidad es la de utilizar un texto paraenlazar con una imagen. En este caso sustituimos XXX (el destino del enlace) conel nombre del archivo de la imagen a la que queremos acceder e YYY (lo queaparece en pantalla como el enlace) por el texto. Por ejemplo: <A HREF="isla.gif"> un paraíso tropical</A> Un tipo de imágenes del que se hace abundante uso y quesirven para mejorar la presentación de la página son los iconos, botones,barras separadoras, etc. A pesar de su tamaño o forma, son imágenes comocualquier otra. 6. Alineación y dimensionado de imágenes
Alineación de las imágenes Si se quieren lograr diseños fantasticos y rodear con textoslos gráficos exactamente igual que en las revistas se pueden usar los comando oatributos conjuntamente con la etiqueta <IMG SRC= "imagen.gif">,ALIGN=. Donde quiera que se desee que aparezca una imagen basta con insertar:
Si se quiere interrumpir el proceso de rellenado del texto alos lados de la imagen, para que salte hasta debajo de ella, es decir, dejar unespacio en blanco parcialmente, se pueden emplear las siguientes extensiones dela etiqueta <BR>:
Un ejemplo para aclarar esto: <IMG SRC="imagen.gif" ALIGN=LEFT> Este textoesta a un lado de la imagen. <BR> Este tambien esta a un lado de la imagen, en lalinea siguiente. <BR CLEAR=LEFT> Este otro texto, en cambio, ha buscadoel primer margen libre a la izquierda.
Dimensionando la imagen Los programas navegadores cuando cargan un documento HTML yencuentran una etiqueta de una imagen, interrumpen el proceso de carga ysolicitan al servidor que le envíe dicha imagen, quedando a la espera hasta quese complete el envío, repitiéndose este proceso con cada una de las imágenes. Esto es especialmente molesto cuando, como ocurrefrecuentemente, en la cabecera de la página se encuentra una imagen grande, yaque durante un tiempo relativamente largo no se verá nada en la pantalla. Para evitar este inconveniente existen unas extensiones de laetiqueta de la imagen <IMG SRC="imagen.gif"> que sirven paraindicar al navegador cuáles son sus dimensiones en pixels. (Este dato lohabremos obtenido previamente de algún programa gráfico). En este caso, el navegador actúa de una forma másfavorable, ya que entonces, como conoce las dimensiones de las imágenes lesreserva un espacio en la pantalla y va colocando el texto de forma apropiada,sin ninguna interrupción, a la vez que va rellenando esos espacios reservados alas imágenes. Estos comandos o atributos son WIDTH (ancho) y HEIGHT (alto). Por ejemplo, para la imagen isla.gif situada más arriba: <IMG SRC="imagen.gif" WIDTH=120 HEIGHT=94> Es conveniente hacer esto con todas las imágenes, inclusocon las más pequeñas (iconos, botones, etc), para que no haya ningunainterrupción en el proceso de carga del documento. Se puede también, si se quiere, dimensionar las imágenescon unos valores distintos a los que realmente tienen, variando el tamaño, laanchura o la altura. Esto es muy conveniente, por ejemplo para poner en la páginaun thumbnail (reproducción en pequeño de una imagen), que hace de enlace a laimagen en su verdadero tamaño. De esta manera no recargamos demasiado una página,y el usuario será quien decida qué imágenes desea cargar. Para hacer que una imagen reducida sea el enlace con laimagen en su tamaño original, lo conseguimos con: <A HREF="imagen.gif"> <IMGSRC="imagen.gif" WIDTH=150 HEIGHT=75> </A> También se puede conseguir esto de otra manera, máscorrecta aunque más laboriosa. Es la de reducir en un programa gráfico estaimagen a 150x75, guardarla con otro nombre, y luego hacer que la pequeña sea elenlace de la grande. Es más correcta esta otra solución porque no todos losnavegadores reconocen los comandos WIDTH y HEIGHT, incluso tampoco algunas delas versiones más antiguas de Netscape. 7. Fondos y colores
Se puede cambiar el fondo de dos maneras distintas: 1.Con un color uniforme 2.Con una imagen
1. Fondos con un color uniforme Se consigue añadiendo el comando BGCOLOR a la etiqueta<BODY> (situada al principio del documento), de la siguiente manera: <BODY BGCOLOR="#XXYYZZ">
Estos números están en numeración hexadecimal. Estanumeración se caracteriza por tener 16 dígitos (en lugar de los diez de lanumeración decimal habitual). Estos dígito son: 0 1 2 3 4 5 6 7 8 9 A B C D E F Es decir, que en nuestro caso, el número menor es el 00 y elmayor el FF. Así, por ejemplo, el color rojo es el #FF0000, porque tiene el máximode rojo y cero de los otro dos colores. Los colores primarios son:
Otros colores son:
Para hacer un color más oscuro, hay que reducir el númerode su componente, dejando los otros dos invariables. Así, el rojo #FF0000 sepuede hacer más oscuro con #AA0000, o aún más oscuro con #550000. Para hacer que un color tenga un tono más suave (máspastel), se deben variar los otros dos colores haciéndolos más claros (númeromás alto), en una cantidad igual. Así, podemos convertir el rojo en rosa con#FF7070.
Colores del texto y de los enlaces Si no se variasen los colores habituales del texto y de losenlaces (negro y azul, respectivamente), podría ocurrir que su lectura contraun fondo oscuro fuese muy dificultosa, o incluso imposible, si el fondo fueseprecisamente negro o azul. Para evitar esto, se pueden escoger los colores del texto yde los enlaces, añadiendo a la etiqueta (si se desea) los siguientes comandos:
Los códigos de los colores son los mismos que los que se hanvisto anteriormente. La etiqueta, con todas sus posibilidades, sería: <BODY BGCOLOR="#XXYYZZ" TEXT="#XXYYZZ"LINK="#XXYYZZ" VLINK="#XXYYZZ" ALINK="#XXYYZZ"> El comando TEXT explicado anteriormente (que va englobadodentro de la etiqueta <BODY>) cambia el color de la totalidad del texto dela página. Tanto el Netscape Navigator 2, como el Microsoft Explorersoportan una etiqueta de color de la fuente con la que se puede cambiar sólouna parte del texto: <FONT COLOR="#XXYYZZ"> Este texto es de colorXXYYZZ </FONT>
2. Fondos con una imagen El fondo de una página puede ser también una imagen, ya seaen formato GIF o JPEG. Esta imagen se repite por toda la página, de una maneraanáloga al tapiz de Windows. La estructura de la etiqueta puede ser:
No todos los navegadores soportan este formato. Se pueden añadir también a esta etiqueta todos los comandospara cambiar los colores del texto y de los enlaces, vistos anteriormente. Estoes imprescindible a veces para conseguir que el texto sea legible, en contrastecon el fondo. Hay que prever la posibilidad de que quien acceda a nuestra páginahaya deshabilitado la carga automática de imágenes, en cuyo caso tampococargaría la imagen que sirve como fondo y sólo vería el fondo estándar decolor gris. Esto podría ser muy perjudicial si hemos escogido unos colores parael texto y los enlaces que no contrastan bien con ese fondo gris. La solución aeste problema es poner dentro de la etiqueta <BODY> los dos comandosBACKGROUND y BGCOLOR (en este orden), teniendo cuidado en escoger un coloruniforme de fondo parecido al de la imagen. Por ejemplo, supongamos que queremos poner como fondo laimagen nubes.jpg. Escogemos entonces un color de fondo azul claro, #CCFFFF. Laetiqueta quedaría así: <BODY BACKGROUND="nubes.jpg"BGCOLOR="#CCFFFF"> Esto tiene la ventaja adicional de que, incluso aunque no sedeshabilite la carga automática de imágenes, al cargar la página, lo primeroque se ve es ese fondo de color uniforme, que luego es reemplazado por el de laimagen.
8. Tablas Las tablas pueden parecer un modo sencillo de disponer eltexto en columnas o quizás de añadir un titular a una ilustración, pero haymodos de sacar un gran partido de una característica aparentemente sencilla. Laetiqueta <TABLE> puede ser una poderosa herramienta de formato. Se puedehacer por ejemplo, no mostrar el borde de una tabla en absoluto. Tambien sepuede hacer uso de la etiqueta <TABLE> para ubicar texto e imágenes conprecisión, en prácticamente casi cualquier lugar de una página. Estructura de una tabla Vamos a ver ordenadamente (de fuera hacia dentro) lasetiquetas necesarias para confeccionar las tablas.
EJEMPLO <HTML> <HEAD> <TITLE> Página de prueba para tablas</TITLE> </HEAD> <BODY> <TABLE BORDER> <TR> <TH>Columna 1</TH> <TH> Columna 2</TH> <TH>Columna 3</TH> <TD>fila1 - c elda1</TD> <TD>fila1 - celda2</TD><TD>fila1 - celda3</TD> </TR> <TR> <TD>fila2 - celda1</TD> <TD>fila2 - celda2</TD><TD>fila2 - celda3</TD> </TR> </TABLE> <BR>[Aquí van las etiquetas que visualizan la página] </BODY> </HTML>
¿Qué pasa si el numero de celdas de una fila es distinto alde otra? Pues el navegador forma el número de filas y columnas quehaga falta, dejando espacios en blanco en las filas que tengan menos celdas.
Titular de tabla Se puede añadir un titulo a la tabla, es decir un textosituado encima de la tabla que indica cuál es su contenido. Se consigue con laetiqueta <CAPTION> y </CAPTION>. Por ejemplo: <CAPTION> Esta es mi primera tabla </CAPTION>
Contenido de las celdas Solo se ha puesto hasta ahora en el ejemplo, texto normaldentro de las distintas celdas. Pero se puede poner en ellas cualquier otroelemento de los que van en un documento HTML, como imágenes, enlaces, etc. Nohay más que poner dentro de la etiqueta de la celda la etiqueta correspondientea una imagen, un enlace, etc.
EJEMPLOS Con una imagen <TABLE BORDER> <TR>< TD> <IMG SRC="imagen.gif"> </TD> </TR> </TABLE> Con un enlace <TABLE BORDER> <TR> <TD><A HREF="index.html"> Mi páginaprincipal </A></TD> </TR> </TABLE>
Posicionamiento del contenido dentro de la celda Normalmente, el contenido de una celda está alineado a laizquierda. Pero se puede cambiar esto añadiendo dentro de la etiqueta de lacelda los siguientes atributos:
El alineamiento por defecto en el sentido vertical es en elmedio. También se puede cambiar, añadiendo dentro de la etiqueta de la celdalos siguientes atributos:
Variando las dimensiones de la tabla El navegador se encarga normalmente de dimensionar el tamañototal de la tabla de acuerdo con el número de filas, de columnas, por elcontenido de las celdas, espesor de los bordes, etc. A veces nos puede convenir forzarle para que la tabla tengaunas dimensiones totales mayores que las que le corresponden, tanto en anchuracomo en longitud. Esto se consigue añadiendo dentro de la etiqueta de la tablalos atributos WIDTH y HEIGHT igual a un porcentaje de la dimensión de lapantalla, o a una cifra que equivale al número de pixels. Por ejemplo, si colocamos: <TABLE WIDTH=60%> O, por ejemplo ponemos: <TABLE HEIGHT=200>
Celdas que abarcan a otras varias A veces puede interesarnos que una celda se extienda sobreotras varias. Esto se consigue añadiendo dentro de la etiqueta de la celda losatributos COLSPAN=número para extenderse sobre un número determinado decolumnas, o ROWSPAN=número para extenderse verticalmente sobre un númerodeterminado de filas. Por ejemplo, en la primera tabla del ejemplo anterior vamos aañadir una fila con una sola celda, que abarca a dos columnas: <TR> <TD COLSPAN=2> Celda sobre 2 columnas</TD> <TR> O, en la misma tabla, vamos a añadir una celda en la primerafila, pero que abarque también a la siguiente: <TD ROWSPAN=2> Celda junto a 2 filas </TD>
Color de fondo en las tablas Podemos conseguir que las tablas tengan un color de fondo,siguiendo un procedimiento totalmente análogo al empleado para que una páginatenga un color de fondo uniforme (según vimos en el capítulo 7). Para ellodebemos utilizar el atributo BGCOLOR="#XXYYZZ", visto en dicho capítulo. Se puede conseguir:
Imágenes de fondo en las tablas El Explorer de Microsoft soporta la colocación de imágenesde fondo en el interior de las tablas, de una manera análoga a como se hace enuna página (según vimos en el capítulo 7). Para ello debemos, utilizar elatributo BACKGROUND="imagen.gif" o BACKGROUND="imagen.jpg",visto en dicho capítulo. Si se utiliza dentro de la etiqueta <TABLE> la imagenen cuestión se multiplicará detrás de todas las celdas. (Con el Netscape no se verá ninguna imagen de fondo, sólocon el Explorer) Si, por el contrario, sólo se pone este atributo dentro dela etiqueta de una celda concreta (<TD> o <TH>), entonces la imagende fondo se verá sólo en esa celda.
Separación entre las celdas de una tabla Por defecto, la separación entre las distintas celdas de unatabla es de dos pixels. Pero se puede variar esto con el atributo CELLSPACING,que se pone dentro de la etiqueta TABLE. Por ejemplo, para obtener una separación de 20 pixels entreceldas ponemos: <TABLE BORDER CELLSPACING=20> A primera vista parece como si esto fuera lo mismo que sihubiéramos aumentado el espesor de los bordes. Pero para comprobar que no es así,hagamos que en el caso anterior, tenga además unos bordes de 5 de espesor: <TABLE BORDER=5 CELLSPACING=20>
Separación entre el borde y el contenido dentro de lasceldas Por defecto, la separación entre el borde y el contenidodentro de las celdas es de un pixel. Se puede cambiar esto con el atributoCELLPADDING, que se pone dentro de la etiqueta TABLE. Por ejemplo, para obtener una separación de 20 pixels entreel contenido y los bordes, dentro de cada celda: <TABLE BORDER CELLPADDING=20>
Se puede combinar este atributo con CELLSPACING (visto en elapartado anterior). Por ejemplo, una tabla con bordes de 5 de espesor, separaciónentre celdas de 15 y separación del contenido con respecto a los bordes de lasceldas de 20, lo obtendríamos con: <TABLE BORDER=5 CELLSPACING=15 CELLPADDING=20>
9. Formularios La manera general para que los lectores de nuestra página sepuedan comunicar con nosotros es por medio de un enlace a nuestra dirección dee-mail, con lo que recibiríamos un e-mail convencional. Pero puede ser que lo que necesitemos sea solamente unarespuesta concreta a unas opciones que presentaremos nosotros mismos, o uncomentario del usuario, para lo que le suministraremos un espacio en dondeintroducirlo. Se puede, hacer todo esto, además de otras cosas, utilizandolos formularios, con los que se pueden confeccionar páginas que contengan loselementos necesarios para ello, tal como botones de radio, listas de selección,cajetines de introducción de texto y de control, etc., como vamos a ver. Los formularios permiten que los demás nos envíen lainformación directamente a nosotros o bien a nuestro servidor, en donde hemosinstalado un programa que procese esta información. Por ejemplo, vamos asuponer que queremos crear una lista de correo. Los usuarios pueden introducirsus nombres y direcciones de e-mail y pulsar un botón de envío. Esos datos los podemos recibir "en bruto" ennuestro correo, con los que confeccionaríamos manualmente dicha lista decorreo, sin necesitar ningún programa para ello. Este proceso es el que vamos acomentar en este capítulo. La otra posibilidad, de la que únicamente se va a hacer estamención, es que hubiéramos instalado en nuestro servidor un programa especialpara procesar esos datos y añadirlos a la lista de correo, y que inclusopudiera devolver automáticamente al usuario algún tipo de información. Paraconseguir esto, los formularios necesitan ejecutar programas o scripts por mediodel CGI (Common Gateway Interface). El CGI permite a los formularios serprocesados por programas escritos en cualquier lenguaje, aunque los más usadosen Internet son el Perl y el C.
El tipo de formulario que se describe a continuación podráser utilizado por la mayoría de los navegadores, con la notable excepción delExplorer (incluso la versión 3.0), por lo que es conveniente suministrar alfinal del formulario, como una alternativa para estos casos, un enlace de e-mailordinario (ver el Capítulo 4)
Estructura de un formulario La estructura general de un formulario es:
1.Etiqueta de inicio El atributo ACTION indica la acción que se debe efectuar yque es que los datos sean enviados por e-mail a la dirección indicada. (Si hiciéramosuso del CGI, sería precisamente aquí donde indicaríamos su localización enel servidor, que habitualmente es el directorio cgi-bin, para que procese losdatos). El atributo METHOD=POST indica que los datos seaninmediatamente enviados por correo a la dirección de e-mail, nada más púlsarel usuario el botón de envío. Con el atributo ENCTYPE="TEXT/PLAIN" se consigueque las respuestas las recibamos como un archivo de texto, perfectamente legibley sin codificar.
2.Cuerpo del Formulario (Elementos para introducir los datos) Los vamos a dividir en tres clases:
La introducción de los datos se consigue por medio de laetiqueta: <INPUT TYPE= "XXX" NAME="YYY" VALUE="ZZZ"> En donde:
Todo esto, que de momento parece muy confuso, se aclarará alir viendo los distintos casos. Introducción por medio de texto Introducción por medio de texto (una línea) En este caso es XXX=TEXT, es decir, INPUTTYPE="TEXT". El atributo VALUE no procede en este caso. Vamos a ponerun ejemplo. solicitamos el apellido del usuario: <FORM ACTION= mailto:direccion_de_e-mailMETHOD="POST" ENCTYPE="TEXT/PLAIN">Escribe tu apellido: <BR><INPUT TYPE="TEXT"NAME="Apellido"> </FORM> Si el usuario introduce su apellido, p. ej. Ruiz, y pulsa elbotón de envío (que veremos más adelante), recibiremos, un e-mail suyo con elsiguiente texto: Apellido=Ruiz La longitud de este formulario es por defecto de 20caracteres. Se puede variar incluyendo en la etiqueta el atributo SIZE="número".Por otra parte, sea cual sea la longitud del formulario, si no se indica nada,el usuario puede introducir el número de caracteres que quiera. Se puedelimitar esto, incluyendo en la etiqueta el atributo MAXLENGTH="número". En el caso que hemos visto, si hubiéramos cambiado laetiqueta correspondiente por: <INPUT TYPE="text" NAME="Apellido"SIZE="10" MAXLENGTH="12"> (Se puede comprobar cómo no se pueden introducir más de 12caracteres). También se puede hacer que el texto introducido no seareconocible, es decir que todos los caracteres se representen por asteriscos.Basta con cambiar en la etiqueta INPUT TYPE="TEXT" por INPUTTYPE="PASSWORD". En el último ejemplo, si cambiamos la etiquetacorrespondiente por: <INPUT TYPE="PASSWORD" NAME="Apellido"SIZE="10" MAXLENGTH="12"> (Se puede comprobar cómo los caracteres introducidos serepresentan por asteriscos)
Introducción por medio de texto (múltiples líneas) Cuando el texto a introducir puede alcanzar una granlongitud, por ejemplo un comentario, es conveniente utilizar un formulario detexto de múltiples líneas. Esto se consigue con la etiqueta de inicio: <TEXTAREA NAME="YYY" ROWS="número"COLS="número"> (en donde no se utiliza INPUT TYPE y donde ROWS representa elnúmero de filas, y COLS el de columnas). y la de cierre: </TEXTAREA> Ejemplo: un formulario solicitando los comentarios delusuario: <FORM ACTION="mailto:direccion_de_e-mail"METHOD="POST" ENCTYPE="TEXT/PLAIN"> Introduce tus comentarios: <BR><TEXTAREA NAME="Comentarios"ROWS="6" COLS="40"> </TEXTAREA> </FORM> (El salto de línea del texto introducido no se efectúa automáticamente). Una vez que el usuario haya escrito sus comentarios dentrodel formulario, y haya pulsado el botón de envío, recibiremos un e-mail suyocon el siguiente texto: Comentarios = mensaje escrito por el usuario
Introducción por medio de menús Si queremos que el usuario, en vez de introducir un texto,como hemos visto en los casos anteriores, escoja entre varias opciones que lepresentamos nosotros, haremos uso de un formulario en forma de menú. Se consigue con la etiqueta de inicio <SELECT NAME="YYY"> y la de cierre </SELECT>. Las distintas opciones a escoger se consiguen con la etiqueta<OPTION>. Ejemplo: Pedimos al usuario que elija su color preferido: <FORM ACTION="mailto:dirección_de_e-mail"METHOD= "POST" ENCTYPE="TEXT/PLAIN"> <BR>¿Cuál es tu color preferido? <BR><SELECT NAME="ColorPreferido"> <OPTION SELECTED> <OPTION>Rojo <OPTION>Verde <OPTION>Azul <OPTION>Amarillo </SELECT > </FORM> Si el usuario ha escogido, p. ej. Azul y ha pulsado el botónde envío, recibiremos un e-mail suyo con el texto: ColorPreferido=Azul. En el ejemplo anterior, sólo es visible en el formulario unaopción. Si queremos que sean visibles múltiples opciones a la vez, añadimosen la etiqueta los atributos MULTIPLE SIZE="número", dondeespecificamos el número de opciones visibles. Si cambiamos en el ejemplo anterior la etiquetacorrespondiente por: <SELECT NAME="ColorPreferido" MULTIPLESIZE="2">
Introducción por medio de botones Caja de confirmación (checkbox) Si queremos que el usuario confirme una opción determinada,podemos hacer uso de un formulario de confirmación, o checkbox, que se consiguecon la etiqueta: <INPUT TYPE="CHECKBOX" NAME="YYY"> Ejemplo: Solicitamos al usuario que confirme su inclusión enuna lista de correo: <FORM ACTION= "mailto:dirección_de_email"METHOD="POST" ENCTYPE="TEXT/PLAIN"> <INPUT TYPE="checkbox"NAME="Lista"> Sí, deseo ser incluido en la lista de correo. </FORM> Si el usuario marca este formulario y pulsa el botón de envío,recibiremos un e-mail suyo con el texto: Lista=On. Si queremos que el formulario aparezca inicialmente comomarcado (el usuario no necesitará hacerlo), basta con añadir el atributoCHECKED dentro de la etiqueta. En el ejemplo anterior si sustituimos la etiquetaequivalente por: <INPUT TYPE="CHECKBOX" NAME="Lista"CHECKED>
Botones de radio Cuando queremos que el usuario elija una única opción entrevarias, podemos hace uso de los botones de radio, que se consiguen con laetiqueta: <INPUT TYPE= "RADIO" NAME= "YYY" VALUE="ZZZ"> Donde YYY es el nombre que le ponemos a la variable que setrata de elegir, y ZZZ es el nombre de cada una de las opciones en concreto. Ejemplo: solicitamos al usuario que defina cuál es susistema operativo preferido: <FORM ACTION="mailto:dirección_de_email"METHOD="POST" ENCTYPE="TEXT/PLAIN"> ¿Cuál es tu sistema operativo preferido? <BR> <INPUT TYPE="radio"NAME="SistemaOperativo" VALUE="PC" CHECKED> PC <INPUT TYPE="radio"NAME="SistemaOperativo" VALUE="Mac"> Mac <INPUT TYPE="radio"NAME="SistemaOperativo" VALUE="Unix"> Unix </FORM> Obsérvese el atributo opcional CHECKED que se ha añadido enla primera etiqueta. Esa será la opción que aparece marcada por defecto. Obsérvese también que no es posible escoger más de unaopción. Si el usuario ha escogido la opción PC y pulsa el botón deenvío, recibiremos un e-mail suyo con el texto: SistemaOperativo=PC.
3.Botones de envío y de borrado Hasta ahora, en todos los ejemplos que hemos visto, faltabaun elemento esencial en cualquier formulario, y es el botón de envío de losdatos, que se consigue con la etiqueta: <INPUT TYPE= "submit" VALUE= "ZZZ"> En donde ZZZ es el texto que queremos que aparezca en el botón. Vamos a añadirlo al primer ejemplo, en el que se solicitabael apellido del usuario: <FORM ACTION="mailto:dirección_de_email"METHOD="POST" ENCTYPE="TEXT/PLAIN"> Escribe tu apellido: <BR><INPUT TYPE="text"NAME="Apellido"> <P><INPUT TYPE="submit" VALUE="Enviardatos"> </FORM> Otro botón interesante es el de borrado de los datosintroducidos, muy conveniente en un formulario con muchos elementos. Es muysimilar al de envío, pues se consigue con la etiqueta: <INPUT TYPE= "RESET" VALUE="ZZZ"> En donde ZZZ es el texto que queremos que aparezca en el botón. Si añadimos al ejemplo anterior la etiqueta: <P><INPUT TYPE="reset" VALUE="Borrardatos">
Se puede comprobar su funcionamiento, escribiendo algo en elformulario y pulsando luego el botón de borrado.
Consideraciones finales Hasta ahora hemos visto uno a uno los diferentes elementosque se pueden utilizar. Pero no hay ningún inconveniente en usar, dentro delmismo formulario, distintos tipos de introducción de datos. Al pulsar elusuario el botón de envío recibiríamos en e-mail suyo con las distintasparejas NAME=VALUE de cada elemento, encadenadas con el símbolo &.
Ejemplo
Haremos como ejemplo práctico un libro de visitas a nuestrapágina.
<HTML> <HEAD> <TITLE>Libro de Visitas</TITLE> </HEAD> <BODY> <P><CENTER> <H2>Libro de visitas</H2> <P><FORM ACTION="mailto: tzambran@ldelfos.ucla.edu.ve"METHOD="POST"ENCTYPE="TEXT/PLAIN"> Tu nombre: <BR><INPUT TYPE="text"NAME="Nombre"> <P>Escribe tus comentarios: <BR><TEXTAREA NAME="Comentarios"ROWS="6" COLS="40"> </TEXTAREA> <P><INPUT TYPE="submit" VALUE="Enviardatos"> <INPUT TYPE="reset" VALUE="Borrardatos"> </FORM> <P> <HR> </BODY> </HTML> 10. Mapas Hemos visto anteriormente dos maneras distintas de enlazaruna página con otra: por medio de un enlace de texto o por medio de una imagen.Pero en este último caso se hacía uso de una imagen para enlazar a una únicapágina. Se puede utilizar una única imagen para enlazar con varias páginas,yendo a una u otra según la zona en donde se pulse el ratón. Este tipo de imágenesse llaman mapas. Veremos cómo se crea un mapa partiendo de una imagen, y cómose implementa dicho mapa con el lenguaje HTML en nuestra página.
Hay dos tipos de mapas:
En nuestro caso, trataremos sobre los mapas gestionados porel cliente, pero cabe hacer mención de los mapas gestionados por el servidor.
1.Mapas gestionados por el servidor En este tipo de mapas al desplazar el cursor sobre la imagenque forma el mapa se van obteniendo las distintas coordenadas. Cuando se pulsael ratón en un punto determinado, el navegador envía esas coordenadas alservidor, y éste comprueba en un archivo MAP (situado en su directorio cgi-bin)cuál es la página que se corresponde con estas coordenadas, envía estainformación al navegador, y éste solicita a su vez al servidor que le enlacecon dicha página. Estos mapas, tienen una ventaja: que pueden ser utilizadospor todos los navegadores, incluso por las versiones más antiguas. Pero tienen varios inconvenientes: No todos los servidorestienen implementado el programa CGI necesario para que pueda funcionar un mapade este tipo. Además hay que conocer el tipo de servidor (NCSA, el más común,o CERN), pues el código a aplicar es distinto en un caso u otro. Por otraparte, al requerir un trasiego de información entre el navegador y el servidor,el tiempo de respuesta es mayor que en el otro tipo, como veremos a continuación.
2.Mapas gestionados por el cliente Estos mapas son gestionados por el cliente (es decir, nuestronavegador) y no por el servidor, como en el caso anterior. En este tipo de mapas, al ir desplazando el cursor se observaque en ciertas zonas se convierte en el símbolo normal para enlazar con otras páginas(una mano, habitualmente). Si se pulsa en estas zonas activas (HOTSPOTS), el navegadorconsulta con el documento HTML que ha recibido, y decide a qué página odirección corresponde esa zona activa. Es decir, no necesita enviar la información al servidor yesperar la respuesta de éste, con lo que el proceso es más rápido que en elcaso anterior, reduciéndose además el tráfico de datos y la sobrecarga alservidor. Otras ventajas son que al pasar por una zona activa se muestra ladirección a la que se corresponde (al contrario que en el caso anterior, en laque sólo se ven unas coordenadas). Además, estos mapas se pueden utilizaroff-line, al contrario también que en el otro tipo, ya que no requieren laayuda del servidor. Pero tiene el inconveniente de que estos mapas no sonimplementados por todos los navegadores, como en el caso anterior, aunque sípor la mayoría de los utilizados actualmente, desde las versiones siguientes:Netscape 2.0, Microsoft Explorer 2.0, Mosaic 2.1, etc. Pero se puede obviar esteinconveniente suministrando enlaces alternativos para los navegadores que noimplementen este tipo de mapas. En lo que sigue, vamos a ver exclusivamente cómo implementareste tipo de mapas, es decir, mapas gestionados por el cliente (client-sideimage maps).
Confección de la imagen del mapa Antes que nada, es necesario confeccionar la imagen que va aservir como mapa. Se hará con un programa gráfico, y pueden utilizarse losformatos GIF o JPG. Para crear una mapa para utilizarlo en nuestra página HTML,debemos seguir los siguientes pasos:
Estas coordenadas las obtenemos con el programa gráfico conel que hemos confeccionado la imagen. Al obtener los datos necesarios (las coordenadas) podemosescribir el código HTML que convierta esta imagen en un mapa.
Código HTML para definir un mapa gestionado por el cliente En este caso, el código que debemos escribir es elsiguiente: <MAP NAME="nombre"> <AREA SHAPE="RECT"COORDS="X1,Y1,X2,Y2" HREF="paginaXX.html"> <AREA SHAPE="RECT"COORDS="W1,W1,Z2,Z2" HREF="paginaYY.html"> <AREA SHAPE="DEFAULT" NOHREF> </MAP> <IMG SRC="imagen.gif"USEMAP="#nombre"> Veamos ahora cada una de las etiquetas:
Con el atributo NOHREF, se define que el área completa de laimagen es una zona no activa, excepto en las áreas definidas anteriormente comoactivas.
Enlaces alternativos de texto Como se ha dicho anteriormente, no todos los navegadoresimplementan este tipo de mapas gestionados por el cliente. Por ello, esnecesario suministrar unos enlaces alternativos convencionales de texto, paraobviar este inconveniente. Por ejemplo, a continuación del mapa, se pueden ponerenlaces de texto, correspondientes a las dos zonas activas (reduciendo lafuente, para hacerlo menos antiestético): <FONT SIZE=-1> <A HREF="paginaXX.html">Mi páginaXX</A> | <A HREF="paginaYY.html">Mi páginaYY</A> </FONT>
Zonas activas en forma de círculos o polígonos Hasta ahora se han definido las zonas activas en forma derectángulos. Pero se pueden definir también estas zonas activas como círculoso como polígonos. Para definir una zona activa circular es necesario conocerlas coordenadas de su centro (X,Y) y la longitud de su radio (R). Una vezsabidos estos datos, la etiqueta es como sigue: <AREA SHAPE= "CIRCLE" COORDS="X,Y,R"HREF="dirección_de_la_página"> Para definir una zona activa poligonal hay que conocer lascoordenadas de los distintos puntos (X1,Y1), (X2,Y2), (X3,Y3), etc. Con estosdatos, la etiqueta se escribe como sigue: <AREA SHAPE="POLYGON" COORDS="X1,Y1,X2,Y2,X3,Y3,..." HREF= "enlace"> 11. Frames Frames (en inglés, marcos o cuadros) es un procedimiento dellenguaje HTML para dividir la pantalla en diferentes zonas, o ventanas, quepueden actuar independientemente unas de otras, como si se trataran de páginasdiferentes, pues incluso cada una de ellas pueden tener sus propias barrasdeslizadoras. Los navegadores que lo implementan son el Netscape 2.0, y elExplorer 2.0 en adelante. Una de sus características más importantes es que pulsandoun enlace situado en un frame, se puede cargar en otro frame una páginadeterminada. Esto se utiliza frecuentemente para tener un frame estrecho en laparte lateral (o superior) con un índice del contenido en forma de diferentesenlaces, que, al ser pulsados cargan en la ventana principal las distintas páginas.De esta manera se facilita la navegación entre las páginas, pues aunque sevaya pasando de unas a otras, siempre estará a la vista el índice delconjunto. Para comprender los distintos conceptos vamos a desarrollarun ejemplo, creando una página con dos Frames. El de la izquierda va a servirde índice de lo que veamos en el de la derecha, y en éste veremos inicialmenteuna página de presentación. Documento de definición de los frames Lo primero que tenemos que hacer es crear un documento HTMLen el que definiremos cuántas zonas va a haber, qué distribución y tamañovan a tener, y cuál va ser el contenido de cada una de ellas. En el ejemplo que vamos a desarrollar, la página va a tenerdos frames distribuidos en columnas (es decir, uno al lado del otro, en vez deuno encima del otro, lo que sería una distribución en filas). Con respecto al tamaño, haremos que el primero (el delizquierda) ocupe el 20% del ancho de la pantalla, y el otro, el 80% restante. Y con respecto al contenido, el frame de la izquierda va acontener un documento HTML que va a servir de índice de lo que veamos en elotro (y que vamos a llamar mi_indice.html), y el de la derecha otro documentoHTML que va a servir de página de presentación (al que llamaremosmi_presentacion.html). Todo lo anterior se refleja en el siguiente documento HTML: <HTML> <HEAD> <TITLE>Mi primera pagina con frames</TITLE> </HEAD> <FRAMESET COLS="20%, 80%"> <FRAME SRC= "mi_indice.html"> <FRAME SRC= "mi_presentacion.html"NAME="principal"> </FRAMESET> </HTML>
Obsérvese lo siguiente: Es un documento parecido a los que conocíamos hasta ahora.La diferencia está en que en vez de utilizar la etiqueta BODY, que sirvenormalmente para delimitar lo que se va a ver en la pantalla, se hace uso de laetiqueta FRAMESET (definir los frames). En este caso, con la etiqueta <FRAMESET COLS="20%,80%"> se define que va a haber dos frames y que van a ir en columnas. Sihubiéramos querido que fueran en filas, habríamos puesto ROWS (filas, en inglés).También se define el espacio en anchura que van a ocupar cada uno de ellos enla pantalla. Se ha puesto como porcentajes del total, pero se podría tambiénhaber puesto una cifra absoluta, que representaría el número de pixels aocupar. Ya se ha definido el número de frames, su distribución y sutamaño, pero falta por definir el contenido de cada frame. Esto se hace con lasetiquetas:
Con esto se define que el contenido del primer frame (el dela izquierda) sea el documento HTML mi_indice.html y el del segundo (el de laderecha) sea el documento HTML mipresentacion.html. Obsérvese que en la etiqueta del segundo se ha incluido elatributo NAME="principal", pero no así en el primero. El motivo esque se necesita dar un nombre al segundo frame, pues, como veremos a continuación,en el documento del primer frame va a haber unos enlaces que van a ir dirigidoshacia él. En este caso sólo tenemos dos frames, pero podría haber más, y esnecesario distinguirlos unos de otros. Y el primero no necesita nombre, pues nova a haber enlaces en el segundo dirigidos hacia él. A este documento le vamos a llamar mi_pagina.html, pero todavíano lo vamos a guardar, pues falta por añadir algo que veremos más adelante.
Documentos HTML de cada frame Necesitamos ahora confeccionar el documento HTML de cada unode los frames. Recuérdese que son como páginas independientes, que puedentener cada una su propio fondo, etc., y todo lo que queramos añadir en ellos yque hemos aprendido hasta ahora.
Documento del frame de la izquierda Va a tener un fondo amarillo, y va a contener dos enlacesdirigidos al frame de la derecha. <HTML> <HEAD> <TITLE> Indice </TITLE> </HEAD> <BODY BGCOLOR="#FFBB00"> <P><A HREF="mi_presentacion.html"TARGET="principal"> Presentación </A> <P><A HREF="otra_pagina.html"TARGET="principal"> Esta es otra página </A> <P><IMG SRC="imagen.gif"> </BODY> </HTML> Dentro de las etiquetas de los enlaces podemos observar algonuevo, y es el atributo TARGET (en inglés: objetivo, blanco), que sirve parahacer que al ser activado el enlace no se cargue en el propio frame, sino enotro, precisamente en el que hayamos llamado con ese nombre en el documento dedefinición de los frames. En nuestro caso, le hemos dado el nombre de"principal" al frame de la derecha, y es por tanto ahí donde se van acargar los documentos HTML. Guardamos este documento con el nombre de mi_indice.html.
Documento del frame de la derecha Va a tener un fondo negro, y va a contener sólamente untexto. <HTML> <HEAD> <TITLE> Presentacion </TITLE> </HEAD> <BODY BGCOLOR="#000000"TEXT="#0000FF"> <CENTER> <FONT SIZE=+3><STRONG> <P>ESTA ES LA VERSION <BR><FONT COLOR="#FF0000">CONFRAMES</FONT> <BR>DE MI PAGINA </STRONG> </FONT> </CENTER> </BODY> </HTML> Guardamos este documento con el nombre demi_presentacion.html Alternativa para los navegadores que no soportan frames Con lo visto anteriormente, ya tenemos las tres piezas quenecesitamos:
Hay que prever el caso en que los navegadores no soportan odesconocen las etiquetas FRAMESET y FRAME. Para estos casos está prevista la etiqueta <NOFRAMES>y </NOFRAMES>. Se añaden al final del documento de definición de losframes, y a se pone entre ambas lo que queremos que vean los que acceden con unnavegador que no soporta frames. Puede incluso ser el código HTML de una páginacompleta (lo que normalmente va entre las etiquetas <BODY> y</BODY>) En nuestro caso, pudiéramos poner un mensaje advirtiendo deesta circunstancia, y dirigiendo al usuario, con un enlace normal, hacia una páginaque hayamos definido como principal o de presentacion para estos casos. (Tambiénpodríamos no decir nada sobre frames, y colocar aquí el código de la páginade presentación) <NOFRAMES> Estas utilizando un navegador que no soporta frames.<P>Pulsa para visitar mi <A HREF="presentacion.html"> página</A>. </NOFRAMES> <HTML> <HEAD> <TITLE>Mi pagina con frames</TITLE> </HEAD> <FRAMESET COLS="20%, 80%"> <FRAME SRC="mi_indice.html"> <FRAME SRC="mi_presentacion.html"NAME="principal"> </FRAMESET> <NOFRAMES> Estas utilizando un navegador que no soporta frames. <P>Pulsa para visitar mi <AHREF="presentacion.html"> página</A>. </NOFRAMES> </HTML> Ahora sí podemos guardar este documento con el nombre demi_pagina.html.
Atributos de la etiqueta <FRAMESET> La etiqueta FRAMESET, como hemos visto en el ejemplo, es laque define la distribución, el número y tamaño de los frames. Tiene dosatributos: COLS (columnas) y ROWS (filas):
Define la distribución de los frames en columnas o en filas,según se use uno u otro atributo. Define el número de frames que habrá, pues, por ejemplo:
Define el tamaño de los frames, según el valor que demos aXX, YY, ZZ.... Este valor se puede expresar en: Un porcentaje del ancho del pantalla (para las columnas), odel alto de la pantalla (para las filas). Así, por ejemplo: <FRAMESET COLS="%20, %80"> (la columna de laizquierda ocupará el 20% del ancho de la pantalla, y la de la derecha el 80%restante) <FRAMESET ROWS="%10, %70, %20"> (la filasuperior ocupará el 10% del alto de la pantalla, la del medio el 70%, y lainferior el 20%) Un número absoluto que representa el número de pixels queocupará cada frame a lo ancho o a lo alto (según sean filas o columnas). Así,por ejemplo: <FRAMESET COLS="40, 600"> (la columna de laizquierda tendrá 40 pixels de ancho y la de la derecha 600). Pero es peligrosoutilizar sólo valores absolutos, pues el tamaño de la pantalla varía de unusuario a otro. Si se va a usar algún valor absoluto para un frame, es mejormezclarlo con alguno relativo, como los que vamos a ver acontinuación, para quese ajuste el total a la pantalla del usuario Un valor relativo que se consigue poniendo un asterisco (*),en vez de un número. Esto se interpreta como que ese frame debe tener elespacio restante. Por ejemplo: <FRAMESET ROWS="100,*,100"> (Habrá tresfilas, la superior y la inferior de una altura fija de 100 pixels, y la delmedio obtendrá el espacio restante). Si hay más de un frame con asterisco, ese espacio restantese dividirá por igual entre ellos. Si hay un número antes del asterisco, ese frame obtiene esacantidad más de espacio relativo. Así "2*,*" daría dos tercios parael primer frame y un tercio para el otro.
Frames sin bordes Si se desea que no haya un borde de separación entre losframes, se deben incluir el atributo FRAMEBORDER=0 dentro de la etiquetaFRAMESET. No todas las versiones de los navegadores lo implementan. Para que también desaparezcan los huecos de separaciónentre frames hay que añadir otros dos atributos (el primero es para el Explorery el segundo para el Netscape): FRAMESPACING=0 y BORDER=0. con lo que laetiqueta completa quedaría: <FRAMESET FRAMEBORDER=0 FRAMESPACING=0 BORDER=0COLS="xx, yy">
Atributos de la etiqueta <FRAME> Esta etiqueta define las cararacterísticas de un frameconcreto, no del conjunto de los frames, como era el caso con la etiqueta<FRAMESET>. Puede tener los siguientes posibles atributos, que van dentrode la etiqueta <FRAME>:
El atributo TARGET En el ejemplo hemos visto que, como queríamos que losenlaces situados en el frame de la izquierda surtieran efecto no en él mismo,sino en otro frame, teníamos que poner dentro de cada enlace el atributoTARGET="principal", siendo "principal" el nombre que habíamosdado al segundo frame, en el documento de definición de frames. Es decir, hemosutilizado este atributo de esta manera: TARGET="nombre_dado_a_otro_frame". Estos nombres, que los escogemos nosotros, pueden sercualquiera, pero con la condición que el primer carácter sea alfanumérico(letra o número). Pero hay unos nombres reservados (es decir, que no se puedenusar para denominar a un frame), que hacen que este atributo efectúe unasfunciones especiales. Para que cumplan su cometido, es imprescindible escribirestas palabras reservadas (blank, self y top) en minúsculas. TARGET="_blank". Hace que se abra una nuevacopia del navegador, y el enlace activado se carga en ella, a pantalla completa.Es decir, tendríamos dos copias del navegador (Netscape, Explorer, etc.)funcionando a la vez. TARGET="_self". Hace que el enlace se cargue enel propio frame. TARGET="_top". Hace que el enlace se cargue apantalla completa, suprimiendo todos los frames, pero sin que se cargue unanueva copia del navegador. Este es particularmente útil. Un error muy común esolvidarse de poner este atributo en los enlaces que están en un frame, con loque resulta que al ser activados, la página llamada se carga dentro del propioframe, lo cual es muy molesto si esa página pertenece a otro sitio del WEB, y aúnmás grave si esa página tiene a su vez frames. Este inconveniente se evitaponiendo este atributo dentro de las etiquetas de los enlaces.
Frames anidados dentro de otros frames Hasta ahora hemos contemplado sólo la posibilidad de teneruna distribución de los frames bien en filas o bien en columnas, (dependiendoque se utilice el atributo ROWS o COLS en la etiqueta FRAMESET), pero no ambos ala vez. Se pueden obtener distribuciones más complejas anidandofilas dentro de una columna, o a la inversa, columnas dentro de una fila. Supongamos que queremos la siguiente distribución: Un frame estrecho en horizontal en la parte superior, de ladoa lado de la pantalla (altura, el 15%) Otro frame estrecho en vertical en la parte izquierda, debajodel anterior (anchura, el 20%) Un tercero ocupando el resto de la pantalla. Vemos que, en realidad, esto equivale a la siguientedistribución: Dos filas. La superior ocupa el 15% y la inferior el resto. La fila inferior está a su vez dividida en dos columnas. Laprimera (la de la izquierda) ocupa el 20% y la otra, el resto. El documento de definición de las dos filas (olvidémonos demomento que la de abajo está subdividida), sería: <HTML> <HEAD> <TITLE>Pagina con dos filas</TITLE> </HEAD> <FRAMESET ROWS="15%, *"> <FRAME SRC="documento_fila_superior"> <FRAME SRC="documento_fila_inferior"> </FRAMESET> </HTML> Como la fila inferior, en realidad, son dos columnas (con unadistribución del 20% y resto), sustituimos (anidando) la etiqueta <FRAMESRC="documento_fila_inferior"> por: <FRAMESET COLS="20%, *"> <FRAME SRC="documento_columna_izqda"> <FRAME SRC="documento_columna_dcha"> </FRAMESET> Con lo que queda el documento definitvo así: <HTML> <HEAD> <TITLE>Pagina con fila superior y dos columnasinferiores</TITLE> </HEAD> <FRAMESET ROWS="15%, *"> <FRAME SRC="documento_fila_superior"> <FRAMESET COLS="20%, *"> <FRAME SRC="documento_columna_izqda"> <FRAME SRC="documento_columna_dcha"> </FRAMESET> </FRAMESET> </HTML> 12. Sonidos Una página del WEB puede tener sonidos incorporados, biensea como un fondo sonoro que se ejecuta automáticamente al cargar la página, ocomo una opción para que la active el propio usuario.
Capacidades sonoras de los navegadores Para poder escuchar los sonidos es necesario disponer, comoes lógico, de una tarjeta de sonido con sus correspondientes altavoces. Peroesto no es suficiente, pues no todos los programas navegadores estáncapacitados en la misma medida.
Explorer de Microsoft Es el que está mejor adaptado para el sonido, pues a partirde la versión 2.0 es capaz de reproducir fondos sonoros sin necesidad de añadirnada, y no hay ninguna complicación con los servidores, como ocurre con elNetscape. Además, a partir de la versión 3.0 del Explorer, es inclusocompatible con los plug-ins del Netscape.
Netscape Las versiones anteriores a la 2.0 no son capaces dereproducir fondos sonoros que se ejecuten automáticamente, sino que requeriráque se activen los programas auxiliares asociados a los formatos, .WAV o .MID. La versión 2.0 sí es capaz de reproducir un fondo sonoro,pero es necesario que tenga instalado un plug-in llamado Crescendo. La versión 3.0 lleva implícito el plug-in Live Audio (perosólo la versión completa, no la reducida). En caso afirmativo, es capaz dereproducir un fondo sonoro. Pero a todas estas complicaciones de las distintas versionesde los navegadores de los usuarios, hay otra más y es que el servidor donde estéalojada la página del WEB debe tener configurados como MIME losformatos, .MID y .WAV. Si esto no es así, aunque depositemos en el servidornuestro documento HTLM acompañado por el correspondiente archivo de sonido, ésteno se ejecutará. En dicho caso, es necesario ponerse en contacto con losadministradores del servidor para que configuren como MIME los formatos,.MID y .WAV. Este problema no existe, sin embargo para el Explorer, con elque no nos tenemos que preocupar por este tema.
Fondo sonoro para el Microsoft Internet Explorer Para las versiones 2.0 en adelante, se utiliza la etiqueta: <BGSOUND SRC="archivo_de_sonido" LOOP=n> El archivo de sonido puede estar en formato .MID o .WAV. El atributo LOOP (en inglés, lazo) sirve para especificar elnúmero (n) de veces que se debe ejecutar el archivo de sonido. Si se escoge elnúmero n=-1 o se pone LOOP=INFINITE, el sonido se ejecutará indefinidamente.Se puede omitir este atributo, y entonces el archivo se ejecutará una sola vez. La etiqueta para que se ejecute el archivo sonido.mid dosveces en el Explorer es: <BGSOUND SRC="sonido.mid" LOOP=2> (Para poder oirlo, hay que estar utilizando el Explorer)
Fondo sonoro para el Netscape La etiqueta básica para el Netscape es: <EMBED SRC="archivo_de_sonido" WIDTH=XXXHEIGHT=YY> donde WIDTH es la anchura y HEIGHT la altura de una consolaque aparece, y que tiene diferentes teclas (Play, Stop, Pausa, etc.). Respecto alas dimensiones XXX e YY estas dependerán del plug-ins que existe paraNetscape. El archivo de sonido puede estar en formato, .MID o .WAV,pero recuérdese la advertencia hecha anteriormente, de que estos formatosdeben estar configurados como MIME por el servidor donde esté alojada la página. Dentro de la etiqueta se pueden añadir los siguientesatributos opcionales:
Para conseguir que la consola sea invisible hay que añadirleel atributo HIDDEN="TRUE". <EMBED SRC="sonido.mid"HIDDEN="TRUE">
Fondo sonoro combinado para el Explorer y el Netscape Se pueden combinar los dos tipos distintos de etiquetas paraconseguir que un fondo sonoro sea escuchado por usuarios que utilicen tanto elExplorer como el Netscape (siempre que éste último esté preparado para ello).En este caso, el Explorer ignorará la etiqueta del Netscape, y a la inversa. Las dos etiquetas necesarias para que se reproduzca unarchivo de sonido ya sea en formato, .WAV o .MID, como sonido de fondo, tantopor el Explorer como por el Netscape (lo hará una sola vez):
Como vimos anteriormente para que un archivo de sonido, .MIDo .WAV se ejecute como sonido de fondo, tanto por el Explorer como por elNetscape y que se ejecute indefinidamente, a la etiqueta del Explorer basta conañadirle el atributo LOOP=INFINITE, como se ha visto anteriormente. Y conrespecto a la etiqueta del Netscape, teóricamente debería también bastar añadirleel atributo LOOP="TRUE", pero curiosamente esto no es así, porque hayque poner las dimensiones de la consola (que no se va a ver). Las dos etiquetas quedarian de esta manera: <BGSOUND SRC="sonido.mid" LOOP=INFINITE> <EMBED SRC="sonido.mid" WIDTH=200 HEIGHT=55AUTOSTART="TRUE" LOOP="TRUE" HIDDEN="TRUE"> &nbs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||