SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
Creación de Paginas Web con
Html
Autor: Jean Carlo Romero Raffo
1
mailxmail - Cursos para compartir lo que sabes
Presentación del curso
HTML es el lenguaje básico y muy sencillo que nos permite la creación de Paginas
Web. Este curso ha nacido con la intención de complementar los anteriores cursos
de JavaScript y HTML dinámico que tengo en estas páginas. Así podrás terminar
creando una página de calidad empezando desde cero.
2
mailxmail - Cursos para compartir lo que sabes
1. Introducción al curso
Este curso ha nacido con la intención de complementar los anteriores cursos de
JavaScript y HTML dinámico que tengo en estas páginas. Así podrás terminar
creando una página de calidad empezando desde cero.
Lo primero que hay que decir es que este curso no explica ningún estándar
específico, ni examina exaustivamente todos los parámetros de las etiquetas HTML.
Intenta ser una guía práctica, de modo que incluirá todas las cosas que yo crea
importantes y que me han provocado algún quebradero de cabeza mientras
realizaba mis páginas.
El curso y sus ejemplos los he probado con Explorer 4 y Netscape 4, que son los
navegadores que tengo instalados. Si tienes otro navegador y encuentras algún
problema te ruego que me lo comuniques, ya que he renunciado a hacer un diseño
más elaborado para conseguir que todos puedan leer este curso (y para terminarlo
más rápido).
Si tu navegador es capaz de manejar más de una ventana a la vez, las páginas de
ejemplo del curso se verán en otra ventana (sólo una). De este modo es posible
observar a la vez el ejemplo y la explicación y se evita la proliferación excesiva de
ventanas.
1.1. Requisitos
Si estás viendo este curso ya tienes en tus manos el requisito más difícil de cumplir:
tener acceso a Internet y un navegador. El otro requisito es un editor de textos con
el que hacer las páginas. Da lo mismo cual. Para hacer este curso yo utilizo el de
MS-DOS, por ejemplo. Sin embargo, es posible entender el curso sin hacer una sola
página, aunque siempre es recomendable practicar.
Podéis hacer páginas con algún editor específico de páginas web, pero no es
necesario. Es más, algunos de esos editores esconden las etiquetas HTML al usuario,
de modo que posiblemente lo que aprendas aquí te sería de poca utilidad.
1.2. Índice del curso
1. Introducción al curso
1.1. Requisitos
1.2. Índice del curso
1.3. Agradecimientos
2. Versiones del HTML
2.1. HTML 2.0
2.2. HTML 3.0 y 3.2
2.3. HTML 4.0
2.4. Estándares en este curso
3. Mi primera página
3.1. El código
3.2. La explicación
3.3. El cuerpo del documento
4. Formateo básico
4.1. Formato del párrafo
4.2. Las 6 cabeceras
3
mailxmail - Cursos para compartir lo que sabes
4.3. Cambiando el tipo de letra
4.4. Formato de frase
4.5. Otros elementos
5. Caracteres especiales
5.1. Caracteres extendidos en HTML
5.2. Caracteres de control
6. Enlaces
6.1. La etiqueta <A>
6.2. Las URLs
6.3. Anclas
7. Listas
7.1. Listas desordenadas
7.2. Listas ordenadas
7.3. Listas de definiciones
8. Imágenes
8.1. Imágenes y enlaces
8.2. Alineación respecto al texto
9. Formateo fino
9.1. Cambio de color
9.2. Tamaños del texto
9.3. Tipo de letra
10. Estructura del documento
10.1. La cabecera
10.2. El cuerpo
11. Formularios
11.1. Cajas de texto
11.2. Opciones
11.3. Botones del formulario
11.4. Otros elementos
12. Controles avanzados para formularios
12.1. Botones
12.2. Etiquetas
12.3. Agrupación de elementos
12.4. Desactivación de elementos
13. Mapas
13.1. Mapas gestionados por el cliente
13.2. Cómo usar un mapa
14. Tablas
14.1. Definir las filas
14.2. Definir las celdas
14.3. Título de la tabla
15. Marcos
15.1. Etiqueta <FRAMESET>
15.2. Etiqueta <FRAME>
15.3. Acceso a otros marcos
16. Hojas de estilo
16.1. Clases
16.2. Etiquetas <SPAN> y <DIV>
17. Hojas de estilo: referencia
17.1. Propiedades de bloque
17.2. Propiedades de tipo de letra
17.3. Propiedades de formato del texto
17.4. Propiedades de color y fondo
4
mailxmail - Cursos para compartir lo que sabes
17.5. Propiedades de clasificación
18. Lenguajes de script
18.1. Javascript
19. Capas
19.1. Definición
19.2. Propiedades
20. Sonido
20.1. Sonido activado por el usuario
20.2. Sonido de fondo
21. Guía de estilo
21.1. Contenido
21.2. Navegación
21.3. Estructura de las páginas
21.4. Accesibilidad
21.5. Diseño
21.6. Mantenimiento y pruebas
A. Enlaces a otras páginas
A.1. Otros manuales de HTML
A.2. Sobre JavaScript
A.3. Sobre HTML dinámico
A.4. Sobre otras tecnologías relacionadas
B. FAQ (Preguntas más frecuentes)
B.1. Para comentarme algo o preguntar otra cosa
1.3. Agradecimientos
Este es el agradecimiento del Primer autor de este Manual ya que yo solo trato de
ponerlo nuevamente en linea Ya que el amigo "Daniel Rodriguez" a dado por
abandonado su curso y los enlaces que permitian la comunicacion con el ya no
funcionan, Bueno disfruten del Curso.
Aparte de dar las gracias a todos aquellos que visitan la web y en especial a los que
se toman la molestia de rellenar el formulario de abajo, quiero agradecer
especialmente desde aquí a todos aquellos que han colaborado en mejorar estas
páginas. En especial a Peter Promenade, por indicarme la nueva manera de justificar
el texto en HTML 4.0 y a Juan José Nuevo, por ayudarme con el sonido.
5
mailxmail - Cursos para compartir lo que sabes
2. Versiones del HTML
2.1. HTML 2.0
Cuando se produjo la explosión de Internet el estándar de HTML que circulaba era el
2.0 (establecido en noviembre del 95), de modo que cualquier navegador que
encontremos será capaz de interpretarlo. Prácticamente todo lo que veamos en los
próximos seis capítulos está contemplado por este estándar.
2.2. HTML 3.0 y 3.2
Aunque la versión 2.0 cumplía bien el objetivo para el que se creó, carecía de
herramientas para tener un control mínimamente complejo de los documentos. No
se consideró necesario que lo tuviera, ya que por aquel entonces Internet era un
fenómeno más bien circunscrito a la actividad académica y el contenido primaba
sobre el diseño. Debido a ello, Netscape (líder del mercado de navegadores por
aquel entonces) empezó a incluir etiquetas nuevas no incluidas en ningún estándar.
Por estos problemas, el IETF (el comité que suele decidir todos los estándares
dentro de Internet) comenzó a elaborar el borrador del HTML 3.0, que resultó ser
demasiado grande para la época, lo que dificultó su aceptación en el mercado.
Esto llevó a una serie de compañias (entre ellas Netscape, Microsoft, IBM, Sun, etc...)
a crear un nuevo comité llamado W3C, que es el que actualmente elabora las nuevas
versiones del HTML. Su primer trabajo consistió en crear el borrador del HTML 3.2,
que incluía muchas de las mejoras que los principales navegadores (Netscape y
Explorer) habían introducido en Internet, como son las tablas, los applets, etc..
Este borrador fue aprobado en enero de 1997 e inmediatamente el W3C se puso a
trabajar en la elaboración del siguiente estándar: el 4.0.
2.3. HTML 4.0
En julio de 1997 se presenta el borrador de este estándar. Por fin se estandarizan
los marcos (frames), las hojas de estilo y los scripts (entre otras cosas). El 17 de
diciembre de 1997 dicho borrador fue finalmente aprobado.
2.4. Estándares en este curso
En principio cualquier navegador debería ser capaz de interpretar el HTML 3.2, pero
por si necesitais saber por alguna razón el estándar al que pertenece una etiqueta o
parámetro en particular, se incluirá una de las siguientes indicaciones:
Introducido con la versión 3.2 del HTML
Introducido con la versión 4.0 del HTML
Etiqueta o parámetro no estándar soportado sólo por el Netscape
Etiqueta o parámetro no estándar soportado sólo por el Explorer
6
mailxmail - Cursos para compartir lo que sabes
3. Mi primera página
3.1. El código <HTML> <HEAD> <TITLE>Mi primera pagina</TITLE> </HEAD>
<BODY> <CENTER><H1>Mi Primera pagina</H1></CENTER> <HR> <P>Esta es
mi primera pagina (chispas). Por el momento no se que tendra, pero dentro de poco
pondre aqui muchas cosas interesantes. </BODY> </HTML>
También puedes ver el resultado de este ejemplo.
Mi Primera página
Esta es mi primera pagina (chispas). Por el momento no se que tendra, pero dentro
de poco pondre aqui muchas cosas interesantes.
3.2. La explicación
Lo primero que conviene explicar es en qué consisten todos esos símbolos de mayor
y menor que están distribuidos por ahí. El lenguaje HTML se basa en la sintaxis
SGML (toma siglas). Esto quiere decir que cualquier cosa que hagamos en HTML
estará encerrada entre dos etiquetas de esta manera:
<ETIQUETA parámetros> ... </ETIQUETA>
Hay ocasiones en que no es necesario cerrar la etiqueta. Mirando el código habréis
visto un par de ejemplo que ya explicaré más adelante. Pero como lo primero que
debemos indicar es que el texto que estamos componiendo es un documento HTML
pues lo indicamos así:
<HTML> ... </HTML>
Un documento HTML tiene una estructura que lo separa en dos partes: cuerpo y
cabecera. En la primera estará la página en sí, mientras que en la segunda
incluiremos algunas cosas que no se ven al principio pero que pueden llegar a ser
muy importantes. Lo primero que hay que incluir en el código es la cabecera. La
escribimos:
<HEAD> <TITLE>Mi primera pagina</TITLE> </HEAD>
Dentro de la cabecera sólo hay otra etiqueta. Es la única imprescindible: el título de
la página. Es lo que veremos como título de la ventana en los navegadores que lo
permitan. Es como se conocerá nuestra página en algunos buscadores y en la
agenda de direcciones (bookmarks) de los usuarios. Por tanto, parece importante
pensarnos bien como llamarla.
3.3. El cuerpo del documento
Ahora vamos a indicar el contenido. Lo primero será indicar que estamos en el
cuerpo del documento:
<BODY> ... </BODY>
Luego pondremos el título algo recalcado:
<CENTER><H1> ... </H1></CENTER>
Con esto colocaremos el texto centrado (<CENTER>) y en formato <H1> (cabecera
7
mailxmail - Cursos para compartir lo que sabes
1) que nos asegura que aumentará el tamaño del tipo de letra lo suficiente como
para que se vea bastante resaltado. Luego separamos ese título que le hemos puesto
a la página del texto por medio de una línea horizontal:
<HR>
La línea horizontal carece de etiqueta de cierre. Esto es normal en etiquetas que no
varían los atributos de un texto, sino que insertan un elemento. Por ejemplo, para
indicarle que queremos separar el texto de la línea horizontal con un espacio
vertical correspondiente a un párrafo nuevo le decimos:
<P>Esta es mi primera pagina (chispas). Por el momento no sé que tendrá, pero
dentro de poco pondré aquí muchas cosas interesantes.
En el siguiente capítulo veremos muchas etiquetas que nos permitirán cambiar el
aspecto de nuestros textos.
8
mailxmail - Cursos para compartir lo que sabes
4. Formateo básico
Se pueden establecer varias categorías dentro de las etiquetas usadas para formatear el texto.
Nosotros las dividiremos entre aquellas que sirven para cambiar párrafos enteros y las que son
capaces de formatear tiras de caracteres dentro del párrafo.
4.1. Formato del párrafo
Estas son las etiquetas más importantes (excluyendo algunas que veremos más adelante):
4.1. Formato del párrafo
Estas son las etiquetas más importantes (excluyendo algunas que veremos más adelante):
4.2. Las 6 cabeceras
El HTML nos ofrece seis etiquetas distintas para mostrar cabeceras. Son éstas:
Estas etiquetas se pueden definir como de formato de párrafo pero por su importancia he prefirido
tratarlas aparte. No resulta recomendable utilizarlas para aumentar o disminuir el tamaño del tipo de
letra, ya que cada navegador los muestra de manera diferente. Se usan para dividir correctamente en
secciones nuestra página, tal y como se hace en un documento de texto normal.
4.3. Cambiando el tipo de letra
Todas estas etiquetas nos permiten cambiar de una manera u otra el aspecto del tipo de letra que
9
mailxmail - Cursos para compartir lo que sabes
estemos utilizando y se pueden utilizar con tiras de caracteres dentro de un párrafo.
4.4. Formato de frase
En estos elementos indicas el tipo de información que encierran las etiquetas, pero no como se
representan:
No son muy utilizados, ya que no permiten tener un control exacto de la manera en que la página se
representará finalmente.
4.5. Otros elementos
Por último, debemos estudiar algunas cosas que no son texto y que podemos incorporar a nuestra
página.
10
mailxmail - Cursos para compartir lo que sabes
Aquí
tenemos en un ejemplo casi todas las etiquetas estudiadas.
Mi segunda pagina La primera version de esta pagina
Esta es mi primera pagina (chispas). Por el momento no se que tendra, pero dentro de poco pondre
aqui muchas cosas interesantes.
La primera version de esta pagina, ahora actualizada Esta es mi primera pagina (chispas). Por el
momento no se que tendra, pero dentro de poco pondre; aqui muchas cosas interesantes.
Y esta es la segunda version
Ya tenemos aqui las cosas interesantes. Tenemos a mi novia Loli diciendo que
Como me pongas en tu pagina te atizo.
Tambien podemos a ver a mi querido perro fufu diciendo guau, guau y, sobre todo, el codigo fuente
de este ejemplo:
<HTML> <HEAD> <TITLE>Mi segunda pagina</TITLE> </HEAD> <BODY> <DIV
ALIGN=CENTER><H1>Mi segunda pagina</H1></DIV> <H2>La primera version de esta
página</H2> <HR> <P>Esta es mi primera pagina (chispas). Por el momento no se que tendra, pero
dentro de poco pondre aqui muchas cosas interesantes. <BR><BR><H2>La primera version de esta
pagina, ahora actualizada</H2> <HR> <DIV ALIGN=CENTER>Esta es mi
<STRONG>primera</STRONG> pagina (<I>chispas</I>). Por el momento no se que tendra, pero
<S>dentro de poco</S> pondre <EM>aqui</EM> muchas cosas <B>interesantes</B>.</DIV>
<BR><BR><H2>Y esta es la segunda versión</H2> <P>Ya tenemos aqui las cosas interesantes.
Tenemos a mi novia <BIG>Loli</BIG> diciendo que <BLOCKQUOTE>Como me pongas en tu pagina
te atizo.</BLOCKQUOTE> Tambien podemos a ver a mi querido perro <SMALL>fufu</SMALL>
diciendo <CITE>guau, guau</CITE> y, sobre todo, el codigo fuente de este ejemplo: <PRE> <!--
Aqui estaria el codigo fuente que no voy a poner porque entrariamos en un circulo vicioso.-->
</PRE> </BODY> </HTML>
11
mailxmail - Cursos para compartir lo que sabes
5. Carácteres especiales
Si os habeis fijado en los ejemplos habréis visto que en los textos de los mismos no
hay acentos, ni eñes, ni símbolos de abrir interrogación o exclamación. Esto es
debido a los distintos juegos de caracteres que manejan los ordenadores.
Las máquinas manejan la información en formato binario (es decir, en unos y ceros).
Estos, a su vez, forman números, los cuales se traducen en letras. ¿Cómo? Mediante
tablas. Podemos asignar el valor 64 a la letra a, el 65 a la b, etc..
El problema está en que cada ordenador es de un fabricante distinto y puede
adoptar una tabla diferente al resto. Para evitarlo existen diversos estándares y el
más extendido es el ASCII. De hecho, actualmente todos los ordenadores tienen la
misma tabla ASCII para los primeros 127 caracteres. Pero esa tabla no contiene
vocales con acento, ni eñes, ni símbolos de abrir interrogación o exclamación... Esto
nos pasa por dejar que los norteamericanos sean quienes construyan las
computadoras.
El HTML 2.0 eligió como tabla estándar la ISO-Latin-1, que comparte con la ASCII
los 127 caracteres e incluye unos cuantos más hasta el número 255.
5.1. Caracteres extendidos en HTML
La manera de incluir los caracteres extendidos (cuyo número está más allá del 127)
consiste en encerrar el código entre los caracteres &# y ;. Así pues, lo siguiente:
&#189;
nos debería dar un medio (½). Tambié existe una serie de sinonimos para poder
recordar con más facilidad estos caracteres. Así, por ejemplo, &#189; también se
puede escribir como &frac12;. Vamos a ver algunos de estos códigos, los más útiles
a la hora de escribir en español:
5.2. Caracteres de control
En el HTML existen cuatro caracteres de control, que se usan para formar etiquetas,
establecer parámetros, etc.. Para poder emplearlos sin riesgo deberemos escribir los
12
mailxmail - Cursos para compartir lo que sabes
siguiente códigos:
13
mailxmail - Cursos para compartir lo que sabes
6. Enlaces
Las siglas HTML significan HyperText Markup Language, lo que para nosotros quiere
decir que es un lenguaje para hipertexto. Existen múltiples formatos de hipertexto
(por ejemplo, los ficheros de ayuda de Windows) y lo que tienen en común es que
todos poseen enlaces.
Un enlace es una zona de texto o gráficos que si son seleccionados nos trasladan a
otro documento de hipertexto o a otra posición dentro del documento actual.
Siendo HTML el lenguaje de Internet, la diferencia que posee con respecto a otros
tipos de hipertexto es que ese otro documento puede estar físicamente en la otra
punta del planeta. Son los enlaces lo que hacen de la telaraña o World Wide Web lo
que es.
6.1. La etiqueta <A>
Para incorporar un enlace hay que utilizar esta etiqueta. Todo lo que encerremos
entre <A> y </A>, ya sea texto o imágenes, será considerado como enlace y sufrirá
dos modificaciones:
Se visualizará de manera distinta en el navegador. El texto aparecerá subrayado y de
un color distinto al habitual, y las imágenes estarán rodeadas por un borde del
mismo color que el del texto del enlace. Al pulsar sobre el enlace, seremos enviados
al documento que apuntaba el enlace.
Para que el enlace sirva para algo debemos especificarle una dirección. Lo haremos
de la siguiente manera:
<A HREF="direccion">Pulsame</A>
La dirección estará en formato URL (Uniform Resource Locator).
6.2. Las URLs
Una URL nos indica tanto una dirección de Internet como el servicio que esperamos
nos ofrezca el servidor al que corresponde la dirección. Tiene el siguiente formato:
servicio://máquina:puerto/ruta/fichero@usuario
donde el servicio podrá ser uno de los siguientes:
http
Es el servicio invocado para transmitir páginas web y el que usaremos normalmente
en los enlaces.
https
Es una innovación sobre el anterior, que nos permite acceder a servidores
(generalmente comerciales) que nos ofrecen el uso de técnicas de enciptación para
proteger los datos que intercambiemos con él de terceras personas.
ftp
Permite trasmitir ficheros desde servidores de ftp anónimo. Si no le pedimos un
fichero sino un directorio, en general el navegador se encargará de mostrarnos el
contenido del mismo para que podamos escogerlo cómodamente. Utilizando la @
podremos acceder a servidores privados.
mailto
14
mailxmail - Cursos para compartir lo que sabes
Para poder mandar un mensaje. Por ejemplo, la URL mailto:multivac@idecnet.com
me mandaría un mensaje a mí.
news
Para poder acceder a foros de discusión (mal traducidos a veces como grupos de
noticias). Se indica el servidor y el grupo. Por ejemplo
news://news.ibernet.es/es.comp.demos nos conectaría con el foro es.comp.demos
en el servidor nacional de Telefónica.
telnet
No es implementado generalmente por los navegadores, que suelen invocar un
programa externo. Nos permite conectarnos con otros ordenadores y entrar en ellos
como si nuestro ordenador fuese una terminal del mismo.
La dirección de la máquina puede ser, o bien una serie de cuatro números entre 0 y
255 (123.3.5.65) o bien algo más facil de recordar como es una serie de palabras
separadas por puntos (www.programacion.net). El puerto generalmente no se indica,
ya que el servicio predetermina uno.
La ruta es una serie de directorios separados por el símbolo /, que es el utilizado en
UNIX (el sistema operativo más extendido en los servidores de Internet).
Existe otro formato de URL. Cuando queremos acceder a un fichero situado en la
misma máquina que la página web que estamos creando podemos utilizar este
formato:
ruta_relativa/fichero
En la ruta relativa podremos utilizar los dos puntos (..) para acceder al directorio
padre o comenzar con la barra diagonal (/) para acceder a una ruta absoluta dentro
de nuestro ordenador.
6.3. Anclas
Como dijimos, es posible acceder a una posición del documento HTML. Para
hacerlo, primero debemos especificar el lugar del documento al que queremos
acceder:
<A NAME="ancla">
Para poder ver bien como funciona, he colocado un ancla de ejemplo en el título de
la sección 6.2. Para poder acceder a ese lugar incluimos el enlace de esta manera:
<A HREF="#ancla">Vamos a donde antes</A>
También podemos acceder a anclas situadas en documentos remotos. Para ello
añadiremos el nombre del ancla al URL así:
<A HREF="enlaces.html#ancla">Otra vez</A>
15
mailxmail - Cursos para compartir lo que sabes
7. Listas
Existen varios tipos de listas en HTML. Todas ellas se pueden meter unas dentro de otras formando
árboles muy bonitos y preciosos. Todos los tipos siguen el siguiente formato:
<tipo_lista> <LI>Primer elemento <LI>Segundo elemento </tipo_lista>
tipo_lista puede ser una de las siguientes: DIR, DL, MENU, OL y UL.
7.1. Listas desordenadas
La etiqueta <UL> nos permite presentar listas de elementos sin orden alguno. Cada elemento de la
lista irá normalmente precedido por un círculo. Por ejemplo,
<UL> <LI>Primer elemento <LI>Segundo elemento </UL>
se verá como
Primer elemento Segundo elemento
La etiqueta <UL> admite estos parámetros:
También son listas desordenadas aquellas que utilizan las etiquetas <DIR> y <MENU>. En principio
tenían como propósito representar una lista estilo directorio (multicolumna) o tipo menú (una sola
columna). En la práctica los navegadores lo han implementado como sinonimos de <UL>, por lo que
no los estudiaremos aquí.
7.2. Listas ordenadas
La etiqueta <OL> nos permite presentar listas de elementos ordenados de menor a mayor.
Normalmente cada elemento de la lista irá precedido por su número en el orden. Por ejemplo,
<OL> <LI>Primer elemento <LI>Segundo elemento </OL>
se verá como
Primer elemento Segundo elemento
La etiqueta <OL> admite estos parámetros:
16
mailxmail - Cursos para compartir lo que sabes
7.3. Listas de definiciones
Este es el único tipo de lista que no utiliza la etiqueta <LI>. Al tener como objetivo presentar una lista
de definiciones, de modo que tiene que representar de manera distinta el objeto definido y la
definición. Esto se hace por medio de las etiquetas <DT> y <DD>:
<DL> <DT>Primer elemento<DD>Es un elemento muy bonito. <DT>Segundo elemento<DD>Este,
en cambio, es peor. </DL>
se verá como
Primer elemento
Es un elemento muy bonito.
Segundo elemento
Este, en cambio, es peor.
La etiqueta <DL> sólo admite como parámetro el ya conocido COMPACT, que tiene el mismo
comportamiento que con los otros dos tipos de lista anteriores.
17
mailxmail - Cursos para compartir lo que sabes
8. Imágenes
Para incluir gráficos e imágenes en nuestras páginas utilizaremos la etiqueta <IMG>
de esta manera:
<IMG SRC="fichero_grafico" ALT="descripcion">
El parámetro SRC especifica el nombre del fichero que contiene el gráfico. Los
formatos estándar en la red son el GIF y el JPG. La últimas versiones de Netscape y
Explorer aceptan también el formato PNG.
El parámetro ALT especifica el texto que se mostrará en lugar del gráfico en
aquellos navegadores que no sean capaces de mostrarlos (como el Lynx) y en el
supuesto de que el usuario los haya desactivado. Algunos navegadores lo muestran
cuando pasamos el ratón por encima de la imagen. Es por eso que, aunque algunos
usuarios no lo lleguen a ver nunca, conviene ponerlo siempre. De hecho, el estádar
HTML 4.0 obliga a hacerlo.
Existen dos atributos que, aunque opcionales, conviene indicar siempre: la altura y
la anchura del gráfico en pixels. De este modo, el navegador puede mostrar un
recuadro del tamaño de la imagen mientras la va leyendo de la red y así poder
mostrar el resto de la página correctamente mientras tanto.
<IMG SRC="graficos/dwnldns.gif" ALT="Netscape 4.0" WIDTH=88 HEIGHT=31>
Para los menos avezados en inglés, decir que WIDTH es la anchura y HEIGHT la
altura.
8.1. Imágenes y enlaces
Suele ser común incluir enlaces dentro de un gráfico. En ese caso, por defecto, los
navegadores le pondrán un borde al gráfico para indicar que efectivamente es un
enlace. Práctico, pero la mayoría de las veces bastante poco estético. Por medio del
parámetro BORDER podremos alterar el grosor de ese borde o incluso eliminarlo
poniendolo a cero.
<A HREF="http://www.netscape.com"> <IMG SRC="graficos/dwnldns.gif"
ALT="Netscape 4.0" WIDTH=88 HEIGHT=31> </A>
Se ve así:
Sin embargo,
<A HREF="http://www.netscape.com"> <IMG SRC="graficos/dwnldns.gif"
ALT="Netscape 4.0" WIDTH=88 HEIGHT=31 BORDER=0> </A>
8.2. Alineación respecto al texto
Para poder maquetar conjuntamente texto y gráficos, el HTML proporciona, por
medio del parámetro ALIGN, las siguientes maneras de alinear una imagen respecto
del texto que la acompaña:
Hay que aclarar que la base del texto es la línea donde descansan casi todas las
letras del alfabeto excepto algunas como la p, la g o la j.
18
mailxmail - Cursos para compartir lo que sabes
19
mailxmail - Cursos para compartir lo que sabes
9. Formateo fino
Lo ideal cuando trabajas con texto sería poder cambiarlo al tamaño que te viniese
bien, ponerlo de colorines y cambiar el tipo de letra. Todo esto puedes hacerlo
gracias a la etiqueta <FONT>.
9.1. Cambio de color
Para hacerlo vamos a utilizar el parámetro COLOR. La manera de especificarle el
color es común a todas las etiquetas HTML: o bien indicando el nombre, si es un
color normal, o bien especificando el porcentaje de rojo, verde y azul (código RGB)
del mismo. Los colores reconocidos son los siguientes:
<FONT color="red">Estoy en rojo</FONT>
El modo de indicar el color RGB es el siguiente:
<FONT COLOR="#FF0000">D</FONT> <FONT COLOR="#EF0000">E</FONT>
<FONT COLOR="#DF0000">G</FONT> <FONT COLOR="#CF0000">R</FONT>
<FONT COLOR="#BF0000">A</FONT> <FONT COLOR="#AF0000">D</FONT>
<FONT COLOR="#9F0000">A</FONT> <FONT COLOR="#8F0000">D</FONT>
<FONT COLOR="#7F0000">O</FONT>
Lo que nos mostraría lo siguiente:
DEGRADADO
La primera componente en hexadecimal es el rojo, la segunda el verde y la tercera el
azul (Red Green Blue, RGB).
9.2. Tamaños del texto
El parámetro utilizado para indicar el tamaño es SIZE. Puede utilizarse para indicar
tamaños absolutos:
SIZE=1 SIZE=2 SIZE=3 SIZE=4 SIZE=5 SIZE=6 SIZE=7
El tamaño por defecto es 3. También se puede utilizar los modificadores + y - para
indicar un incremento (o decremento) relativo del tamaño del tipo de letra. Así, por
ejemplo, si indicamos que queremos un tamaño de -2 estaremos pidiendo al
navegador que nos muestre el tipo de letra dos veces más pequeño.
<FONT SIZE=2>Tamaño 2<FONT SIZE="+3"> Tamaño 6</FONT></FONT>
9.3. Tipo de letra
Por último, podemos especificar el nombre del tipo de letra que queremos utilizar
gracias al parámetro FACE. Como en principio no tenemos manera de saber que tipo
de letra tiene instalado el ordenador del usuario que está viendo nuestras páginas,
20
mailxmail - Cursos para compartir lo que sabes
podemos indicar más de uno separado por comas. Si el navegador no encuentra
ninguno seguirá utilizando el que tiene por defecto:
<FONT FACE="Helvetica,Arial,Times">No sé como voy a salir exactamente</FONT>
De todos modos es recomendable no utilizar con fe ciega este atributo en Internet,
ya que impide que todos puedan ver nuestras páginas como nosotros. E Internet,
siempre que nos lo permitan Microsoft y Netscape, debe ser lo más estándar
posible.
21
mailxmail - Cursos para compartir lo que sabes
10. Estructura del documento
La estructura de un documento HTML se puede resumir así:
tipo de documento <HTML> <HEAD> <TITLE>titulo de la página</TITLE> cosas que afectan a la
página pero no a su contenido </HEAD> <BODY parámetros> contenido de la página </BODY>
</HTML>
En el tipo de documento deberemos especificar a que estándar del HTML responde nuestra página
entre una de las siguientes opciones:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
Cumple el estándar HTML 2.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
Cumple el estándar HTML 3.2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://w3.org/TR/REC-html40/loose.dtd">
Cumple el estándar HTML 4.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://w3.org/TR/REC-html40/strict.dtd">
Cumple el estándar HTML 4.0 y no contiene además elementos desaconsejables
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
"http://w3.org/TR/REC-html40/frameset.dtd">
Es una definición de marcos que cumple el estándar HTML 4.0
El HTML 4.0 considera desaconsejables aquellos elementos que, aún siendo soportados, han sido
sustituidos por otros más potentes y, por ello, es posible que sean eliminados del estándar HTML en
el futuro.
10.1. La cabecera
Suele ser el lugar más indicado para colocar aquellos elementos de la página que no alteren el
contenido de la misma, aunque si la forma de presentarlo y su comportamiento. Es por eso que es el
lugar más recomendable para colocar losscripts y las hojas de estilo, como veremos en los capítulos
correspondientes.
Además del título de la página, uno de los elementos que se pueden incluir aquí son los META. Entre
otras cosas, sirven para indicar propiedades de la página como pueda ser el nombre de su autor. Por
ejemplo,
<META NAME="GENERATOR" CONTENT="Mozilla/4.03 [es] (Win95; I) [Netscape]">
nos indicaría la herramienta con que hemos creado la página (en este caso la versión 4.03 en español
para Windows 95 del Composer de Netscape). Estas son las propiedades más comunes:
Hay también otro elemento interesante que podremos incluir en nuestras cabeceras. Cuando
especificamos una URL relativa en un enlace, en principio es para acceder a una página situada en
nuestro mismo servidor. Sin embargo, si especificamos:
<BASE HREF="http://www.hornet.org/music">
Ahora todas nuestras URLs relativas se referirán al directorio /music dentro del servidor http://www.hornet.org
http://www.hornet.org.
10.2. El cuerpo
22
mailxmail - Cursos para compartir lo que sabes
Obviamente no voy a explicar lo que entra dentro del cuerpo (prácticamente todos los capítulos del
curso intentan hacerlo) sino los parámetros que admite la etiqueta <BODY>:
No resulta recomendable cambiar los colores del texto y enlaces a no ser que exista alguna dificultad
al leerlos por haber cambiado el fondo, ya que en muchas ocasiones el usuario ha podido cambiarlos
en las opciones de su navegador y estarán ya a su gusto.
23
mailxmail - Cursos para compartir lo que sabes
11. Formularios
Una de las mayores ventajas de la web es que resulta tremendamente interactiva.
Los usuarios de una página no tienen más que escribir al autor de la misma para
comentarle cualquier cosa de la misma. Sin embargo, si deseamos que nos digan
sólo unas cosas concretas (responder a alguna pregunta, seleccionar entre varias
opciones, etc..) deberemos utilizar formularios. Por ejemplo,
<FORM ACTION="" METHOD=POST> Nombre:<BR><INPUT NAME="nombre"
TYPE=TEXT SIZE=32> <BR>¿Cuantos son dos y dos?<BR> <INPUT
NAME="Respuesta" TYPE=RADIO VALUE="mal">3<BR> <INPUT NAME="Respuesta"
TYPE=RADIO VALUE="bien">4<BR> <INPUT NAME="Respuesta" TYPE=RADIO
VALUE="mal">5<BR> <INPUT TYPE="Submit" VALUE="Comprobar"> </FORM>
se verá así:
El botón no hace nada porque no hemos definido qué debe hacer, así que sed
buenos y no lo pulséis.
Todos los elementos de un formulario deben estar encerrados entre <FORM> y
</FORM>. Como parámetros cabe destacar tres. ACTION define el URL que deberá
gestionar el formulario. Puede ser una dirección de correo (precedida del inevitable
mailto:, en cuyo caso deberemos añadir el parámetro ENCTYPE="text/plain" para
que lo que recibamos resulte legible.
Por otro lado, tenemos el parámetro METHOD define la manera en que se mandará
el formulario. Es recomendable utilizar POST. En el caso de que estemos mandando
el formulario a nuestra dirección de correo electrónico es obligado usarlo.
Ahora vamos a ver uno a uno todos los elementos que podemos incluir en un
formulario. Veremos que todos ellos tienen algo en común. Como el resultado de
cualquier formulario es una lista de variables y valores asignados a las mismas,
todos ellos tendrán un atributo en común: el nombre de su variable. El parámetro
también será común a todos: NAME.
11.1. Cajas de texto
Existen tres maneras de conseguir que el usuario introduzca texto en nuestro
formulario. Las dos primeras se obtienen por medio de la etiqueta <INPUT>:
<INPUT TYPE=TEXT>
<INPUT TYPE=PASSWORD>
24
mailxmail - Cursos para compartir lo que sabes
El primero nos dibujará una caja donde escribir un texto (de una sola línea). El
segundo es equivalente, pero no veremos lo que tecleemos en él. Estos son los
atributos para modificarlos:
Por otro lado, puede que necesitemos que el usuario pueda introducir más de una
línea. En ese caso se utilizará la siguiente etiqueta:
<TEXTAREA>
Por defecto
</TEXTAREA>
Por defecto
Lo que incluyamos entre las dos etiquetas será lo que se muestre por defecto dentro
de la caja. Admite estos parámetros:
11.2. Opciones
Si lo que deseamos es que el usuario decida entre varias opciones podremos hacerlo
de dos modos. El primero es el que vimos en el ejemplo inicial:
3<INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal"><BR>
4<INPUT NAME="Respuesta" TYPE=RADIO VALUE="bien"><BR>
5<INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal"><BR>
3
4
5
Para asociar varios botones de radio a una misma variable les pondremos a todos
ellos el mismo NAME. Aparte de esto acepta los siguientes parámetros:
Parámetro Utilidad
VALUE Este es el valor que asignará a la variable.
CHECKED
Si lo indicamos en una de las opciones esta será la que esté
activada por defecto.
Pero también tenemos una posibilidad que ocupa bastante menos: las listas
desplegables. Para emplearlas deberemos utilizar dos etiquetas, SELECT y OPTION:
25
mailxmail - Cursos para compartir lo que sabes
<SELECT NAME="Navegador">
<OPTION>Netscape
<OPTION>Explorer
<OPTION>Opera
<OPTION>Lynx
<OPTION>Otros
</SELECT>
Netscape Explorer Opera Lynx Otros
Los parámetros que admite SELECT son las siguientes:
Parámetro Utilidad
SIZE
El número de opciones que podremos ver. Si es mayor que 1
veremos una lista de selección y, si no, veremos una lista
desplegable.
MULTIPLE Si lo indicamos podremos elegir más de una opción.
Y OPTION estos:
Parámetro Utilidad
VALUE Este es el valor que asignará a la variable.
SELECTED
Si lo indicamos en una de las opciones esta será la seleccionada
por defecto.
11.3. Botones del formulario
Existen dos: uno que se utiliza para mandar el formulario y otro que sirve para
limpiar todo lo que haya rellenado el usuario:
<INPUT TYPE=SUBMIT><BR>
<INPUT TYPE=RESET>
Podemos cambiar el texto que el navegador pone por defecto en esos botones
utilizando el parámetro VALUE.
11.4. Otros elementos
Puede que necesitos que el usuario sencillamente nos confirme o niegue algo. Lo
podremos conseguir por medio de controles de confirmación:
<INPUT NAME="Belleza" TYPE=CHECKBOX>Me
considero guapo/a
Me considero
guapo/a
Si queremos que el control esté activado por defecto le añadiremos el parámetro
CHECKED. El formulario asignará a la variable NAME el valor on u off.
Por último, existe la posibilidad de que necesitemos que, en el formulario, tengamos
alguna variable con un valor previamente asignado. Por ejemplo, en todos los cursos
26
mailxmail - Cursos para compartir lo que sabes
que tengo el formulario es el mismo. Y de alguna manera tendré que distinguirlos
cuando me lleguen, digo yo. Así que incluyo algo como esto:
<INPUT TYPE=HIDDEN NAME="Curso" VALUE="HTML 4.0">
De este modo ya sé de que curso me están hablando.
27
mailxmail - Cursos para compartir lo que sabes
12. Controles avanzados para formularios
El estándar HTML 4.0 ha traído varias mejoras a los formularios, que acercan los
mismos a las características que tienen en lenguajes como Java o Visual Basic.
Desafortunadamente, el Netscape 4, lanzado al mercado antes de la aprobación del
HTML 4.0, no implementa ninguna de estas mejoras, por lo que los ejemplos de
este capítulo sólo serán contemplados correctamente por los usuarios de Explorer 4
y 5 y los arriesgados usuarios de las versiones beta del futuro Netscape 5.
12.1. Botones
Una de las cosas que más han mejorado son los botones. Ahora disponen de una
etiqueta propia, de modo que se pueda encerrar con ella todo tipo de elementos
HTML, como gráficos o, incluso, tablas enteras.
Como no podía ser de otra manera, la etiqueta en cuestión se llama BUTTON:
<BUTTON TYPE="button">
<table border="1">
<tr>
<th>Soy una</th>
<th>tabla</th>
< / t r >
<tr>
<td>que está</td>
<td>en un botón</td>
< / t r >
</table>
</BUTTON>
Soy una tabla
que está en un botón
Los parámetros de dicha etiqueta son los normales, TYPE, que podrá tomar los
valores SUBMIT (por defecto), RESET y BUTTON, NAME y VALUE.
Por otro lado, ahora podemos declarar un gráfico como un elemento más de
entrada. como un nuevo tipo dentro del elemento INPUT:
<INPUT TYPE="image" SRC="graficos/nav.gif" alt="Elije navegador">
Este elemento se comportará de mismo modo que un botón de tipo SUBMIT, pero
añadirá como información en el formulario las coordenadas x e y donde el usuario lo
pulsó.
12.2. Etiquetas
Hasta hora, el texto que acompañaba a los campos de entrada no estaba asociado a
los mismos de ninguna manera. Así, por ejemplo, si pulsábamos en el texto que
acompañaba a un control de confirmación, no sucedía nada. Ahora, en cambio, si
utilizamos la etiqueta LABEL, el control cambiará de estado (sólo disponible en
28
mailxmail - Cursos para compartir lo que sabes
utilizamos la etiqueta LABEL, el control cambiará de estado (sólo disponible en
Netscape 5):
<LABEL>
<INPUT NAME="Belleza" TYPE=CHECKBOX>
Me considero guapo/a
</LABEL>
Me considero guapo/a
Lo bueno que tiene es que se puede usar sin peligro, ya que no afectará a los
usuarios de navegadores antiguos.
12.3. Agrupación de elementos
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 imágenes.
Ahora, si encerramos una parte de un formulario dentro de la etiqueta FIELDSET se
mostrará un rectángulo alrededor de los mismos. Si además, le indicamos un título
por medio de la etiqueta LEGEND nuestros formularios quedarán hechos un
verdadero primor:
<FIELDSET>
<LEGEND>Mi hermoso
formulario</LEGEND>
<LABEL>
Mi texto:
<INPUT TYPE="text">
</LABEL>
</FIELDSET>
Mi hermoso formularioMi
texto:
LEGEND admite como parámetro ALIGN, que indicará en qué lugar se coloca el título.
Por defecto es TOP (arriba), pudiendo estar también abajo (BOTTOM), a la izquierda
(LEFT) o a la derecha (RIGHT).
12.4. Desactivación de elementos
Todos los controles de un formulario se pueden desactivar, impidiendo así al
usuario que los utilice. Se seguirán mostrando en pantalla, aunque con un aspecto
distinto para indicar su triste estado. Para ello sólo tenemos que indicarle el
parámetro DISABLED:
<LABEL DISABLED>Texto:
<INPUT TYPE=TEXT DISABLED>
</LABEL>
Texto:
29
mailxmail - Cursos para compartir lo que sabes
Esto, en principio, no parece de demasiada utilidad. ¿Para qué queremos tener
controles desactivados? Para eso no los ponemos, ¿no? Lo bueno que tiene es que el
estado de activación de un control es accesible desde JavaScript. Eso nos permitirá
activar o desactivar una parte de nuestro formulario dependiendo de lo que el
usuario haya introducido previamente en otros controles del mismo.
30
mailxmail - Cursos para compartir lo que sabes
13. Mapas
Hemos visto que podemos hacer enlaces de texto y de gráficos. Pero también existe
otra posibilidad: que dentro de una sola imagen podamos acceder a varios enlaces.
Se hace declarando zonas dentro de la imagen (rectángulos, círculos, etc..), siendo
cada una de ellas un enlace distinto. Tradicionalmente, siempre han existido dos
maneras de hacerlo:
Mapas gestionados por el cliente (el navegador). Mapas gestionados por el servidor.
Los segundos fueron los primeros en desarrollarse y estaban incluidos dentro del
estándar HTML 2.0. Sin embargo, nunca hubo una manera común de gestionar esos
mapas. Debido a ello, Netscape elaboró un sistema propio que fue incluido en el
estándar 3.2: los mapas gestionados por el navegador.
13.1. Mapas gestionados por el cliente
Para utilizarlos necesitaremos dos cosas: declarar el mapa y asignarlo a una imagen.
Vamos primero a declarar nuestro mapa:
<MAP NAME="mi_mapa"> <AREA SHAPE=... COORDS=... ALT="Enlace a.."> ...
</MAP>
Dentro de la etiqueta MAP sólo podremos definir el nombre del mapa (algo
imprescindible, por otra parte). Es dentro de cada elemento AREA donde podremos
definir cosas más interesantes:
Parámetro Utilidad
SHAPE
Define la forma de la zona, que podrá ser rectangular, circular o
poligonal.
COORDS
Coordenadas (separadas por comas) que definen la zona. El
número y significado de esas coordenadas dependerá de la zona.
HREF URL a donde irá el usuario si pulsa sobre esa zona.
NOHREF Especifica que esa zona no tiene asignado enlace alguno.
ALT
Texto que se presentará en lugar de la imagen en navegadores no
gráficos para acceder al enlace.
Como podemos ver, para declarar correctamente una zona necesitamos conocer
cómo se definen exactamente las formas y coordenadas:
SHAPE COORDS
Rectangular RECT
"x1,y1,x2,y2" siendo (x1,y1) la esquina superior
izquierda y (x2,y2) la inferior derecha.
Circular CIRC
"x,y,radio" siendo (x,y) el centro del círculo y radio
su... eehh.. ¿cómo lo diría yo? ¿Su radio?.
"x1,y1,x2,y2,x3,y3,..." definiendo cada pareja (x,y)
31
mailxmail - Cursos para compartir lo que sabes
Polígono
irregular
POLY
"x1,y1,x2,y2,x3,y3,..." definiendo cada pareja (x,y)
una esquina del polígono. La última pareja de
coordenadas se unirá a la primera para cerrar el
polígono.
Toda la
imagen
DEFAULT No se indican.
13.2. Cómo usar un mapa
Ahora que hemos definido un mapa, sólo queda asignarlo a una imagen. Esto se
hace del siguiente modo:
<IMG SRC=... USEMAP="#mi_mapa">
Siempre tenemos que añadir al comienzo del nombre de nuestro mapa una
almohadilla (#). Vamos a ver un ejemplo:
<MAP NAME="navegadores"> <AREA SHAPE=RECT COORDS="0,0,24,31"
HREF="http://www.netscape.com" ALT="Netscape"> <AREA SHAPE=RECT
COORDS="26,0,53,31" HREF="http://www.microsoft.com" ALT="Microsoft"> <AREA
SHAPE=DEFAULT NOHREF ALT="Nada"> </MAP> <IMG SRC="nav.gif" WIDTH=53
HEIGHT=31 BORDER=0 USEMAP="#navegadores">
Hay que tener en cuenta que, cuando dos zonas se solapan, la que esté declarada
primero es la que tiene preferencia. Por eso declaramos al final una zona que no
conduce a ningún URL por si el usuario pulsa con el ratón donde no debe.
32
mailxmail - Cursos para compartir lo que sabes
14. Tablas
Las tablas son posiblemente la manera más clara de organizar la información. También es el modo
más adecuado de maquetar texto y gráficos de una manera algo más controlada que con los
parámetros ALIGN.
Las tablas se definen de la siguiente manera. Primero, las características de la tabla, luego las de cada
fila y dentro de ésta, cada celda. Así pues, una tabla con 2 filas y 3 columnas se declarará así:
Como podéis ver (o mejor no ver) la tabla no tiene mucho aspecto de tabla. Quedaría mejor con unos
bordes, ¿no? Puede que tampoco le viniese mal mayor espacio entre celdas o mayor anchura. Estas
son las cosas que podremos cambiar con los atributos de TABLE:
Si ahora, por ejemplo definimos ahora la tabla anterior como <TABLE BORDER=1 WIDTH="50%"
ALIGN=CENTER> veremos lo siguiente:
14.1. Definir las filas
Ahora que hemos definido la tabla nos toca hacer lo mismo con las filas. Cada fila se define con una
etiqueta TR, que tiene los siguientes atributos:
14.2. Definir las celdas
Por último, nos queda definir cada celda gracias a la etiquetas TD y TH. Estas etiquetas son
equivalentes, pero la última se utiliza para encabezados, de modo que su interior se escribirá por
defecto en negrita y centrado. Estos son los atributos de ambas:
33
mailxmail - Cursos para compartir lo que sabes
Posiblemente los dos últimos parámetros no puedan quedar claros sin ejemplos. De hecho, aún
entendiendo perfectamente su función es habitual que confundamos a uno con otro. Pero bueno,
vamos a ver una tabla de 3x3 con una celda que se une a una de la derecha y otra que se une a otra
de debajo:
Como podemos ver, cuando declaramos un celda con ROWSPAN o COLSPAN, no deberemos declarar
las celdas "absorbidas" o la creación de la tabla se nos complicará de horrible manera.
14.3. Título de la tabla
Por último, vamos a ver como definir un título a la tabla. Esto se hace por medio de la etiqueta
CAPTION. Para ver cómo funciona, vamos a incluirlo en la declaración de la tabla anterior:
Esta etiqueta admite sólo un parámetro: ALIGN, que es por defecto TOP. Si lo definimos como
BOTTOM el título se colocará al final de la tabla en lugar del comienzo.
34
mailxmail - Cursos para compartir lo que sabes
15. Marcos
Un marco (o frame) es una ventana independiente dentro de la ventana general del navegador. Cada marco tendrá sus bordes y
sus propias barras de desplazamiento. Así cada página se dividirá en la práctica en varias páginas independientes.
Para crearlos necesitaremos un documento HTML específico, que llamaremos documento de definición de marcos. En él
especificaremos el tamaño y posición de cada marco y el documento HTML que contendrá. Vamos a ver un ejemplo de este tipo
de documento:
<HTML> <HEAD> <TITLE>Mi primera página con marcos</TITLE> </HEAD> <FRAMESET COLS="20%,80%"> <FRAME
NAME="indice" SRC="indice.html"> <FRAME NAME="principal" SRC="introduccion.html"> <NOFRAMES> <P>Lo siento, pero
sólo podrás ver esta página si tu navegador tiene la capacidad de visualizar marcos.</P> </NOFRAMES> </FRAMESET>
</HTML>
Vamos a explicar detalladamente este ejemplo antes de investigar algo más a fondo cada una de las etiquetas. Vemos que la
cabecera de la página es similar a un documento normal, pero el habitual BODY es sustituido por un FRAMESET. En cada
FRAMESET se divide la ventana actual (sea la general o un marco) en varias ventanas definidas o por el parámetro COLS o por
ROWS. En éste, separado por comas, se define el número de marcos y el tamaño de cada uno.
Dentro del <FRAMESET> se hacen dos cosas. Primero, definir cada uno de los marcos poniendoles un nombre y especificando
qué fichero HTML le corresponde mediante la etiqueta <FRAME>. Por último, especificamos lo que verá el usuario en el
supuesto (cada vez más raro) de que su navegador no soporte frames dentro de la etiqueta <NOFRAMES>. Ahora veremos todos
estos elementos en mayor detalle.
15.1. Etiqueta <FRAMESET>
Según el estándar, esta etiqueta sólo debería contener el número y tamaño de cada marco, pero las extensiones de Netscape y
Explorer al estándar obligan a estudiar un par de parámetros más.
En general, los navegadores dibujan un borde de separación entre los marcos. Si deseas eliminarlo puedes hacerlo de dos
maneras: en las etiquetas <FRAME> de cada una de los marcos contiguos al borde a eliminar o incluyendo el parámetro
FRAMEBORDER=0 en el <FRAMESET>.
Cuando eliminas ese borde, podrás ver cómo el navegador deja aún un hueco entre marcos. Este se elimina añadiendo los
parámetros FRAMESPACING=0 BORDER=0.
Vamos a examinar por último los parámetros COLS y ROWS. Deberemos asignarles una lista de tamaños separada por comas.
Se admiten los siguientes formatos de tamaño:
Con porcentajes: Al igual que con las tablas, podemos definir el tamaño de un marco como un porcentaje del espacio total
disponible. Absolutos: Si ponemos un número a secas, el marco correspondiente tendrá el tamaño especificado en pixels. Sobre el espacio so
Sobre el espacio sobrante: Si colocamos un asterisco (*) estaremos indicando que queremos todo el espacio sobrante para ese
marco. Podemos poner este símbolo en varios marcos, que se repartirán el espacio equitativamente como buenos hermanos. Si
queremos que uno tenga más deberemos ponerle al asterisco un número delante. Así, un marco con un espacio de 3* será tres
veces más grande que su compañero, que tiene un asterisco sólo, el pobre.
35
mailxmail - Cursos para compartir lo que sabes
Por ejemplo, el siguiente código es una muestra de cómo combinar los tres métodos:
<FRAMESET COLS="10%,*,200,2*">
Supongamos que el ancho total de la ventana son 640 pixels. El primer marco ocupará el 10%, es decir, 64 pixels. El tercero
necesita 200, luego nos quedan 476 para los otros dos. Como el cuarto debe tener el doble de espacio que el segundo, tenemos
aproximadamente 158 pixels para este último y 316 para el cuarto marco.
Hay que tener cuidado cuando usamos valores absolutos en la definición de marcos; debemos asegurarnos de tener al menos un
marco con un tamaño relativo si queremos estar seguros del aspecto final de la página.
Por último, indicar que las etiquetas <FRAMESET> se pueden anidar. Esto se hace poniendo otro <FRAMESET> donde
normalmente colocamos las etiquetas <FRAME> tal que así:
<FRAMESET COLS="20%,80%"> <FRAME NAME="indice" SRC="indice.html"> <FRAMESET ROWS="*,80"> <FRAME
NAME="principal" SRC="introduccion.html"> <FRAME NAME="ejemplos" SRC="ejemplo.html"> </FRAMESET> </FRAMESET>
15.2. Etiqueta <FRAME>
Esta etiqueta define tan sólo las características de un marco determinado, no de un conjunto de ellos. Estos son los parámetros
que admite:
Parámetro Utilidad
NAME Asigna un nombre a un marco para que después podamos referirnos a él.
SRC Indica la dirección del documento HTML que ocupará el marco.
SCROLLING
Decide si se colocan o no barras de desplazamiento al marco para que podamos movernos por su contenido.
Su valor es por defecto AUTO, que deja al navegador la decisión. Las otras opciones que tenemos son YES y
NO.
NORESIZE Si lo especificamos el usuario no podrá cambiar de tamaño el marco.
FRAMEBORDER
Al igual que su homónimo en la etiqueta <FRAMESET>, si lo igualamos a cero se eliminará el borde con
todos los marcos contiguos que tengan también este valor a cero.
MARGINWIDTH Permite cambiar los márgenes horizontales dentro de un marco. Se representa en pixels.
MARGINHEIGHT Igual al anterior pero con márgenes verticales.
15.3. Acceso a otros marcos
Por defecto, cuando pulsamos sobre un enlace situado dentro de un marco, la nueva página a la que queremos acceder la
veremos encerrada en ese mismo marco. Es posible que deseemos que esto no ocurra. Por ejemplo, si tenemos un marco que
no sirve de índice y otro donde mostramos los contenidos sería deseable que los enlaces del marco índice se abrieran en el otro
marco. Esto es posible hacerlo gracias al parámetro TARGET.
Este parámetro se puede colocar en tres etiquetas: <A>, <AREA> y <BASE>. En las dos primeras sirve para indicar el marco en
el que abriremos ese enlace en particular y el último modificaremos el marco en el que por defecto se nos muestran todos los
enlaces.
Pero para que un parámetro funcione, es habitual que le asignemos un valor, y TARGET no es una excepción. Para indicarle el
marco que deseamos le asignaremos el nombre del mismo. Así, en los ejemplos anteriores, si en el marco llamado indice
tenemos un enlace que queremos se abra en el marco principal pondremos:
<A HREF="pagina.html" TARGET="principal">
También existen cuatro nombres reservados que podremos utilizar en el parámetro TARGET:
_top
Elimina todos los marcos existente y muestra la nueva página en la ventana original sin marcos.
_blank
Muestra la nueva página en una ventana nueva y sin nombre del navegador.
_self
Muestra la nueva página en el marco donde está declarado el enlace.
_parent
Muestra la nueva página en el <FRAMESET> que contiene al marco donde se declara el enlace. En el ejemplo que pusimos de
<FRAMESET> anidados, una enlace situado en el marco ejemplo cuyo parámetro TARGET fuese igual a _parent eliminaría la
separación entre los marcos ejemplo y principal y mostraría en ese nuevo marco la nueva página.
36
mailxmail - Cursos para compartir lo que sabes
16. Hojas de estilo
Las hojas de estilo intentan separar el contenido de un página de la forma de
presentarlo en pantalla. Esto lo hacen personificando los cambios que las etiquetas
de formato HTML realizan en nuestro texto. Por ejemplo, sabemos que usando <P>
tendremos una párrafo nuevo con una separación del anterior determinada, etc..
Con las hojas de estilo también podremos decirle a un párrafo que todo su texto sea
verde y que además va a tener un margen izquierdo de 30 pixels. Por ejemplo.
El primer navegador en soportar hojas de estilo fue el Explorer 3.0. Utiliza la
llamada sintaxis en cascada. El Communicator acepta esa sintaxis e introduce una
nueva basada en JavaScript. Sin embargo, como el estándar más comunmente
aceptado de sintaxis de hojas de estilo es el de cascada, será este el único que
veamos. Vamos a empezar con un ejemplo:
<STYLE TYPE="text/css"> P {color: green; margin-left: 30;} </STYLE>
Vamos a detenernos en todos los elementos. Para empezar, la etiqueta HTML con la
que deberemos englobar las hojas de estilo será <STYLE>, que sólo podrá estar
situada en la cabecera de la página. Su parámetro TYPE indica la sintaxis que
utilizaremos para definirlas. En el caso de las hojas en cascada deberá ser text/css.
Ahora examinemos la hoja de estilo propiamente dicha. Indicaremos primero la
etiqueta que deseamos personalizar. Será <P>. Después, entre llaves, pondremos
una lista de las cosas que queremos modificar. En nuestro caso son dos, el color (en
el formato habitual) y el margen, que se define en pixels.
Hay que destacar que, aunque muchas veces los navegadores tengan una cierta
manga ancha, la sintaxis CSS (Cascading Style Sheet) es sensible a la diferencia entre
mayásculas y minúsculas. Conviene tener cuidado.
El HTML 4.0 permite declarar fuera de la página las hojas de estilo, llevando de este
modo al extremos su filosofía de separar forma y contenido. Si colocamos nuestras
hojas de estilo en un fichero llamado estilos.css (solo las hojas, no la etiqueta
<STYLE>) no tendremos más que incluir la siguiente línea en la cabecera de nuestro
documento HTML para incluirlas en nuestras páginas:
<LINK REL="stylesheet" HREF="estilos.css" TYPE="text/css">
Vamos a ver cómo quedaría un párrafo que siguiese la hoja de estilo anterior
Si la cosa va bien, este párrafo estará escrito en verde y con un margen izquierdo de
30 pixels. Precioso, ¿no? embargo, estoy convencido de que los más avispados se
habrán dado cuenta de que les estoy ocultando algo. Por lo que he dicho hasta
ahora la personalización de una etiqueta debería ser general y en esta página sólo
este párrafo está modificado. No os preocupéis demasiado, ahora os cuento como
se hace.
16.1. Clases
Hasta ahora habíamos definido estilos para una etiqueta determinada. Pero también
podemos hacerlo para una clase determinada. ¿Esto que significa? Pues que si, por
ejemplo, definimos la hoja de estilo de la clase verde de la siguiente manera:
P.verde {color: green; margin-left: 30px;}
37
mailxmail - Cursos para compartir lo que sabes
P.verde {color: green; margin-left: 30px;}
sólo estarán verdes y con un margen izquierdo de 30 pixels aquellos párrafos
definidos con <P CLASS="verde">. Así de sencillo.
Ampliando un poco más las posibilidades de las clases, se pueden realizar
excepciones. Supongamos que tenemos unos párrafos que queremos que tengan
unos márgenes determinados y color verde. Y deseamos que uno solo de esos
párrafos, con los mismo márgenes, sea azul. Podríamos definir dos clases distintas,
pero hay un método mejor: usar el parámetro ID. Por ejemplo:
all.verde {color: green; margin-left: 10px;} #ej1 { color: blue;}
Ahora todos los párrafos de clase verde serían, obviamente, verdes y con un margen
de 10 pixels. Sin embargo el párrafo definido por <P CLASS="verde" ID="ej1"> será
azul:
Este párrafo es muy verde.
Y anda que este...
Sin embargo, este no, fíjate que curioso.
16.2. Etiquetas <SPAN> y <DIV>
Puede que, a veces, no queramos modificar el comportamiento de un elemento sino
que creemos un estilo que queremos actúe sólo, un estilo completo creado de la
nada. Una etiqueta nueva y propia. Entonces, ¿qué hacemos? Utilizar las etiqueta
<SPAN> y <DIV>.
El método es simple. Definimos una clase rojo que simplemente modifique el color
(que será rojo). Ahora, si queremos que una sección de texto esté en rojo lo
encerraremos entre las etiquetas <SPAN CLASS="rojo"> y </SPAN> o entre <DIV
CLASS="rojo"> y </DIV>.
La diferencia entre ambas es que, mientras SPAN realmente no hace nada por sí
misma, DIV convierte a todo lo que encierra en un bloque aparte (poniendo un salto
de línea tanto al comienzo como al final). Veremos en el siguiente capítulo que a las
etiquetas que se comportan como bloques (<P>, <H1>, las que dijimos modifican
un párrafo entero) se les pueden definir atributos propios desde las hojas de estilo.
Por ejemplo, si definimos las siguientes hojas:
all.titulo { margin-top: -24px; color: blue; font-size: 20px; } all.sombra {
margin-top: 2px; margin-left: 2px; color: black; font-size: 20px; }
cuyos atributos explicaremos en la referencia de las hojas de estilo, y ponemos el
siguiente código HTML:
<DIV ALIGN="CENTER" CLASS="sombra">El maravilloso curso de HTML</DIV>
<DIV ALIGN="CENTER" CLASS="titulo">El maravilloso curso de HTML</DIV>
obtendremos este bello efecto:
El maravilloso curso de HTML El maravilloso curso de HTML
En el siguiente capítulo tenéis una guía de referencia con todos (o casi todos) los
atributos que se pueden modificar con CSS.
38
mailxmail - Cursos para compartir lo que sabes
17. Hojas de estilo: referencia
En este capítulo vamos a ver todas (o casi todas) las propiedades que se pueden alterar por medio de
las hojas de estilo. Hay que indicar que algunos de ellos no los soporta el Explorer y en cambio otros
no los entiende el Communicator. Así que es recomendable probarlos en ambos exploradores antes
de incorporarlos a nuestras páginas.
17.1. Propiedades de bloque
Vamos a empezar con las propiedades de bloque, que definen cosas como los márgenes o la
colocación de bloques de contenido HTML:
17.2. Propiedades de tipo de letra
Ahora vamos a examinar las propiedades del tipo de letra que el usuario va a ver. Son las siguientes:
Cabe recordar que los tipos genéricos son serif, sans-serif, cursive, fantasy y monospace. Cada uno
de estos tipos serán equivalentes a alguno que pueda tener instalado el ordenador del usuario. Así,
por ejemplo, en un PC con Windows instalado serif puede equivaler a Times New Roman y monospace
a Courier.
17.3. Propiedades de formato del texto
Nuesto siguiente objetivo van a ser las propiedades de formato del texto que cualquier procesador de
textos nos permite cambiar.
39
mailxmail - Cursos para compartir lo que sabes
17.4. Propiedades de color y fondo
También es posible cambiar los colores y el gráfico de fondo de un elemento.
Hay que decir que, en la sintaxis en cascada, las direcciones se expresan del siguiente modo:
background: url(fondobonito.gif);
17.5. Propiedades de clasificación
Hasta ahora habíamos distinguido a la hora de ver las propiedades de un elemento en si estos eran
tratados como bloques o no. Pero el ser bloques o no... ¿no es acaso otra propiedad? Estas y otras
formas de clasificar los elementos se pueden cambiar usando las siguientes propiedades:
Y ahora... ya no hay más... ¡por fín acabamos! Dejadme que respire un poco y ahora continuamos.
40
mailxmail - Cursos para compartir lo que sabes
18. Lenguajes de script
Un lenguaje de script es un pequeño lenguaje de programación cuyo código se
inserta dentro del documento HTML. Este código se ejecuta en el navegador del
usuario al cargar la página, o cuando sucede algo especial como puede ser el pulsar
sobre un enlace.
Estos lenguajes permiten variar dinámicamente el contenido del documento,
modificar el comportamiento normal del navegador, validar formularios, realizar
pequeños trucos visuales, etc... Sin embargo, conviene recordar que se ejecutan en
el navegador del usuario y no en la máquina donde estén alojadas, por lo que no
podrán realizar cosas como manejar bases de datos. Esto hace que los contadores
(por ejemplo) se deban realizar de otra manera, utilizando programas CGI.
El primer lenguaje de script que vió la luz fue el JavaScript de Netscape. Nacido con
la versión 2.0 de este navegador y basado en la sintaxis de Java, su utilidad y el casi
absoluto monopolio que entonces ejercía Netscape en el mercado de navegadores
permitieron que se popularizara y extendiera su uso.
El máximo rival del Netscape Navigator, el Internet Explorer de Microsoft, comenzó a
soportar este lenguaje en su versión 3.0. Fue también entonces cuando introdujo el
único rival serio que el JavaScript ha tenido en el mercado de los lenguajes de script:
el VBScript. Basado en el lenguaje BASIC, no ha tenido excesiva difusión en Internet
debido a la previa implantación del JavaScript y a que son de parecida funcionalidad,
pero sí es utilizado dentro de Intranets basadas en el Explorer y dentro de otras
aplicaciones de Microsoft, como IIS, Access, Word, etc..
18.1. Javascript
Como este curso está orientado a Internet, no vamos a ver nada de VBScript aquí
por las razones comentadas anteriormente. Pero para ilustrar la utilidad de los
lenguajes de script, vamos a realizar una pequeña introducción al Javascript. Si te
sientes interesado, visita mi curso de JavaScript 1.2 para mayor información sobre el
tema.
Vamos a realizar nuestro primer "programa" en JavaScript. Haremos surgir una
ventana que nos muestre el famoso mensaje "hola, mundo". Así podremos ver los
elementos principales del lenguaje. El siguiente código es una página Web completa
con un botón que, al pulsarlo, muestra el mensaje.
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!--- function HolaMundo() {
alert("¡Hola, mundo!"); } // ---> </SCRIPT> </HEAD> <BODY> <FORM> <INPUT
TYPE="button" NAME="Boton" VALUE="Pulsame" onClick="HolaMundo()"> </FORM>
</BODY> </HTML>
Y aquí está nuestro ejemplo funcionando:
Ahora vamos a ver, paso por paso, que significa cada uno de los elementos extraños
que tiene la página anterior:
<SCRIPT LANGUAGE="JavaScript"> </SCRIPT>
Dentro de estos elementos será donde se puedan poner funciones en JavaScript.
Puedes poner cuantos quieras a lo largo del documento y en el lugar que más te
41
mailxmail - Cursos para compartir lo que sabes
guste. Si un navegador no entiende la etiqueta <SCRIPT> escribirá lo que hay entre
medias de estos elementos, así que lo encerramos entre comentarios por si las
moscas.
function HolaMundo() { alert("¡Hola, mundo!"); }
Esta es nuestra primera función en JavaScript. En el código de la misma vemos una
llamada al método alert (que pertenece al objeto window) que es la que se encarga
de mostrar el mensaje en pantalla. Por un fallo del Netscape no se pueden poner las
etiquetas HTML de caracteres especiales en una función: no los reconoce. Así que
pondremos directamente "¡" arriesgándonos a que salga de otra manera en
ordenadores con un juego de caracteres distinto al del nuestro.
<FORM> <INPUT TYPE="button" NAME="Boton" VALUE="Pulsame"
onClick="HolaMundo()"> </FORM>
Dentro del elemento que usamos para mostrar un botón vemos una cosa nueva:
onClick. Es un evento. Cuando el usuario pulsa el botón, el evento onClick se
dispara y ejecuta el código que tenga entre comillas, en este caso la llamada a la
función HolaMundo(), que tendremos que haber definido con anterioridad.
Este ejemplo muestra una pequeña parte de las funcionalidades del JavaScript. De
hecho, su utilidad es más bien escasa, por eso te recomiendo de nuevo que eches
un vistazo a mi curso de JavaScript.
42
mailxmail - Cursos para compartir lo que sabes
19. Capas
Las capas se pueden definir como páginas que se pueden incrustar dentro de otras. Los atributos de
una capa (posición, visibilidad, etc.), como los de cualquier otro elemento HTML, pueden definirse
dentro de una hoja de estilo. Su contenido, en cambio, siempre deberá ser especificado dentro de la
parte principal de la página. Como se puede ver, de nuevo estamos siguiendo la filosofía de separar el
contenido y la forma de representarlo.
En realidad, el nombre de capas no es nada oficial: es un invento de Netscape. La denominación
oficial podría traducirse como "contenido HTML posicionable dinámicamente". Toma ya. Tampoco se
las puede considerar dentro de ningún estándar HTML sino de los estándares CSS, pero son la base
de lo que se ha dado en llamar HTML dinámico.
Sin duda, lo más importante de las capas es la posibilidad que presentan de ser movidas y
modificadas desde un lenguaje descript. Desgraciadamente, las implementaciones de Netscape y
Explorer son incompatibles entre sí, por lo que resulta complicado escribir código que funcione en
ambas plataformas. Estos temas los estudia en profundidad el curso de HTML dinámico.
19.1. Definición
La única manera común de definir capas en Explorer y Netscape (versiones 4 y superiores cuandos las
haya) es mediante hojas de estilo en sintaxis CSS, por lo que será la que usemos de aquí en adelante.
La definición de una capa sigue la misma estructura que la que usabamos para decidir las
características de una etiqueta con el parámetro ID:
<STYLE TYPE="text/css"> #micapa {position:absolute; top:100px; left:20px;} </STYLE>
Esto colocaría a la capa que hemos denominado micapa a 20 pixels de la izquierda de la pna y a 100
del comienzo de la misma. Muy bien, pero... ¿donde escribimos lo que queremos que contenga la
capa? Utilizaremos para ello la etiqueta <SPAN>:
<DIV ID="micapa"> <H1>El título de la capa</H1> <P>Aquí es donde iría el texto. ... </DIV>
Las capas que hemos definido hasta ahora se colocan en una posición determinada de la página. Pero
existe otro tipo de capas llamadas flotantes cuya colocación depende, en cambio, de la posición
dentro del código fuente de la página donde las hayamos colocado. Se definen así:
<STYLE TYPE="text/css"> #flotante {position: relative; left: 20px; top: 100px;} </STYLE>
Puedes ver un ejemplo que te mostrará las diferencias entre capas absolutas y relativas.
19.2. Propiedades
Existen varias propiedades de las capas que podemos modificar, como son la posición, la visibilidad,
el orden en que se ponen en pantalla, etc... Son estos:
43
mailxmail - Cursos para compartir lo que sabes
Esto
es todo. Si quieres saber algo sobre modificación dinámica de capas desde JavaScript, visita mi curso.
44
mailxmail - Cursos para compartir lo que sabes
20. Sonido
Aún cuando les pueda parecer increíble a algunos hombres de poca fe, es posible
escuchar sonidos (o música) desde el propio navegador. Tanto Netscape como
Explorer incorporan desde hace tiempo la capacidad de reproducir sonido. El único
problema es que los archivos suelen ser grandes y, siendo algo innecesario y
superfluo, poca gente incluye melodías en sus páginas.
Los formatos que se puede asegurar que los navegadores reproducirán son los
archivos WAV y MID. Para poder reproducir otros necesitarán el plug-in o añadido
necesario, como puede ser el Real Audio para los archivos RA o el ModPlug para los
MOD y derivados.
20.1. Sonido activado por el usuario
La manera más sencilla de incluir sonidos es dejando al usuario la decisión de
escucharlos o no. Para hacerlo incluiremos el sonido en el parámetro HREF de un
enlace, como si fuera una página HTML:
<A HREF="hola.wav">Si pulsas te saludo< A >
20.2. Sonido de fondo
Lo del sonido de fondo ya es más complicado, ya que Netscape y Explorer ofrecen
soluciones propietarias, distintas e incompatibles de hacer sonar un archivo de
fondo.
En Explorer, desde la versión 2.0, se pueden incluir fondos sonoros utilizando la
etiqueta BGSOUND:
<BGSOUND SRC="musica.mid">
El parámetro SRC indicará el archivo a reproducir. Esta etiqueta admite tambiñen
otro parámetro, LOOP, que indica el número de veces consecutivas que sonará el
fichero. Si se indica LOOP="infinite", el archivo se reproducirá indefinidamente,
mientras estemos en la página.
Netscape utiliza su etiqueta <EMBED>. Teóricamente, esta etiqueta debería servir
para unir objetos de varios tipos a la página web, pero en la práctica sólo se utiliza
para esto. Esta etiqueta tiene los siguiente parámetros:
Sin embargo, y debido a algunos bugs, si queremos reproducir infinitamente un
archivo con el reproductor oculto, deberemos incluir todos los parámetros,
incluyendo WIDTH y HEIGHT. Además, si el usuario tiene algún plug-in de sonido
45
mailxmail - Cursos para compartir lo que sabes
extraño, en lugar del que viene con Netscape, es posible que deje de funcionar
correctamente.
Dado que ambas etiquetas son incompatibles entre sí, basta con incluir las dos... o,
mejor dicho, bastaba. Ahora el Explorer es capaz de interpretar <EMBED>, pero no
exactamente de la misma manera, lo que provoca que aparezca una ventana aparte
con el reproductor. En definitiva, la mejor manera de mostrar una música de fondo
es usando un pequeño script que averigue en qué navegador está instalado y
discrimine.
46
mailxmail - Cursos para compartir lo que sabes
21. Guía de estilo
A lo largo de mi deambular por Internet, he ido desarrollando pequeñas manías y
visto o creido ver defectos en las páginas web. Sin embargo, después de leer un par
de cursos de HTML y alguna que otra guía de estilo, me he dado cuenta de que la
mayoría de la gente parece pensar como yo.
Así pues, este capítulo consiste en una serie de consejos que te pueden servir para
hacer tu página más atractiva y de mayor calidad. Es recomendable leerla aunque
luego no la sigas al pie de la letra: te pueden dar una idea de lo que debe ser una
web.
21.1. Contenido
Cualquier página será visitada si su contenido es interesante. Casi da lo mismo su
estructura y diseño si la información es lo suficientemente interesante. Así que
quizá sea conveniente detenernos un poco en qué es lo que debe tener nuestra
página web.
En Internet uno visita lo que quiere, y la mayoría de las veces lo que a la gente le
interesa y lo que a nosotros nos interesa que vean no es lo mismo. Así pues, el
mejor modo de conseguir que vean lo que queremos es ofrecerles lo que quieren.
Un ejemplo lo tienes en mi página personal. En ella pongo cosas que me interesa
poner a mí pero que de por sí sé que no tendrían mucha difusión: mis relatos, mis
canciones, etc... Pero también incluyo estos cursos de diseño web, que sé que le
interesan a mucha gente.
De todas maneras no hay que engañarse: los contenidos que te interesa que la gente
conozca y que no sean "populares" no serán visitados más que por una pequeña
parte de los interesados por los contenidos "populares". Pero siempre lo serán más
que si no lo hubiéramos hecho.
El averiguar qué poner es fácil. Prácticamente todo el mundo tiene algún hobby,
alguna pasión, o domina algún tema bastante por encima de la media. Sobre ese
tema deberá estar enfocada su página. Porque, para qué engañarnos: a nadie le
interesan esas páginas personales que sólo contienen tres fotos del autor, una de su
novia y otra de su perro, junto con la historia de su vida y un curriculum y una serie
de enlaces a páginas de sus amigos.
Conviene también, sabiendo que el usuario ha acudido a tu página por el interés
hacia un tema específico, facilitarle enlaces a páginas similares. Te lo agradecerá.
21.2. Navegación
Es muy importante que sea sencilla e intuitiva la navegación por las páginas que
componen tu web. Dependiendo del tamaño de la página no se debería tardar más
de tres toques de ratón en ir de una página a otra. Sin embargo, esto no se debe
conseguir por medio de una saturación de enlaces porque el usuario podría
perderse.
Hay muchas maneras de conseguirlo. La primera es utilizar un marco como índice,
que siempre nos permitiría acudir a las seciones principales en nuestra web.
También resulta útil incluir enlaces a la página principal y a la página principal de la
sección que el usuario está consultando.
47
mailxmail - Cursos para compartir lo que sabes
En definitiva, no hay receta única, pues el éxito de tu sistema de navegación
depende en buena medida de los contenidos y estructura de tu web. Resulta útil ver
a alguien ajeno a su desarrollo navegar por ella sin darle ninguna clase de pistas: en
general se pueden ver con facilidad los mayores problemas que pueda tener.
Sin embargo, hay algo que siempre irrita al usuario: enlaces a páginas vacías o con
un gráfico que señale que esa página está en construcción. Si te lleva tiempo
desarrollar una sección pero quieres que los usuarios sepan que estará ahí colocala
con las demás en la lista de enlaces, pero que ella no tenga. Que se vea el nombre
aunque no lleve a ninguna parte.
21.3. Estructura de las páginas
Es fundamental a la hora de ponerte a crear páginas el pensar en una estructura
común y consistente, porque facilita la navegación y le confiere personalidad propia.
Esa estructura puede estar dada por una manera común de titular las secciones, un
fondo, un logo, una manera común de colocar gráficos y texto, o una combinación
de todo esto.
Hay que cuidar la longitud de las páginas: que no sean ni demasiado cortas ni
demasiado largas (como esta). La página debe contener información suficiente para
resultar interesante y no tanta como para desanimar al posible lector.
Recuerda que el título que le pones a tu página es por lo que se la conocerá por el
mundo. Es lo que guarda el navegador en su índice de marcadores, favoritos o bookmarks
bookmarks. Por ello, es conveniente que sea significativo y pueda ser entendido
fuera de contexto.
Conviene que el primero párrafo o las primeras frases de todas las páginas
contengan un resumen o idea del contenido del resto de la misma. Eso ayuda al
usuario a localizar más fácilmente la información.
A su vez, resulta bastante útil indicar la fecha de la última modificación de la página,
aunque es aún mejor si esa fecha hace referencia a la última modificación del
contenido, que al fin y al cabo es lo que le interesa el usuario.
Por último, uno de los aspectos más importantes de Internet como medio es la
facilidad de comunicación entre creadores y usuarios: facilitala incluyendo tu
dirección de correo. Si crees que puede ser interesante, ayuda y anima al usuario
con formularios o libros de visita.
21.4. Accesibilidad
Hay que tener en cuenta que, en general, no sabes con qué navegador visitarán tus
páginas. Ni cómo estará configurado. Ni la resolución del monitor. Ni la potencia de
su CPU. Ni siquiera si el navegador es capaz de ver gráficos. Y como se supone que
la red es algo de lo que debe poder disfrutar todo el mundo conviene hacerla
accesible.
Para ello hay que tener en cuenta algunas cosas. Para empezar, que las páginas
siempre se ven distintas dependiendo del navegador que usemos. Conviene no usar
elementos que sólo funcionen con un navegador, como puede ser el texto
parpadeante o las marquesinas. Y siempre será bueno probar con más de un
navegador las páginas: no siempre representan igual las mismas etiquetas.
48
mailxmail - Cursos para compartir lo que sabes
Hay gente que viaja por la red con navegadores en modo texto o que, debido a la
lentitud de su conexión, configuran su navegador para que no cargue los gráficos.
Por ello, conviene añadir siempre el parámetro ALT a todas nuestras imágenes.
También, y por la misma causa, conviene dar una alternativa en texto de nuestros
mapas.
Es aconsejable probar nuestras páginas a la resolución mínima de 640x480 y
comprobar que se puede ver y navegar con relativa comodidad. Es
desgraciadamente frecuente ver marcos índice diseñados para verse a 800x600 y
que impiden cambiarlos de tamaño y se han eliminado las barras de desplazamiento.
Es convieniente no abusar de los applets Java ni hacer de ellos un elemento
imprescindible en nuestra web. A gente con pocos recursos en potencia de CPU o
usuarios de Windows 3.1 no les resulta muy agradable estas aplicaciones.
En definitiva, no hacerles la vida imposible a los minusválidos de la red. Eliminar
barreras arquitectónicas.
21.5. Diseño
Una página atractiva, con gráficos bonitos y bien escogidos y colocados es algo
siempre recomendable. Pero no si, debido a ello, la página tarda dos días y medio
en terminar de cargarse. Hay que tener en cuenta que estamos trabajando en un
medio llamado Internet que, aunque denominado autopista de la información, en
realidad suele parecerse más bien a una carretera comarcal. Así pues, a la hora de
diseñar nuestras páginas, deberemos cuidar el equilibrio entre belleza gráfica y
tiempo de carga.
Recuerda que el gráfico de fondo no debe dificultar la lectura del texto. Si utilizamos
uno oscuro que el color del texto sea claro y viceversa.
Los gráficos animados, en general, resultan muy entretenidos para el autor pero
poco útiles para el usuario. No deberían usarse más que para cosas sobre las que
realmente quieres llamar la atención (como el uso del texto parpadeante). Si no es
así, procura que su tamaño no sea excesivo.
Mientras puedas, evita los gráficos meramente ornamentales. Que tengan algo de
utilidad, sea como título o enlace o lo que sea. Luego procura que, además, sean
bonitos.
Procura evitar el exceso de líneas horizontales: dan la sensación de una página
inconexa y troceada.
Evita la proliferación de marcos. Si pones muchos es posible que el usuario se
pierda y no sepa en cuál está cada cosa. Recuerda que sólo puede haber uno con
información y todos los demás deben ser auxiliares de este. El marco principal debe
destacar sobre los otros por su mayor tamaño.
21.6. Mantenimiento y pruebas
Resulta conveniente que el código sea claro y fácilmente comprensible: así evitas los
problemas de no entender cómo hiciste una página en un momento dado, o de no
encontrar esa parte que tienes que modificar entre tanto texto.
Resulta conveniente que otras personas prueben tus páginas. Y que cuando las
prueben ya están en la red, aunque no sean accesibles más que para los
probadores. Hay que cuidar que estos no conozcan previamente las páginas ni
49
mailxmail - Cursos para compartir lo que sabes
hayan tenido que ver con su desarrollo.
Y esto es todo. Que ustedes disfruten creando páginas. ¡Hasta otra!
50
mailxmail - Cursos para compartir lo que sabes
22. Enlaces a otras páginas
A.1. Otros manuales de HTML
No he aprendido solo, claro. Aquí tenéis una serie de enlaces a otros manuales y
referencias de HTML que os pueden ser de interés.
Webmaestro, el mejor manual de HTML en la red
Otro manual de HTML por Luis Mariñas
WebEstilo, la mejor guía de estilo en nuestro idioma
Diseño de páginas en Internet
Especificación del HTML 4.0
Especificación del HTML 3.2
Especificación del HTML 3.0
Especificación del HTML 2.0
La agenda, donde encontrarás todos los enlaces que necesites sobre HTML, Java,
JavaScript, CGI, etc..
A.2. Sobre JavaScript
Una vez conocido el HTML, puede que te interese mejorar tus páginas con el
lenguaje de script más extendido por Internet:
Mi curso de JavaScript 1.2
ava en castellano
Ejemplos en JavaScript
Todos los enlaces del mundo relacionados con JavaScript
A.3. Sobre HTML dinámico
Si todo lo anterior se te ha quedado pequeño y no te importa diseñar páginas
accesibles tan solo con Explorer 4 o Communicator, siempre puedes pasarte por
estas direcciones:
El curso de DHTML de HTML en castellano
El juego: un ejemplo de lo que se puede llegar a hacer con DHTML
The Dynamic Duo: el mejor tutorial de DHTML
Macromedia DHTML Zone
A.4. Sobre otras tecnologías relacionadas
Estos temas me interesan menos, pero aún así os puedo recomendar un par de
enlaces:
Java en castellano
El mejor tutorial de Java
El mundo de Duke, índice y buscador de recursos Java
Gran directorio de información sobre CGI, con CGIs gratuitos incluidos
Interesante página pesonal de un gran creador de CGIs gratuitos
51
mailxmail - Cursos para compartir lo que sabes
23. B. FAQ (Preguntas más frecuentes)
En este apéndice intentaremos responder a las preguntas que con más frecuencia se
hacen a través del formulario que encontraréis al final de la página:
¿Podrías mandarme el curso por correo electrónico?
¿Cómo puedo hacer un contador?
¿Cómo puedo hacer una página web que acceda a una base de datos?
¿Qué herramientas necesito para hacer páginas web?
¿Existen programas que faciliten la creación de páginas web?
Una vez hecha la página, ¿cómo la subo a un servidor de Internet?
¿Cómo puedo preparar la página para que se imprima como yo deseo?
¿Podrías mandarme el curso por correo electrónico?
Lo siento, pero no. Entre mis horas normales de conexión a Internet y las que gasto
para mantener estas páginas, creo que no me deja nada disponible para enviar el
curso por correo. Tened en cuenta que sois muchos los que visitáis la página y
queréis comentarme algo, y no puedo dedicar a todos todo el tiempo que desearía.
¿Cómo puedo hacer un contador?
No con HTML. Los contadores son pequeños programas que se ejecutan en el
servidor, por lo que se suelen programar con CGI. Existen buenas personas que
ofrecen la posibilidad de incluir un contador gratuito en vuestras páginas, como Webcounter
Webcounter, y otros que ofrecen el más completo servicio de estadísticas, como
Nedstat.
¿Cómo puedo hacer una página web que acceda a una base de datos?
De nuevo, no con HTML. Para realizar un acceso a una base de datos, se necesita
ejecutar programas en el servidor. Y dado que cada usuario necesita un servicio
distinto, no existen servidores gratuitos en este caso. Lo mejor es averiguar de qué
tipo de servidor disponemos y si tenemos la posibilidad de ejecutar programas en el
mismo (usando CGI) o lenguajes de servidor como PHP o ASP.
¿Qué herramientas necesito para hacer páginas web?
El navegador para verlas y para editar el código, un editor de textos, como el Bloc
de Notas de Windows. No recomiendo el uso de procesadores de texto, ya que no
permiten la edición del código HTML. No es necesario "compilar" nada, el navegador
lee directamente el código.
¿Existen programas que faciliten la creación de páginas web?
Sí, existen programas de muy diversos tipos, desde los simples Frontpage Express o
Netscape Composer que vienen incluidos en los navegadores hasta completos
editores como Homesite y Dreamweaver. Algunos de ellos esconden y dificultan la
edición de código HTML, debido a que su misión es ayudar a realizar las páginas de
forma visual, y otros ofrecen ayudas para la edición
Una vez hecha la página, ¿cómo la subo a un servidor de Internet?
Lo normal es hacerlo mediante FTP; el servidor debería darte instrucciones para
hacerlo. En algunos existe la posibilidad de hacerlo a través de la web, pero no es lo
52
mailxmail - Cursos para compartir lo que sabes
normal.
¿Cómo puedo preparar la página para que se imprima como yo deseo?
No existe ninguna manera. HTML es un lenguaje que permite dar formato a textos
para verlos en pantalla, pero no incluye ninguna etiqueta que te ofrezca ayuda a la
hora de cambiar ese formato a la hora de imprimir. Existen algunas maneras de
controlar los saltos de página, que están explicados en el Taller Web.
B.1. Para comentarme algo o preguntar otra cosa
Este curso está abierto a cualquier sugerencia que queráis hacerme. Si me escribes
con tus dudas, sugerencias, etc... me ayudarás a mejorarlo, así que te agradecería
que rellenaras el formulario que tienes abajo o queme escribieras.
Nombre:
E-mail:
Calificación:
Es una puta (**** censurado ****) Está mal No está mal del todo Normalito Esta bien
Es magnífico Es co..., que está muy bien, vaya
Comentarios y sugerencias:
53
mailxmail - Cursos para compartir lo que sabes

Más contenido relacionado

La actualidad más candente

Alexander y diego paginas de html
Alexander y diego paginas de htmlAlexander y diego paginas de html
Alexander y diego paginas de htmlalexander polanco
 
programamcion html
programamcion htmlprogramamcion html
programamcion htmlguesta871cd
 
Curso Html no creado por mi
Curso Html no creado por miCurso Html no creado por mi
Curso Html no creado por midiegoacalero0
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerraAlejandra Lopez
 
Descripción de la sintaxis con la que se trabaja en el lenguaje html
Descripción de la sintaxis con la que se trabaja en el lenguaje htmlDescripción de la sintaxis con la que se trabaja en el lenguaje html
Descripción de la sintaxis con la que se trabaja en el lenguaje htmljoraloca
 
Clase 1 de html
Clase 1 de htmlClase 1 de html
Clase 1 de htmlUTLA
 

La actualidad más candente (13)

Alexander y diego paginas de html
Alexander y diego paginas de htmlAlexander y diego paginas de html
Alexander y diego paginas de html
 
programamcion html
programamcion htmlprogramamcion html
programamcion html
 
Guía para escribir documentos html
Guía para escribir documentos htmlGuía para escribir documentos html
Guía para escribir documentos html
 
Curso Html no creado por mi
Curso Html no creado por miCurso Html no creado por mi
Curso Html no creado por mi
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 
Manual HTML.
Manual HTML.Manual HTML.
Manual HTML.
 
Descripción de la sintaxis con la que se trabaja en el lenguaje html
Descripción de la sintaxis con la que se trabaja en el lenguaje htmlDescripción de la sintaxis con la que se trabaja en el lenguaje html
Descripción de la sintaxis con la que se trabaja en el lenguaje html
 
Manual html
Manual htmlManual html
Manual html
 
crear una web
crear una web crear una web
crear una web
 
Clase 1 de html
Clase 1 de htmlClase 1 de html
Clase 1 de html
 
Html
HtmlHtml
Html
 
Html
HtmlHtml
Html
 
Curso de html
Curso de htmlCurso de html
Curso de html
 

Destacado (20)

Gran exito de concurso coreos
Gran exito de concurso coreosGran exito de concurso coreos
Gran exito de concurso coreos
 
Logistic solutions estatutos
Logistic solutions estatutosLogistic solutions estatutos
Logistic solutions estatutos
 
Proyecto y hoja de vida
Proyecto y hoja de vidaProyecto y hoja de vida
Proyecto y hoja de vida
 
Analisis medico por Internet
Analisis medico por InternetAnalisis medico por Internet
Analisis medico por Internet
 
Leistungssteigerung_Performance Plus.pdf
Leistungssteigerung_Performance Plus.pdfLeistungssteigerung_Performance Plus.pdf
Leistungssteigerung_Performance Plus.pdf
 
Bip Iberia Consultora
Bip Iberia ConsultoraBip Iberia Consultora
Bip Iberia Consultora
 
La vuelta a europa
La vuelta a europaLa vuelta a europa
La vuelta a europa
 
Topfield
TopfieldTopfield
Topfield
 
Maggio2009
Maggio2009Maggio2009
Maggio2009
 
Qawaq 16
Qawaq 16Qawaq 16
Qawaq 16
 
TI en Aviación Comercial
TI en Aviación ComercialTI en Aviación Comercial
TI en Aviación Comercial
 
OJ Absolventen
OJ AbsolventenOJ Absolventen
OJ Absolventen
 
Ole Miss SAE
Ole Miss SAEOle Miss SAE
Ole Miss SAE
 
Text extraction using document structure features and support vector machines
Text extraction using document structure features and support vector machinesText extraction using document structure features and support vector machines
Text extraction using document structure features and support vector machines
 
Redes
RedesRedes
Redes
 
Novoenzymes Group Financial Statement2005
Novoenzymes  Group Financial Statement2005Novoenzymes  Group Financial Statement2005
Novoenzymes Group Financial Statement2005
 
sharu resume new
sharu resume newsharu resume new
sharu resume new
 
Tracendencia de la comunicacion tics (1)
Tracendencia de la comunicacion tics (1)Tracendencia de la comunicacion tics (1)
Tracendencia de la comunicacion tics (1)
 
Conquistadores del mundo
Conquistadores del mundoConquistadores del mundo
Conquistadores del mundo
 
La matanza de los inocentes roberto y titus
La matanza de los inocentes roberto y titusLa matanza de los inocentes roberto y titus
La matanza de los inocentes roberto y titus
 

Similar a J creacion paginas-web-html-6844-completo (20)

Curso Html4
Curso Html4Curso Html4
Curso Html4
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 
Html
HtmlHtml
Html
 
Nombres
NombresNombres
Nombres
 
primera c
primera cprimera c
primera c
 
Nombres
NombresNombres
Nombres
 
Introducción a xhtml
Introducción a xhtmlIntroducción a xhtml
Introducción a xhtml
 
Guia#1 info
Guia#1 infoGuia#1 info
Guia#1 info
 
Fap.or.s06.06.g10.2014
Fap.or.s06.06.g10.2014Fap.or.s06.06.g10.2014
Fap.or.s06.06.g10.2014
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 
Informatica 3
Informatica 3Informatica 3
Informatica 3
 
Manualhtml
ManualhtmlManualhtml
Manualhtml
 
Manual html
Manual htmlManual html
Manual html
 
Html basico
Html basicoHtml basico
Html basico
 
TEORIA LENGUAJE HTLM
TEORIA LENGUAJE HTLMTEORIA LENGUAJE HTLM
TEORIA LENGUAJE HTLM
 
265069606-Curso-basico-HTML5.pdf
265069606-Curso-basico-HTML5.pdf265069606-Curso-basico-HTML5.pdf
265069606-Curso-basico-HTML5.pdf
 
Html+css con html kit
Html+css con html kitHtml+css con html kit
Html+css con html kit
 

Más de Miguel García Pérez

Twitter para todos e-book gratuito del blog estrategias marketing online para...
Twitter para todos e-book gratuito del blog estrategias marketing online para...Twitter para todos e-book gratuito del blog estrategias marketing online para...
Twitter para todos e-book gratuito del blog estrategias marketing online para...Miguel García Pérez
 
Linkbuilding posicionamiento-buscadores-seo-39567-completo
Linkbuilding posicionamiento-buscadores-seo-39567-completoLinkbuilding posicionamiento-buscadores-seo-39567-completo
Linkbuilding posicionamiento-buscadores-seo-39567-completoMiguel García Pérez
 
Guia completa-de-google-uso-practico-para-particulares-y-empresas-
Guia completa-de-google-uso-practico-para-particulares-y-empresas-Guia completa-de-google-uso-practico-para-particulares-y-empresas-
Guia completa-de-google-uso-practico-para-particulares-y-empresas-Miguel García Pérez
 

Más de Miguel García Pérez (20)

Pasteleria manual docente(1)
Pasteleria manual docente(1)Pasteleria manual docente(1)
Pasteleria manual docente(1)
 
Dropbox y google drive
Dropbox y google driveDropbox y google drive
Dropbox y google drive
 
Symbaloo
SymbalooSymbaloo
Symbaloo
 
Apuntes modulo 3
Apuntes modulo 3Apuntes modulo 3
Apuntes modulo 3
 
Apuntes Modulo 2
Apuntes Modulo 2Apuntes Modulo 2
Apuntes Modulo 2
 
Apuntes modulo 1
Apuntes modulo 1Apuntes modulo 1
Apuntes modulo 1
 
Twitter para todos e-book gratuito del blog estrategias marketing online para...
Twitter para todos e-book gratuito del blog estrategias marketing online para...Twitter para todos e-book gratuito del blog estrategias marketing online para...
Twitter para todos e-book gratuito del blog estrategias marketing online para...
 
Navegar internet-1-2-35367-completo
Navegar internet-1-2-35367-completoNavegar internet-1-2-35367-completo
Navegar internet-1-2-35367-completo
 
Linked in(wikipedia)
Linked in(wikipedia)Linked in(wikipedia)
Linked in(wikipedia)
 
Linkbuilding posicionamiento-buscadores-seo-39567-completo
Linkbuilding posicionamiento-buscadores-seo-39567-completoLinkbuilding posicionamiento-buscadores-seo-39567-completo
Linkbuilding posicionamiento-buscadores-seo-39567-completo
 
Internet basico
Internet basicoInternet basico
Internet basico
 
Guia completa-de-google-uso-practico-para-particulares-y-empresas-
Guia completa-de-google-uso-practico-para-particulares-y-empresas-Guia completa-de-google-uso-practico-para-particulares-y-empresas-
Guia completa-de-google-uso-practico-para-particulares-y-empresas-
 
G youtube guia
G youtube guiaG youtube guia
G youtube guia
 
F manualfacebook
F manualfacebookF manualfacebook
F manualfacebook
 
E t.guiatwitter
E t.guiatwitterE t.guiatwitter
E t.guiatwitter
 
D como hacer un blog(blogger)
D como hacer un blog(blogger)D como hacer un blog(blogger)
D como hacer un blog(blogger)
 
Correo electronico (outlook)
Correo electronico (outlook)Correo electronico (outlook)
Correo electronico (outlook)
 
Correo elctronico (outlook) 2
Correo elctronico (outlook) 2Correo elctronico (outlook) 2
Correo elctronico (outlook) 2
 
Comunity manager
Comunity managerComunity manager
Comunity manager
 
Como crear-blog-26118-completo
Como crear-blog-26118-completoComo crear-blog-26118-completo
Como crear-blog-26118-completo
 

J creacion paginas-web-html-6844-completo

  • 1. Creación de Paginas Web con Html Autor: Jean Carlo Romero Raffo 1 mailxmail - Cursos para compartir lo que sabes
  • 2. Presentación del curso HTML es el lenguaje básico y muy sencillo que nos permite la creación de Paginas Web. Este curso ha nacido con la intención de complementar los anteriores cursos de JavaScript y HTML dinámico que tengo en estas páginas. Así podrás terminar creando una página de calidad empezando desde cero. 2 mailxmail - Cursos para compartir lo que sabes
  • 3. 1. Introducción al curso Este curso ha nacido con la intención de complementar los anteriores cursos de JavaScript y HTML dinámico que tengo en estas páginas. Así podrás terminar creando una página de calidad empezando desde cero. Lo primero que hay que decir es que este curso no explica ningún estándar específico, ni examina exaustivamente todos los parámetros de las etiquetas HTML. Intenta ser una guía práctica, de modo que incluirá todas las cosas que yo crea importantes y que me han provocado algún quebradero de cabeza mientras realizaba mis páginas. El curso y sus ejemplos los he probado con Explorer 4 y Netscape 4, que son los navegadores que tengo instalados. Si tienes otro navegador y encuentras algún problema te ruego que me lo comuniques, ya que he renunciado a hacer un diseño más elaborado para conseguir que todos puedan leer este curso (y para terminarlo más rápido). Si tu navegador es capaz de manejar más de una ventana a la vez, las páginas de ejemplo del curso se verán en otra ventana (sólo una). De este modo es posible observar a la vez el ejemplo y la explicación y se evita la proliferación excesiva de ventanas. 1.1. Requisitos Si estás viendo este curso ya tienes en tus manos el requisito más difícil de cumplir: tener acceso a Internet y un navegador. El otro requisito es un editor de textos con el que hacer las páginas. Da lo mismo cual. Para hacer este curso yo utilizo el de MS-DOS, por ejemplo. Sin embargo, es posible entender el curso sin hacer una sola página, aunque siempre es recomendable practicar. Podéis hacer páginas con algún editor específico de páginas web, pero no es necesario. Es más, algunos de esos editores esconden las etiquetas HTML al usuario, de modo que posiblemente lo que aprendas aquí te sería de poca utilidad. 1.2. Índice del curso 1. Introducción al curso 1.1. Requisitos 1.2. Índice del curso 1.3. Agradecimientos 2. Versiones del HTML 2.1. HTML 2.0 2.2. HTML 3.0 y 3.2 2.3. HTML 4.0 2.4. Estándares en este curso 3. Mi primera página 3.1. El código 3.2. La explicación 3.3. El cuerpo del documento 4. Formateo básico 4.1. Formato del párrafo 4.2. Las 6 cabeceras 3 mailxmail - Cursos para compartir lo que sabes
  • 4. 4.3. Cambiando el tipo de letra 4.4. Formato de frase 4.5. Otros elementos 5. Caracteres especiales 5.1. Caracteres extendidos en HTML 5.2. Caracteres de control 6. Enlaces 6.1. La etiqueta <A> 6.2. Las URLs 6.3. Anclas 7. Listas 7.1. Listas desordenadas 7.2. Listas ordenadas 7.3. Listas de definiciones 8. Imágenes 8.1. Imágenes y enlaces 8.2. Alineación respecto al texto 9. Formateo fino 9.1. Cambio de color 9.2. Tamaños del texto 9.3. Tipo de letra 10. Estructura del documento 10.1. La cabecera 10.2. El cuerpo 11. Formularios 11.1. Cajas de texto 11.2. Opciones 11.3. Botones del formulario 11.4. Otros elementos 12. Controles avanzados para formularios 12.1. Botones 12.2. Etiquetas 12.3. Agrupación de elementos 12.4. Desactivación de elementos 13. Mapas 13.1. Mapas gestionados por el cliente 13.2. Cómo usar un mapa 14. Tablas 14.1. Definir las filas 14.2. Definir las celdas 14.3. Título de la tabla 15. Marcos 15.1. Etiqueta <FRAMESET> 15.2. Etiqueta <FRAME> 15.3. Acceso a otros marcos 16. Hojas de estilo 16.1. Clases 16.2. Etiquetas <SPAN> y <DIV> 17. Hojas de estilo: referencia 17.1. Propiedades de bloque 17.2. Propiedades de tipo de letra 17.3. Propiedades de formato del texto 17.4. Propiedades de color y fondo 4 mailxmail - Cursos para compartir lo que sabes
  • 5. 17.5. Propiedades de clasificación 18. Lenguajes de script 18.1. Javascript 19. Capas 19.1. Definición 19.2. Propiedades 20. Sonido 20.1. Sonido activado por el usuario 20.2. Sonido de fondo 21. Guía de estilo 21.1. Contenido 21.2. Navegación 21.3. Estructura de las páginas 21.4. Accesibilidad 21.5. Diseño 21.6. Mantenimiento y pruebas A. Enlaces a otras páginas A.1. Otros manuales de HTML A.2. Sobre JavaScript A.3. Sobre HTML dinámico A.4. Sobre otras tecnologías relacionadas B. FAQ (Preguntas más frecuentes) B.1. Para comentarme algo o preguntar otra cosa 1.3. Agradecimientos Este es el agradecimiento del Primer autor de este Manual ya que yo solo trato de ponerlo nuevamente en linea Ya que el amigo "Daniel Rodriguez" a dado por abandonado su curso y los enlaces que permitian la comunicacion con el ya no funcionan, Bueno disfruten del Curso. Aparte de dar las gracias a todos aquellos que visitan la web y en especial a los que se toman la molestia de rellenar el formulario de abajo, quiero agradecer especialmente desde aquí a todos aquellos que han colaborado en mejorar estas páginas. En especial a Peter Promenade, por indicarme la nueva manera de justificar el texto en HTML 4.0 y a Juan José Nuevo, por ayudarme con el sonido. 5 mailxmail - Cursos para compartir lo que sabes
  • 6. 2. Versiones del HTML 2.1. HTML 2.0 Cuando se produjo la explosión de Internet el estándar de HTML que circulaba era el 2.0 (establecido en noviembre del 95), de modo que cualquier navegador que encontremos será capaz de interpretarlo. Prácticamente todo lo que veamos en los próximos seis capítulos está contemplado por este estándar. 2.2. HTML 3.0 y 3.2 Aunque la versión 2.0 cumplía bien el objetivo para el que se creó, carecía de herramientas para tener un control mínimamente complejo de los documentos. No se consideró necesario que lo tuviera, ya que por aquel entonces Internet era un fenómeno más bien circunscrito a la actividad académica y el contenido primaba sobre el diseño. Debido a ello, Netscape (líder del mercado de navegadores por aquel entonces) empezó a incluir etiquetas nuevas no incluidas en ningún estándar. Por estos problemas, el IETF (el comité que suele decidir todos los estándares dentro de Internet) comenzó a elaborar el borrador del HTML 3.0, que resultó ser demasiado grande para la época, lo que dificultó su aceptación en el mercado. Esto llevó a una serie de compañias (entre ellas Netscape, Microsoft, IBM, Sun, etc...) a crear un nuevo comité llamado W3C, que es el que actualmente elabora las nuevas versiones del HTML. Su primer trabajo consistió en crear el borrador del HTML 3.2, que incluía muchas de las mejoras que los principales navegadores (Netscape y Explorer) habían introducido en Internet, como son las tablas, los applets, etc.. Este borrador fue aprobado en enero de 1997 e inmediatamente el W3C se puso a trabajar en la elaboración del siguiente estándar: el 4.0. 2.3. HTML 4.0 En julio de 1997 se presenta el borrador de este estándar. Por fin se estandarizan los marcos (frames), las hojas de estilo y los scripts (entre otras cosas). El 17 de diciembre de 1997 dicho borrador fue finalmente aprobado. 2.4. Estándares en este curso En principio cualquier navegador debería ser capaz de interpretar el HTML 3.2, pero por si necesitais saber por alguna razón el estándar al que pertenece una etiqueta o parámetro en particular, se incluirá una de las siguientes indicaciones: Introducido con la versión 3.2 del HTML Introducido con la versión 4.0 del HTML Etiqueta o parámetro no estándar soportado sólo por el Netscape Etiqueta o parámetro no estándar soportado sólo por el Explorer 6 mailxmail - Cursos para compartir lo que sabes
  • 7. 3. Mi primera página 3.1. El código <HTML> <HEAD> <TITLE>Mi primera pagina</TITLE> </HEAD> <BODY> <CENTER><H1>Mi Primera pagina</H1></CENTER> <HR> <P>Esta es mi primera pagina (chispas). Por el momento no se que tendra, pero dentro de poco pondre aqui muchas cosas interesantes. </BODY> </HTML> También puedes ver el resultado de este ejemplo. Mi Primera página Esta es mi primera pagina (chispas). Por el momento no se que tendra, pero dentro de poco pondre aqui muchas cosas interesantes. 3.2. La explicación Lo primero que conviene explicar es en qué consisten todos esos símbolos de mayor y menor que están distribuidos por ahí. El lenguaje HTML se basa en la sintaxis SGML (toma siglas). Esto quiere decir que cualquier cosa que hagamos en HTML estará encerrada entre dos etiquetas de esta manera: <ETIQUETA parámetros> ... </ETIQUETA> Hay ocasiones en que no es necesario cerrar la etiqueta. Mirando el código habréis visto un par de ejemplo que ya explicaré más adelante. Pero como lo primero que debemos indicar es que el texto que estamos componiendo es un documento HTML pues lo indicamos así: <HTML> ... </HTML> Un documento HTML tiene una estructura que lo separa en dos partes: cuerpo y cabecera. En la primera estará la página en sí, mientras que en la segunda incluiremos algunas cosas que no se ven al principio pero que pueden llegar a ser muy importantes. Lo primero que hay que incluir en el código es la cabecera. La escribimos: <HEAD> <TITLE>Mi primera pagina</TITLE> </HEAD> Dentro de la cabecera sólo hay otra etiqueta. Es la única imprescindible: el título de la página. Es lo que veremos como título de la ventana en los navegadores que lo permitan. Es como se conocerá nuestra página en algunos buscadores y en la agenda de direcciones (bookmarks) de los usuarios. Por tanto, parece importante pensarnos bien como llamarla. 3.3. El cuerpo del documento Ahora vamos a indicar el contenido. Lo primero será indicar que estamos en el cuerpo del documento: <BODY> ... </BODY> Luego pondremos el título algo recalcado: <CENTER><H1> ... </H1></CENTER> Con esto colocaremos el texto centrado (<CENTER>) y en formato <H1> (cabecera 7 mailxmail - Cursos para compartir lo que sabes
  • 8. 1) que nos asegura que aumentará el tamaño del tipo de letra lo suficiente como para que se vea bastante resaltado. Luego separamos ese título que le hemos puesto a la página del texto por medio de una línea horizontal: <HR> La línea horizontal carece de etiqueta de cierre. Esto es normal en etiquetas que no varían los atributos de un texto, sino que insertan un elemento. Por ejemplo, para indicarle que queremos separar el texto de la línea horizontal con un espacio vertical correspondiente a un párrafo nuevo le decimos: <P>Esta es mi primera pagina (chispas). Por el momento no sé que tendrá, pero dentro de poco pondré aquí muchas cosas interesantes. En el siguiente capítulo veremos muchas etiquetas que nos permitirán cambiar el aspecto de nuestros textos. 8 mailxmail - Cursos para compartir lo que sabes
  • 9. 4. Formateo básico Se pueden establecer varias categorías dentro de las etiquetas usadas para formatear el texto. Nosotros las dividiremos entre aquellas que sirven para cambiar párrafos enteros y las que son capaces de formatear tiras de caracteres dentro del párrafo. 4.1. Formato del párrafo Estas son las etiquetas más importantes (excluyendo algunas que veremos más adelante): 4.1. Formato del párrafo Estas son las etiquetas más importantes (excluyendo algunas que veremos más adelante): 4.2. Las 6 cabeceras El HTML nos ofrece seis etiquetas distintas para mostrar cabeceras. Son éstas: Estas etiquetas se pueden definir como de formato de párrafo pero por su importancia he prefirido tratarlas aparte. No resulta recomendable utilizarlas para aumentar o disminuir el tamaño del tipo de letra, ya que cada navegador los muestra de manera diferente. Se usan para dividir correctamente en secciones nuestra página, tal y como se hace en un documento de texto normal. 4.3. Cambiando el tipo de letra Todas estas etiquetas nos permiten cambiar de una manera u otra el aspecto del tipo de letra que 9 mailxmail - Cursos para compartir lo que sabes
  • 10. estemos utilizando y se pueden utilizar con tiras de caracteres dentro de un párrafo. 4.4. Formato de frase En estos elementos indicas el tipo de información que encierran las etiquetas, pero no como se representan: No son muy utilizados, ya que no permiten tener un control exacto de la manera en que la página se representará finalmente. 4.5. Otros elementos Por último, debemos estudiar algunas cosas que no son texto y que podemos incorporar a nuestra página. 10 mailxmail - Cursos para compartir lo que sabes
  • 11. Aquí tenemos en un ejemplo casi todas las etiquetas estudiadas. Mi segunda pagina La primera version de esta pagina Esta es mi primera pagina (chispas). Por el momento no se que tendra, pero dentro de poco pondre aqui muchas cosas interesantes. La primera version de esta pagina, ahora actualizada Esta es mi primera pagina (chispas). Por el momento no se que tendra, pero dentro de poco pondre; aqui muchas cosas interesantes. Y esta es la segunda version Ya tenemos aqui las cosas interesantes. Tenemos a mi novia Loli diciendo que Como me pongas en tu pagina te atizo. Tambien podemos a ver a mi querido perro fufu diciendo guau, guau y, sobre todo, el codigo fuente de este ejemplo: <HTML> <HEAD> <TITLE>Mi segunda pagina</TITLE> </HEAD> <BODY> <DIV ALIGN=CENTER><H1>Mi segunda pagina</H1></DIV> <H2>La primera version de esta página</H2> <HR> <P>Esta es mi primera pagina (chispas). Por el momento no se que tendra, pero dentro de poco pondre aqui muchas cosas interesantes. <BR><BR><H2>La primera version de esta pagina, ahora actualizada</H2> <HR> <DIV ALIGN=CENTER>Esta es mi <STRONG>primera</STRONG> pagina (<I>chispas</I>). Por el momento no se que tendra, pero <S>dentro de poco</S> pondre <EM>aqui</EM> muchas cosas <B>interesantes</B>.</DIV> <BR><BR><H2>Y esta es la segunda versión</H2> <P>Ya tenemos aqui las cosas interesantes. Tenemos a mi novia <BIG>Loli</BIG> diciendo que <BLOCKQUOTE>Como me pongas en tu pagina te atizo.</BLOCKQUOTE> Tambien podemos a ver a mi querido perro <SMALL>fufu</SMALL> diciendo <CITE>guau, guau</CITE> y, sobre todo, el codigo fuente de este ejemplo: <PRE> <!-- Aqui estaria el codigo fuente que no voy a poner porque entrariamos en un circulo vicioso.--> </PRE> </BODY> </HTML> 11 mailxmail - Cursos para compartir lo que sabes
  • 12. 5. Carácteres especiales Si os habeis fijado en los ejemplos habréis visto que en los textos de los mismos no hay acentos, ni eñes, ni símbolos de abrir interrogación o exclamación. Esto es debido a los distintos juegos de caracteres que manejan los ordenadores. Las máquinas manejan la información en formato binario (es decir, en unos y ceros). Estos, a su vez, forman números, los cuales se traducen en letras. ¿Cómo? Mediante tablas. Podemos asignar el valor 64 a la letra a, el 65 a la b, etc.. El problema está en que cada ordenador es de un fabricante distinto y puede adoptar una tabla diferente al resto. Para evitarlo existen diversos estándares y el más extendido es el ASCII. De hecho, actualmente todos los ordenadores tienen la misma tabla ASCII para los primeros 127 caracteres. Pero esa tabla no contiene vocales con acento, ni eñes, ni símbolos de abrir interrogación o exclamación... Esto nos pasa por dejar que los norteamericanos sean quienes construyan las computadoras. El HTML 2.0 eligió como tabla estándar la ISO-Latin-1, que comparte con la ASCII los 127 caracteres e incluye unos cuantos más hasta el número 255. 5.1. Caracteres extendidos en HTML La manera de incluir los caracteres extendidos (cuyo número está más allá del 127) consiste en encerrar el código entre los caracteres &# y ;. Así pues, lo siguiente: &#189; nos debería dar un medio (½). Tambié existe una serie de sinonimos para poder recordar con más facilidad estos caracteres. Así, por ejemplo, &#189; también se puede escribir como &frac12;. Vamos a ver algunos de estos códigos, los más útiles a la hora de escribir en español: 5.2. Caracteres de control En el HTML existen cuatro caracteres de control, que se usan para formar etiquetas, establecer parámetros, etc.. Para poder emplearlos sin riesgo deberemos escribir los 12 mailxmail - Cursos para compartir lo que sabes
  • 13. siguiente códigos: 13 mailxmail - Cursos para compartir lo que sabes
  • 14. 6. Enlaces Las siglas HTML significan HyperText Markup Language, lo que para nosotros quiere decir que es un lenguaje para hipertexto. Existen múltiples formatos de hipertexto (por ejemplo, los ficheros de ayuda de Windows) y lo que tienen en común es que todos poseen enlaces. Un enlace es una zona de texto o gráficos que si son seleccionados nos trasladan a otro documento de hipertexto o a otra posición dentro del documento actual. Siendo HTML el lenguaje de Internet, la diferencia que posee con respecto a otros tipos de hipertexto es que ese otro documento puede estar físicamente en la otra punta del planeta. Son los enlaces lo que hacen de la telaraña o World Wide Web lo que es. 6.1. La etiqueta <A> Para incorporar un enlace hay que utilizar esta etiqueta. Todo lo que encerremos entre <A> y </A>, ya sea texto o imágenes, será considerado como enlace y sufrirá dos modificaciones: Se visualizará de manera distinta en el navegador. El texto aparecerá subrayado y de un color distinto al habitual, y las imágenes estarán rodeadas por un borde del mismo color que el del texto del enlace. Al pulsar sobre el enlace, seremos enviados al documento que apuntaba el enlace. Para que el enlace sirva para algo debemos especificarle una dirección. Lo haremos de la siguiente manera: <A HREF="direccion">Pulsame</A> La dirección estará en formato URL (Uniform Resource Locator). 6.2. Las URLs Una URL nos indica tanto una dirección de Internet como el servicio que esperamos nos ofrezca el servidor al que corresponde la dirección. Tiene el siguiente formato: servicio://máquina:puerto/ruta/fichero@usuario donde el servicio podrá ser uno de los siguientes: http Es el servicio invocado para transmitir páginas web y el que usaremos normalmente en los enlaces. https Es una innovación sobre el anterior, que nos permite acceder a servidores (generalmente comerciales) que nos ofrecen el uso de técnicas de enciptación para proteger los datos que intercambiemos con él de terceras personas. ftp Permite trasmitir ficheros desde servidores de ftp anónimo. Si no le pedimos un fichero sino un directorio, en general el navegador se encargará de mostrarnos el contenido del mismo para que podamos escogerlo cómodamente. Utilizando la @ podremos acceder a servidores privados. mailto 14 mailxmail - Cursos para compartir lo que sabes
  • 15. Para poder mandar un mensaje. Por ejemplo, la URL mailto:multivac@idecnet.com me mandaría un mensaje a mí. news Para poder acceder a foros de discusión (mal traducidos a veces como grupos de noticias). Se indica el servidor y el grupo. Por ejemplo news://news.ibernet.es/es.comp.demos nos conectaría con el foro es.comp.demos en el servidor nacional de Telefónica. telnet No es implementado generalmente por los navegadores, que suelen invocar un programa externo. Nos permite conectarnos con otros ordenadores y entrar en ellos como si nuestro ordenador fuese una terminal del mismo. La dirección de la máquina puede ser, o bien una serie de cuatro números entre 0 y 255 (123.3.5.65) o bien algo más facil de recordar como es una serie de palabras separadas por puntos (www.programacion.net). El puerto generalmente no se indica, ya que el servicio predetermina uno. La ruta es una serie de directorios separados por el símbolo /, que es el utilizado en UNIX (el sistema operativo más extendido en los servidores de Internet). Existe otro formato de URL. Cuando queremos acceder a un fichero situado en la misma máquina que la página web que estamos creando podemos utilizar este formato: ruta_relativa/fichero En la ruta relativa podremos utilizar los dos puntos (..) para acceder al directorio padre o comenzar con la barra diagonal (/) para acceder a una ruta absoluta dentro de nuestro ordenador. 6.3. Anclas Como dijimos, es posible acceder a una posición del documento HTML. Para hacerlo, primero debemos especificar el lugar del documento al que queremos acceder: <A NAME="ancla"> Para poder ver bien como funciona, he colocado un ancla de ejemplo en el título de la sección 6.2. Para poder acceder a ese lugar incluimos el enlace de esta manera: <A HREF="#ancla">Vamos a donde antes</A> También podemos acceder a anclas situadas en documentos remotos. Para ello añadiremos el nombre del ancla al URL así: <A HREF="enlaces.html#ancla">Otra vez</A> 15 mailxmail - Cursos para compartir lo que sabes
  • 16. 7. Listas Existen varios tipos de listas en HTML. Todas ellas se pueden meter unas dentro de otras formando árboles muy bonitos y preciosos. Todos los tipos siguen el siguiente formato: <tipo_lista> <LI>Primer elemento <LI>Segundo elemento </tipo_lista> tipo_lista puede ser una de las siguientes: DIR, DL, MENU, OL y UL. 7.1. Listas desordenadas La etiqueta <UL> nos permite presentar listas de elementos sin orden alguno. Cada elemento de la lista irá normalmente precedido por un círculo. Por ejemplo, <UL> <LI>Primer elemento <LI>Segundo elemento </UL> se verá como Primer elemento Segundo elemento La etiqueta <UL> admite estos parámetros: También son listas desordenadas aquellas que utilizan las etiquetas <DIR> y <MENU>. En principio tenían como propósito representar una lista estilo directorio (multicolumna) o tipo menú (una sola columna). En la práctica los navegadores lo han implementado como sinonimos de <UL>, por lo que no los estudiaremos aquí. 7.2. Listas ordenadas La etiqueta <OL> nos permite presentar listas de elementos ordenados de menor a mayor. Normalmente cada elemento de la lista irá precedido por su número en el orden. Por ejemplo, <OL> <LI>Primer elemento <LI>Segundo elemento </OL> se verá como Primer elemento Segundo elemento La etiqueta <OL> admite estos parámetros: 16 mailxmail - Cursos para compartir lo que sabes
  • 17. 7.3. Listas de definiciones Este es el único tipo de lista que no utiliza la etiqueta <LI>. Al tener como objetivo presentar una lista de definiciones, de modo que tiene que representar de manera distinta el objeto definido y la definición. Esto se hace por medio de las etiquetas <DT> y <DD>: <DL> <DT>Primer elemento<DD>Es un elemento muy bonito. <DT>Segundo elemento<DD>Este, en cambio, es peor. </DL> se verá como Primer elemento Es un elemento muy bonito. Segundo elemento Este, en cambio, es peor. La etiqueta <DL> sólo admite como parámetro el ya conocido COMPACT, que tiene el mismo comportamiento que con los otros dos tipos de lista anteriores. 17 mailxmail - Cursos para compartir lo que sabes
  • 18. 8. Imágenes Para incluir gráficos e imágenes en nuestras páginas utilizaremos la etiqueta <IMG> de esta manera: <IMG SRC="fichero_grafico" ALT="descripcion"> El parámetro SRC especifica el nombre del fichero que contiene el gráfico. Los formatos estándar en la red son el GIF y el JPG. La últimas versiones de Netscape y Explorer aceptan también el formato PNG. El parámetro ALT especifica el texto que se mostrará en lugar del gráfico en aquellos navegadores que no sean capaces de mostrarlos (como el Lynx) y en el supuesto de que el usuario los haya desactivado. Algunos navegadores lo muestran cuando pasamos el ratón por encima de la imagen. Es por eso que, aunque algunos usuarios no lo lleguen a ver nunca, conviene ponerlo siempre. De hecho, el estádar HTML 4.0 obliga a hacerlo. Existen dos atributos que, aunque opcionales, conviene indicar siempre: la altura y la anchura del gráfico en pixels. De este modo, el navegador puede mostrar un recuadro del tamaño de la imagen mientras la va leyendo de la red y así poder mostrar el resto de la página correctamente mientras tanto. <IMG SRC="graficos/dwnldns.gif" ALT="Netscape 4.0" WIDTH=88 HEIGHT=31> Para los menos avezados en inglés, decir que WIDTH es la anchura y HEIGHT la altura. 8.1. Imágenes y enlaces Suele ser común incluir enlaces dentro de un gráfico. En ese caso, por defecto, los navegadores le pondrán un borde al gráfico para indicar que efectivamente es un enlace. Práctico, pero la mayoría de las veces bastante poco estético. Por medio del parámetro BORDER podremos alterar el grosor de ese borde o incluso eliminarlo poniendolo a cero. <A HREF="http://www.netscape.com"> <IMG SRC="graficos/dwnldns.gif" ALT="Netscape 4.0" WIDTH=88 HEIGHT=31> </A> Se ve así: Sin embargo, <A HREF="http://www.netscape.com"> <IMG SRC="graficos/dwnldns.gif" ALT="Netscape 4.0" WIDTH=88 HEIGHT=31 BORDER=0> </A> 8.2. Alineación respecto al texto Para poder maquetar conjuntamente texto y gráficos, el HTML proporciona, por medio del parámetro ALIGN, las siguientes maneras de alinear una imagen respecto del texto que la acompaña: Hay que aclarar que la base del texto es la línea donde descansan casi todas las letras del alfabeto excepto algunas como la p, la g o la j. 18 mailxmail - Cursos para compartir lo que sabes
  • 19. 19 mailxmail - Cursos para compartir lo que sabes
  • 20. 9. Formateo fino Lo ideal cuando trabajas con texto sería poder cambiarlo al tamaño que te viniese bien, ponerlo de colorines y cambiar el tipo de letra. Todo esto puedes hacerlo gracias a la etiqueta <FONT>. 9.1. Cambio de color Para hacerlo vamos a utilizar el parámetro COLOR. La manera de especificarle el color es común a todas las etiquetas HTML: o bien indicando el nombre, si es un color normal, o bien especificando el porcentaje de rojo, verde y azul (código RGB) del mismo. Los colores reconocidos son los siguientes: <FONT color="red">Estoy en rojo</FONT> El modo de indicar el color RGB es el siguiente: <FONT COLOR="#FF0000">D</FONT> <FONT COLOR="#EF0000">E</FONT> <FONT COLOR="#DF0000">G</FONT> <FONT COLOR="#CF0000">R</FONT> <FONT COLOR="#BF0000">A</FONT> <FONT COLOR="#AF0000">D</FONT> <FONT COLOR="#9F0000">A</FONT> <FONT COLOR="#8F0000">D</FONT> <FONT COLOR="#7F0000">O</FONT> Lo que nos mostraría lo siguiente: DEGRADADO La primera componente en hexadecimal es el rojo, la segunda el verde y la tercera el azul (Red Green Blue, RGB). 9.2. Tamaños del texto El parámetro utilizado para indicar el tamaño es SIZE. Puede utilizarse para indicar tamaños absolutos: SIZE=1 SIZE=2 SIZE=3 SIZE=4 SIZE=5 SIZE=6 SIZE=7 El tamaño por defecto es 3. También se puede utilizar los modificadores + y - para indicar un incremento (o decremento) relativo del tamaño del tipo de letra. Así, por ejemplo, si indicamos que queremos un tamaño de -2 estaremos pidiendo al navegador que nos muestre el tipo de letra dos veces más pequeño. <FONT SIZE=2>Tamaño 2<FONT SIZE="+3"> Tamaño 6</FONT></FONT> 9.3. Tipo de letra Por último, podemos especificar el nombre del tipo de letra que queremos utilizar gracias al parámetro FACE. Como en principio no tenemos manera de saber que tipo de letra tiene instalado el ordenador del usuario que está viendo nuestras páginas, 20 mailxmail - Cursos para compartir lo que sabes
  • 21. podemos indicar más de uno separado por comas. Si el navegador no encuentra ninguno seguirá utilizando el que tiene por defecto: <FONT FACE="Helvetica,Arial,Times">No sé como voy a salir exactamente</FONT> De todos modos es recomendable no utilizar con fe ciega este atributo en Internet, ya que impide que todos puedan ver nuestras páginas como nosotros. E Internet, siempre que nos lo permitan Microsoft y Netscape, debe ser lo más estándar posible. 21 mailxmail - Cursos para compartir lo que sabes
  • 22. 10. Estructura del documento La estructura de un documento HTML se puede resumir así: tipo de documento <HTML> <HEAD> <TITLE>titulo de la página</TITLE> cosas que afectan a la página pero no a su contenido </HEAD> <BODY parámetros> contenido de la página </BODY> </HTML> En el tipo de documento deberemos especificar a que estándar del HTML responde nuestra página entre una de las siguientes opciones: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> Cumple el estándar HTML 2.0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> Cumple el estándar HTML 3.2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://w3.org/TR/REC-html40/loose.dtd"> Cumple el estándar HTML 4.0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://w3.org/TR/REC-html40/strict.dtd"> Cumple el estándar HTML 4.0 y no contiene además elementos desaconsejables <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://w3.org/TR/REC-html40/frameset.dtd"> Es una definición de marcos que cumple el estándar HTML 4.0 El HTML 4.0 considera desaconsejables aquellos elementos que, aún siendo soportados, han sido sustituidos por otros más potentes y, por ello, es posible que sean eliminados del estándar HTML en el futuro. 10.1. La cabecera Suele ser el lugar más indicado para colocar aquellos elementos de la página que no alteren el contenido de la misma, aunque si la forma de presentarlo y su comportamiento. Es por eso que es el lugar más recomendable para colocar losscripts y las hojas de estilo, como veremos en los capítulos correspondientes. Además del título de la página, uno de los elementos que se pueden incluir aquí son los META. Entre otras cosas, sirven para indicar propiedades de la página como pueda ser el nombre de su autor. Por ejemplo, <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [es] (Win95; I) [Netscape]"> nos indicaría la herramienta con que hemos creado la página (en este caso la versión 4.03 en español para Windows 95 del Composer de Netscape). Estas son las propiedades más comunes: Hay también otro elemento interesante que podremos incluir en nuestras cabeceras. Cuando especificamos una URL relativa en un enlace, en principio es para acceder a una página situada en nuestro mismo servidor. Sin embargo, si especificamos: <BASE HREF="http://www.hornet.org/music"> Ahora todas nuestras URLs relativas se referirán al directorio /music dentro del servidor http://www.hornet.org http://www.hornet.org. 10.2. El cuerpo 22 mailxmail - Cursos para compartir lo que sabes
  • 23. Obviamente no voy a explicar lo que entra dentro del cuerpo (prácticamente todos los capítulos del curso intentan hacerlo) sino los parámetros que admite la etiqueta <BODY>: No resulta recomendable cambiar los colores del texto y enlaces a no ser que exista alguna dificultad al leerlos por haber cambiado el fondo, ya que en muchas ocasiones el usuario ha podido cambiarlos en las opciones de su navegador y estarán ya a su gusto. 23 mailxmail - Cursos para compartir lo que sabes
  • 24. 11. Formularios Una de las mayores ventajas de la web es que resulta tremendamente interactiva. Los usuarios de una página no tienen más que escribir al autor de la misma para comentarle cualquier cosa de la misma. Sin embargo, si deseamos que nos digan sólo unas cosas concretas (responder a alguna pregunta, seleccionar entre varias opciones, etc..) deberemos utilizar formularios. Por ejemplo, <FORM ACTION="" METHOD=POST> Nombre:<BR><INPUT NAME="nombre" TYPE=TEXT SIZE=32> <BR>¿Cuantos son dos y dos?<BR> <INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal">3<BR> <INPUT NAME="Respuesta" TYPE=RADIO VALUE="bien">4<BR> <INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal">5<BR> <INPUT TYPE="Submit" VALUE="Comprobar"> </FORM> se verá así: El botón no hace nada porque no hemos definido qué debe hacer, así que sed buenos y no lo pulséis. Todos los elementos de un formulario deben estar encerrados entre <FORM> y </FORM>. Como parámetros cabe destacar tres. ACTION define el URL que deberá gestionar el formulario. Puede ser una dirección de correo (precedida del inevitable mailto:, en cuyo caso deberemos añadir el parámetro ENCTYPE="text/plain" para que lo que recibamos resulte legible. Por otro lado, tenemos el parámetro METHOD define la manera en que se mandará el formulario. Es recomendable utilizar POST. En el caso de que estemos mandando el formulario a nuestra dirección de correo electrónico es obligado usarlo. Ahora vamos a ver uno a uno todos los elementos que podemos incluir en un formulario. Veremos que todos ellos tienen algo en común. Como el resultado de cualquier formulario es una lista de variables y valores asignados a las mismas, todos ellos tendrán un atributo en común: el nombre de su variable. El parámetro también será común a todos: NAME. 11.1. Cajas de texto Existen tres maneras de conseguir que el usuario introduzca texto en nuestro formulario. Las dos primeras se obtienen por medio de la etiqueta <INPUT>: <INPUT TYPE=TEXT> <INPUT TYPE=PASSWORD> 24 mailxmail - Cursos para compartir lo que sabes
  • 25. El primero nos dibujará una caja donde escribir un texto (de una sola línea). El segundo es equivalente, pero no veremos lo que tecleemos en él. Estos son los atributos para modificarlos: Por otro lado, puede que necesitemos que el usuario pueda introducir más de una línea. En ese caso se utilizará la siguiente etiqueta: <TEXTAREA> Por defecto </TEXTAREA> Por defecto Lo que incluyamos entre las dos etiquetas será lo que se muestre por defecto dentro de la caja. Admite estos parámetros: 11.2. Opciones Si lo que deseamos es que el usuario decida entre varias opciones podremos hacerlo de dos modos. El primero es el que vimos en el ejemplo inicial: 3<INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal"><BR> 4<INPUT NAME="Respuesta" TYPE=RADIO VALUE="bien"><BR> 5<INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal"><BR> 3 4 5 Para asociar varios botones de radio a una misma variable les pondremos a todos ellos el mismo NAME. Aparte de esto acepta los siguientes parámetros: Parámetro Utilidad VALUE Este es el valor que asignará a la variable. CHECKED Si lo indicamos en una de las opciones esta será la que esté activada por defecto. Pero también tenemos una posibilidad que ocupa bastante menos: las listas desplegables. Para emplearlas deberemos utilizar dos etiquetas, SELECT y OPTION: 25 mailxmail - Cursos para compartir lo que sabes
  • 26. <SELECT NAME="Navegador"> <OPTION>Netscape <OPTION>Explorer <OPTION>Opera <OPTION>Lynx <OPTION>Otros </SELECT> Netscape Explorer Opera Lynx Otros Los parámetros que admite SELECT son las siguientes: Parámetro Utilidad SIZE El número de opciones que podremos ver. Si es mayor que 1 veremos una lista de selección y, si no, veremos una lista desplegable. MULTIPLE Si lo indicamos podremos elegir más de una opción. Y OPTION estos: Parámetro Utilidad VALUE Este es el valor que asignará a la variable. SELECTED Si lo indicamos en una de las opciones esta será la seleccionada por defecto. 11.3. Botones del formulario Existen dos: uno que se utiliza para mandar el formulario y otro que sirve para limpiar todo lo que haya rellenado el usuario: <INPUT TYPE=SUBMIT><BR> <INPUT TYPE=RESET> Podemos cambiar el texto que el navegador pone por defecto en esos botones utilizando el parámetro VALUE. 11.4. Otros elementos Puede que necesitos que el usuario sencillamente nos confirme o niegue algo. Lo podremos conseguir por medio de controles de confirmación: <INPUT NAME="Belleza" TYPE=CHECKBOX>Me considero guapo/a Me considero guapo/a Si queremos que el control esté activado por defecto le añadiremos el parámetro CHECKED. El formulario asignará a la variable NAME el valor on u off. Por último, existe la posibilidad de que necesitemos que, en el formulario, tengamos alguna variable con un valor previamente asignado. Por ejemplo, en todos los cursos 26 mailxmail - Cursos para compartir lo que sabes
  • 27. que tengo el formulario es el mismo. Y de alguna manera tendré que distinguirlos cuando me lleguen, digo yo. Así que incluyo algo como esto: <INPUT TYPE=HIDDEN NAME="Curso" VALUE="HTML 4.0"> De este modo ya sé de que curso me están hablando. 27 mailxmail - Cursos para compartir lo que sabes
  • 28. 12. Controles avanzados para formularios El estándar HTML 4.0 ha traído varias mejoras a los formularios, que acercan los mismos a las características que tienen en lenguajes como Java o Visual Basic. Desafortunadamente, el Netscape 4, lanzado al mercado antes de la aprobación del HTML 4.0, no implementa ninguna de estas mejoras, por lo que los ejemplos de este capítulo sólo serán contemplados correctamente por los usuarios de Explorer 4 y 5 y los arriesgados usuarios de las versiones beta del futuro Netscape 5. 12.1. Botones Una de las cosas que más han mejorado son los botones. Ahora disponen de una etiqueta propia, de modo que se pueda encerrar con ella todo tipo de elementos HTML, como gráficos o, incluso, tablas enteras. Como no podía ser de otra manera, la etiqueta en cuestión se llama BUTTON: <BUTTON TYPE="button"> <table border="1"> <tr> <th>Soy una</th> <th>tabla</th> < / t r > <tr> <td>que está</td> <td>en un botón</td> < / t r > </table> </BUTTON> Soy una tabla que está en un botón Los parámetros de dicha etiqueta son los normales, TYPE, que podrá tomar los valores SUBMIT (por defecto), RESET y BUTTON, NAME y VALUE. Por otro lado, ahora podemos declarar un gráfico como un elemento más de entrada. como un nuevo tipo dentro del elemento INPUT: <INPUT TYPE="image" SRC="graficos/nav.gif" alt="Elije navegador"> Este elemento se comportará de mismo modo que un botón de tipo SUBMIT, pero añadirá como información en el formulario las coordenadas x e y donde el usuario lo pulsó. 12.2. Etiquetas Hasta hora, el texto que acompañaba a los campos de entrada no estaba asociado a los mismos de ninguna manera. Así, por ejemplo, si pulsábamos en el texto que acompañaba a un control de confirmación, no sucedía nada. Ahora, en cambio, si utilizamos la etiqueta LABEL, el control cambiará de estado (sólo disponible en 28 mailxmail - Cursos para compartir lo que sabes
  • 29. utilizamos la etiqueta LABEL, el control cambiará de estado (sólo disponible en Netscape 5): <LABEL> <INPUT NAME="Belleza" TYPE=CHECKBOX> Me considero guapo/a </LABEL> Me considero guapo/a Lo bueno que tiene es que se puede usar sin peligro, ya que no afectará a los usuarios de navegadores antiguos. 12.3. Agrupación de elementos 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 imágenes. Ahora, si encerramos una parte de un formulario dentro de la etiqueta FIELDSET se mostrará un rectángulo alrededor de los mismos. Si además, le indicamos un título por medio de la etiqueta LEGEND nuestros formularios quedarán hechos un verdadero primor: <FIELDSET> <LEGEND>Mi hermoso formulario</LEGEND> <LABEL> Mi texto: <INPUT TYPE="text"> </LABEL> </FIELDSET> Mi hermoso formularioMi texto: LEGEND admite como parámetro ALIGN, que indicará en qué lugar se coloca el título. Por defecto es TOP (arriba), pudiendo estar también abajo (BOTTOM), a la izquierda (LEFT) o a la derecha (RIGHT). 12.4. Desactivación de elementos Todos los controles de un formulario se pueden desactivar, impidiendo así al usuario que los utilice. Se seguirán mostrando en pantalla, aunque con un aspecto distinto para indicar su triste estado. Para ello sólo tenemos que indicarle el parámetro DISABLED: <LABEL DISABLED>Texto: <INPUT TYPE=TEXT DISABLED> </LABEL> Texto: 29 mailxmail - Cursos para compartir lo que sabes
  • 30. Esto, en principio, no parece de demasiada utilidad. ¿Para qué queremos tener controles desactivados? Para eso no los ponemos, ¿no? Lo bueno que tiene es que el estado de activación de un control es accesible desde JavaScript. Eso nos permitirá activar o desactivar una parte de nuestro formulario dependiendo de lo que el usuario haya introducido previamente en otros controles del mismo. 30 mailxmail - Cursos para compartir lo que sabes
  • 31. 13. Mapas Hemos visto que podemos hacer enlaces de texto y de gráficos. Pero también existe otra posibilidad: que dentro de una sola imagen podamos acceder a varios enlaces. Se hace declarando zonas dentro de la imagen (rectángulos, círculos, etc..), siendo cada una de ellas un enlace distinto. Tradicionalmente, siempre han existido dos maneras de hacerlo: Mapas gestionados por el cliente (el navegador). Mapas gestionados por el servidor. Los segundos fueron los primeros en desarrollarse y estaban incluidos dentro del estándar HTML 2.0. Sin embargo, nunca hubo una manera común de gestionar esos mapas. Debido a ello, Netscape elaboró un sistema propio que fue incluido en el estándar 3.2: los mapas gestionados por el navegador. 13.1. Mapas gestionados por el cliente Para utilizarlos necesitaremos dos cosas: declarar el mapa y asignarlo a una imagen. Vamos primero a declarar nuestro mapa: <MAP NAME="mi_mapa"> <AREA SHAPE=... COORDS=... ALT="Enlace a.."> ... </MAP> Dentro de la etiqueta MAP sólo podremos definir el nombre del mapa (algo imprescindible, por otra parte). Es dentro de cada elemento AREA donde podremos definir cosas más interesantes: Parámetro Utilidad SHAPE Define la forma de la zona, que podrá ser rectangular, circular o poligonal. COORDS Coordenadas (separadas por comas) que definen la zona. El número y significado de esas coordenadas dependerá de la zona. HREF URL a donde irá el usuario si pulsa sobre esa zona. NOHREF Especifica que esa zona no tiene asignado enlace alguno. ALT Texto que se presentará en lugar de la imagen en navegadores no gráficos para acceder al enlace. Como podemos ver, para declarar correctamente una zona necesitamos conocer cómo se definen exactamente las formas y coordenadas: SHAPE COORDS Rectangular RECT "x1,y1,x2,y2" siendo (x1,y1) la esquina superior izquierda y (x2,y2) la inferior derecha. Circular CIRC "x,y,radio" siendo (x,y) el centro del círculo y radio su... eehh.. ¿cómo lo diría yo? ¿Su radio?. "x1,y1,x2,y2,x3,y3,..." definiendo cada pareja (x,y) 31 mailxmail - Cursos para compartir lo que sabes
  • 32. Polígono irregular POLY "x1,y1,x2,y2,x3,y3,..." definiendo cada pareja (x,y) una esquina del polígono. La última pareja de coordenadas se unirá a la primera para cerrar el polígono. Toda la imagen DEFAULT No se indican. 13.2. Cómo usar un mapa Ahora que hemos definido un mapa, sólo queda asignarlo a una imagen. Esto se hace del siguiente modo: <IMG SRC=... USEMAP="#mi_mapa"> Siempre tenemos que añadir al comienzo del nombre de nuestro mapa una almohadilla (#). Vamos a ver un ejemplo: <MAP NAME="navegadores"> <AREA SHAPE=RECT COORDS="0,0,24,31" HREF="http://www.netscape.com" ALT="Netscape"> <AREA SHAPE=RECT COORDS="26,0,53,31" HREF="http://www.microsoft.com" ALT="Microsoft"> <AREA SHAPE=DEFAULT NOHREF ALT="Nada"> </MAP> <IMG SRC="nav.gif" WIDTH=53 HEIGHT=31 BORDER=0 USEMAP="#navegadores"> Hay que tener en cuenta que, cuando dos zonas se solapan, la que esté declarada primero es la que tiene preferencia. Por eso declaramos al final una zona que no conduce a ningún URL por si el usuario pulsa con el ratón donde no debe. 32 mailxmail - Cursos para compartir lo que sabes
  • 33. 14. Tablas Las tablas son posiblemente la manera más clara de organizar la información. También es el modo más adecuado de maquetar texto y gráficos de una manera algo más controlada que con los parámetros ALIGN. Las tablas se definen de la siguiente manera. Primero, las características de la tabla, luego las de cada fila y dentro de ésta, cada celda. Así pues, una tabla con 2 filas y 3 columnas se declarará así: Como podéis ver (o mejor no ver) la tabla no tiene mucho aspecto de tabla. Quedaría mejor con unos bordes, ¿no? Puede que tampoco le viniese mal mayor espacio entre celdas o mayor anchura. Estas son las cosas que podremos cambiar con los atributos de TABLE: Si ahora, por ejemplo definimos ahora la tabla anterior como <TABLE BORDER=1 WIDTH="50%" ALIGN=CENTER> veremos lo siguiente: 14.1. Definir las filas Ahora que hemos definido la tabla nos toca hacer lo mismo con las filas. Cada fila se define con una etiqueta TR, que tiene los siguientes atributos: 14.2. Definir las celdas Por último, nos queda definir cada celda gracias a la etiquetas TD y TH. Estas etiquetas son equivalentes, pero la última se utiliza para encabezados, de modo que su interior se escribirá por defecto en negrita y centrado. Estos son los atributos de ambas: 33 mailxmail - Cursos para compartir lo que sabes
  • 34. Posiblemente los dos últimos parámetros no puedan quedar claros sin ejemplos. De hecho, aún entendiendo perfectamente su función es habitual que confundamos a uno con otro. Pero bueno, vamos a ver una tabla de 3x3 con una celda que se une a una de la derecha y otra que se une a otra de debajo: Como podemos ver, cuando declaramos un celda con ROWSPAN o COLSPAN, no deberemos declarar las celdas "absorbidas" o la creación de la tabla se nos complicará de horrible manera. 14.3. Título de la tabla Por último, vamos a ver como definir un título a la tabla. Esto se hace por medio de la etiqueta CAPTION. Para ver cómo funciona, vamos a incluirlo en la declaración de la tabla anterior: Esta etiqueta admite sólo un parámetro: ALIGN, que es por defecto TOP. Si lo definimos como BOTTOM el título se colocará al final de la tabla en lugar del comienzo. 34 mailxmail - Cursos para compartir lo que sabes
  • 35. 15. Marcos Un marco (o frame) es una ventana independiente dentro de la ventana general del navegador. Cada marco tendrá sus bordes y sus propias barras de desplazamiento. Así cada página se dividirá en la práctica en varias páginas independientes. Para crearlos necesitaremos un documento HTML específico, que llamaremos documento de definición de marcos. En él especificaremos el tamaño y posición de cada marco y el documento HTML que contendrá. Vamos a ver un ejemplo de este tipo de documento: <HTML> <HEAD> <TITLE>Mi primera página con marcos</TITLE> </HEAD> <FRAMESET COLS="20%,80%"> <FRAME NAME="indice" SRC="indice.html"> <FRAME NAME="principal" SRC="introduccion.html"> <NOFRAMES> <P>Lo siento, pero sólo podrás ver esta página si tu navegador tiene la capacidad de visualizar marcos.</P> </NOFRAMES> </FRAMESET> </HTML> Vamos a explicar detalladamente este ejemplo antes de investigar algo más a fondo cada una de las etiquetas. Vemos que la cabecera de la página es similar a un documento normal, pero el habitual BODY es sustituido por un FRAMESET. En cada FRAMESET se divide la ventana actual (sea la general o un marco) en varias ventanas definidas o por el parámetro COLS o por ROWS. En éste, separado por comas, se define el número de marcos y el tamaño de cada uno. Dentro del <FRAMESET> se hacen dos cosas. Primero, definir cada uno de los marcos poniendoles un nombre y especificando qué fichero HTML le corresponde mediante la etiqueta <FRAME>. Por último, especificamos lo que verá el usuario en el supuesto (cada vez más raro) de que su navegador no soporte frames dentro de la etiqueta <NOFRAMES>. Ahora veremos todos estos elementos en mayor detalle. 15.1. Etiqueta <FRAMESET> Según el estándar, esta etiqueta sólo debería contener el número y tamaño de cada marco, pero las extensiones de Netscape y Explorer al estándar obligan a estudiar un par de parámetros más. En general, los navegadores dibujan un borde de separación entre los marcos. Si deseas eliminarlo puedes hacerlo de dos maneras: en las etiquetas <FRAME> de cada una de los marcos contiguos al borde a eliminar o incluyendo el parámetro FRAMEBORDER=0 en el <FRAMESET>. Cuando eliminas ese borde, podrás ver cómo el navegador deja aún un hueco entre marcos. Este se elimina añadiendo los parámetros FRAMESPACING=0 BORDER=0. Vamos a examinar por último los parámetros COLS y ROWS. Deberemos asignarles una lista de tamaños separada por comas. Se admiten los siguientes formatos de tamaño: Con porcentajes: Al igual que con las tablas, podemos definir el tamaño de un marco como un porcentaje del espacio total disponible. Absolutos: Si ponemos un número a secas, el marco correspondiente tendrá el tamaño especificado en pixels. Sobre el espacio so Sobre el espacio sobrante: Si colocamos un asterisco (*) estaremos indicando que queremos todo el espacio sobrante para ese marco. Podemos poner este símbolo en varios marcos, que se repartirán el espacio equitativamente como buenos hermanos. Si queremos que uno tenga más deberemos ponerle al asterisco un número delante. Así, un marco con un espacio de 3* será tres veces más grande que su compañero, que tiene un asterisco sólo, el pobre. 35 mailxmail - Cursos para compartir lo que sabes
  • 36. Por ejemplo, el siguiente código es una muestra de cómo combinar los tres métodos: <FRAMESET COLS="10%,*,200,2*"> Supongamos que el ancho total de la ventana son 640 pixels. El primer marco ocupará el 10%, es decir, 64 pixels. El tercero necesita 200, luego nos quedan 476 para los otros dos. Como el cuarto debe tener el doble de espacio que el segundo, tenemos aproximadamente 158 pixels para este último y 316 para el cuarto marco. Hay que tener cuidado cuando usamos valores absolutos en la definición de marcos; debemos asegurarnos de tener al menos un marco con un tamaño relativo si queremos estar seguros del aspecto final de la página. Por último, indicar que las etiquetas <FRAMESET> se pueden anidar. Esto se hace poniendo otro <FRAMESET> donde normalmente colocamos las etiquetas <FRAME> tal que así: <FRAMESET COLS="20%,80%"> <FRAME NAME="indice" SRC="indice.html"> <FRAMESET ROWS="*,80"> <FRAME NAME="principal" SRC="introduccion.html"> <FRAME NAME="ejemplos" SRC="ejemplo.html"> </FRAMESET> </FRAMESET> 15.2. Etiqueta <FRAME> Esta etiqueta define tan sólo las características de un marco determinado, no de un conjunto de ellos. Estos son los parámetros que admite: Parámetro Utilidad NAME Asigna un nombre a un marco para que después podamos referirnos a él. SRC Indica la dirección del documento HTML que ocupará el marco. SCROLLING Decide si se colocan o no barras de desplazamiento al marco para que podamos movernos por su contenido. Su valor es por defecto AUTO, que deja al navegador la decisión. Las otras opciones que tenemos son YES y NO. NORESIZE Si lo especificamos el usuario no podrá cambiar de tamaño el marco. FRAMEBORDER Al igual que su homónimo en la etiqueta <FRAMESET>, si lo igualamos a cero se eliminará el borde con todos los marcos contiguos que tengan también este valor a cero. MARGINWIDTH Permite cambiar los márgenes horizontales dentro de un marco. Se representa en pixels. MARGINHEIGHT Igual al anterior pero con márgenes verticales. 15.3. Acceso a otros marcos Por defecto, cuando pulsamos sobre un enlace situado dentro de un marco, la nueva página a la que queremos acceder la veremos encerrada en ese mismo marco. Es posible que deseemos que esto no ocurra. Por ejemplo, si tenemos un marco que no sirve de índice y otro donde mostramos los contenidos sería deseable que los enlaces del marco índice se abrieran en el otro marco. Esto es posible hacerlo gracias al parámetro TARGET. Este parámetro se puede colocar en tres etiquetas: <A>, <AREA> y <BASE>. En las dos primeras sirve para indicar el marco en el que abriremos ese enlace en particular y el último modificaremos el marco en el que por defecto se nos muestran todos los enlaces. Pero para que un parámetro funcione, es habitual que le asignemos un valor, y TARGET no es una excepción. Para indicarle el marco que deseamos le asignaremos el nombre del mismo. Así, en los ejemplos anteriores, si en el marco llamado indice tenemos un enlace que queremos se abra en el marco principal pondremos: <A HREF="pagina.html" TARGET="principal"> También existen cuatro nombres reservados que podremos utilizar en el parámetro TARGET: _top Elimina todos los marcos existente y muestra la nueva página en la ventana original sin marcos. _blank Muestra la nueva página en una ventana nueva y sin nombre del navegador. _self Muestra la nueva página en el marco donde está declarado el enlace. _parent Muestra la nueva página en el <FRAMESET> que contiene al marco donde se declara el enlace. En el ejemplo que pusimos de <FRAMESET> anidados, una enlace situado en el marco ejemplo cuyo parámetro TARGET fuese igual a _parent eliminaría la separación entre los marcos ejemplo y principal y mostraría en ese nuevo marco la nueva página. 36 mailxmail - Cursos para compartir lo que sabes
  • 37. 16. Hojas de estilo Las hojas de estilo intentan separar el contenido de un página de la forma de presentarlo en pantalla. Esto lo hacen personificando los cambios que las etiquetas de formato HTML realizan en nuestro texto. Por ejemplo, sabemos que usando <P> tendremos una párrafo nuevo con una separación del anterior determinada, etc.. Con las hojas de estilo también podremos decirle a un párrafo que todo su texto sea verde y que además va a tener un margen izquierdo de 30 pixels. Por ejemplo. El primer navegador en soportar hojas de estilo fue el Explorer 3.0. Utiliza la llamada sintaxis en cascada. El Communicator acepta esa sintaxis e introduce una nueva basada en JavaScript. Sin embargo, como el estándar más comunmente aceptado de sintaxis de hojas de estilo es el de cascada, será este el único que veamos. Vamos a empezar con un ejemplo: <STYLE TYPE="text/css"> P {color: green; margin-left: 30;} </STYLE> Vamos a detenernos en todos los elementos. Para empezar, la etiqueta HTML con la que deberemos englobar las hojas de estilo será <STYLE>, que sólo podrá estar situada en la cabecera de la página. Su parámetro TYPE indica la sintaxis que utilizaremos para definirlas. En el caso de las hojas en cascada deberá ser text/css. Ahora examinemos la hoja de estilo propiamente dicha. Indicaremos primero la etiqueta que deseamos personalizar. Será <P>. Después, entre llaves, pondremos una lista de las cosas que queremos modificar. En nuestro caso son dos, el color (en el formato habitual) y el margen, que se define en pixels. Hay que destacar que, aunque muchas veces los navegadores tengan una cierta manga ancha, la sintaxis CSS (Cascading Style Sheet) es sensible a la diferencia entre mayásculas y minúsculas. Conviene tener cuidado. El HTML 4.0 permite declarar fuera de la página las hojas de estilo, llevando de este modo al extremos su filosofía de separar forma y contenido. Si colocamos nuestras hojas de estilo en un fichero llamado estilos.css (solo las hojas, no la etiqueta <STYLE>) no tendremos más que incluir la siguiente línea en la cabecera de nuestro documento HTML para incluirlas en nuestras páginas: <LINK REL="stylesheet" HREF="estilos.css" TYPE="text/css"> Vamos a ver cómo quedaría un párrafo que siguiese la hoja de estilo anterior Si la cosa va bien, este párrafo estará escrito en verde y con un margen izquierdo de 30 pixels. Precioso, ¿no? embargo, estoy convencido de que los más avispados se habrán dado cuenta de que les estoy ocultando algo. Por lo que he dicho hasta ahora la personalización de una etiqueta debería ser general y en esta página sólo este párrafo está modificado. No os preocupéis demasiado, ahora os cuento como se hace. 16.1. Clases Hasta ahora habíamos definido estilos para una etiqueta determinada. Pero también podemos hacerlo para una clase determinada. ¿Esto que significa? Pues que si, por ejemplo, definimos la hoja de estilo de la clase verde de la siguiente manera: P.verde {color: green; margin-left: 30px;} 37 mailxmail - Cursos para compartir lo que sabes
  • 38. P.verde {color: green; margin-left: 30px;} sólo estarán verdes y con un margen izquierdo de 30 pixels aquellos párrafos definidos con <P CLASS="verde">. Así de sencillo. Ampliando un poco más las posibilidades de las clases, se pueden realizar excepciones. Supongamos que tenemos unos párrafos que queremos que tengan unos márgenes determinados y color verde. Y deseamos que uno solo de esos párrafos, con los mismo márgenes, sea azul. Podríamos definir dos clases distintas, pero hay un método mejor: usar el parámetro ID. Por ejemplo: all.verde {color: green; margin-left: 10px;} #ej1 { color: blue;} Ahora todos los párrafos de clase verde serían, obviamente, verdes y con un margen de 10 pixels. Sin embargo el párrafo definido por <P CLASS="verde" ID="ej1"> será azul: Este párrafo es muy verde. Y anda que este... Sin embargo, este no, fíjate que curioso. 16.2. Etiquetas <SPAN> y <DIV> Puede que, a veces, no queramos modificar el comportamiento de un elemento sino que creemos un estilo que queremos actúe sólo, un estilo completo creado de la nada. Una etiqueta nueva y propia. Entonces, ¿qué hacemos? Utilizar las etiqueta <SPAN> y <DIV>. El método es simple. Definimos una clase rojo que simplemente modifique el color (que será rojo). Ahora, si queremos que una sección de texto esté en rojo lo encerraremos entre las etiquetas <SPAN CLASS="rojo"> y </SPAN> o entre <DIV CLASS="rojo"> y </DIV>. La diferencia entre ambas es que, mientras SPAN realmente no hace nada por sí misma, DIV convierte a todo lo que encierra en un bloque aparte (poniendo un salto de línea tanto al comienzo como al final). Veremos en el siguiente capítulo que a las etiquetas que se comportan como bloques (<P>, <H1>, las que dijimos modifican un párrafo entero) se les pueden definir atributos propios desde las hojas de estilo. Por ejemplo, si definimos las siguientes hojas: all.titulo { margin-top: -24px; color: blue; font-size: 20px; } all.sombra { margin-top: 2px; margin-left: 2px; color: black; font-size: 20px; } cuyos atributos explicaremos en la referencia de las hojas de estilo, y ponemos el siguiente código HTML: <DIV ALIGN="CENTER" CLASS="sombra">El maravilloso curso de HTML</DIV> <DIV ALIGN="CENTER" CLASS="titulo">El maravilloso curso de HTML</DIV> obtendremos este bello efecto: El maravilloso curso de HTML El maravilloso curso de HTML En el siguiente capítulo tenéis una guía de referencia con todos (o casi todos) los atributos que se pueden modificar con CSS. 38 mailxmail - Cursos para compartir lo que sabes
  • 39. 17. Hojas de estilo: referencia En este capítulo vamos a ver todas (o casi todas) las propiedades que se pueden alterar por medio de las hojas de estilo. Hay que indicar que algunos de ellos no los soporta el Explorer y en cambio otros no los entiende el Communicator. Así que es recomendable probarlos en ambos exploradores antes de incorporarlos a nuestras páginas. 17.1. Propiedades de bloque Vamos a empezar con las propiedades de bloque, que definen cosas como los márgenes o la colocación de bloques de contenido HTML: 17.2. Propiedades de tipo de letra Ahora vamos a examinar las propiedades del tipo de letra que el usuario va a ver. Son las siguientes: Cabe recordar que los tipos genéricos son serif, sans-serif, cursive, fantasy y monospace. Cada uno de estos tipos serán equivalentes a alguno que pueda tener instalado el ordenador del usuario. Así, por ejemplo, en un PC con Windows instalado serif puede equivaler a Times New Roman y monospace a Courier. 17.3. Propiedades de formato del texto Nuesto siguiente objetivo van a ser las propiedades de formato del texto que cualquier procesador de textos nos permite cambiar. 39 mailxmail - Cursos para compartir lo que sabes
  • 40. 17.4. Propiedades de color y fondo También es posible cambiar los colores y el gráfico de fondo de un elemento. Hay que decir que, en la sintaxis en cascada, las direcciones se expresan del siguiente modo: background: url(fondobonito.gif); 17.5. Propiedades de clasificación Hasta ahora habíamos distinguido a la hora de ver las propiedades de un elemento en si estos eran tratados como bloques o no. Pero el ser bloques o no... ¿no es acaso otra propiedad? Estas y otras formas de clasificar los elementos se pueden cambiar usando las siguientes propiedades: Y ahora... ya no hay más... ¡por fín acabamos! Dejadme que respire un poco y ahora continuamos. 40 mailxmail - Cursos para compartir lo que sabes
  • 41. 18. Lenguajes de script Un lenguaje de script es un pequeño lenguaje de programación cuyo código se inserta dentro del documento HTML. Este código se ejecuta en el navegador del usuario al cargar la página, o cuando sucede algo especial como puede ser el pulsar sobre un enlace. Estos lenguajes permiten variar dinámicamente el contenido del documento, modificar el comportamiento normal del navegador, validar formularios, realizar pequeños trucos visuales, etc... Sin embargo, conviene recordar que se ejecutan en el navegador del usuario y no en la máquina donde estén alojadas, por lo que no podrán realizar cosas como manejar bases de datos. Esto hace que los contadores (por ejemplo) se deban realizar de otra manera, utilizando programas CGI. El primer lenguaje de script que vió la luz fue el JavaScript de Netscape. Nacido con la versión 2.0 de este navegador y basado en la sintaxis de Java, su utilidad y el casi absoluto monopolio que entonces ejercía Netscape en el mercado de navegadores permitieron que se popularizara y extendiera su uso. El máximo rival del Netscape Navigator, el Internet Explorer de Microsoft, comenzó a soportar este lenguaje en su versión 3.0. Fue también entonces cuando introdujo el único rival serio que el JavaScript ha tenido en el mercado de los lenguajes de script: el VBScript. Basado en el lenguaje BASIC, no ha tenido excesiva difusión en Internet debido a la previa implantación del JavaScript y a que son de parecida funcionalidad, pero sí es utilizado dentro de Intranets basadas en el Explorer y dentro de otras aplicaciones de Microsoft, como IIS, Access, Word, etc.. 18.1. Javascript Como este curso está orientado a Internet, no vamos a ver nada de VBScript aquí por las razones comentadas anteriormente. Pero para ilustrar la utilidad de los lenguajes de script, vamos a realizar una pequeña introducción al Javascript. Si te sientes interesado, visita mi curso de JavaScript 1.2 para mayor información sobre el tema. Vamos a realizar nuestro primer "programa" en JavaScript. Haremos surgir una ventana que nos muestre el famoso mensaje "hola, mundo". Así podremos ver los elementos principales del lenguaje. El siguiente código es una página Web completa con un botón que, al pulsarlo, muestra el mensaje. <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!--- function HolaMundo() { alert("¡Hola, mundo!"); } // ---> </SCRIPT> </HEAD> <BODY> <FORM> <INPUT TYPE="button" NAME="Boton" VALUE="Pulsame" onClick="HolaMundo()"> </FORM> </BODY> </HTML> Y aquí está nuestro ejemplo funcionando: Ahora vamos a ver, paso por paso, que significa cada uno de los elementos extraños que tiene la página anterior: <SCRIPT LANGUAGE="JavaScript"> </SCRIPT> Dentro de estos elementos será donde se puedan poner funciones en JavaScript. Puedes poner cuantos quieras a lo largo del documento y en el lugar que más te 41 mailxmail - Cursos para compartir lo que sabes
  • 42. guste. Si un navegador no entiende la etiqueta <SCRIPT> escribirá lo que hay entre medias de estos elementos, así que lo encerramos entre comentarios por si las moscas. function HolaMundo() { alert("¡Hola, mundo!"); } Esta es nuestra primera función en JavaScript. En el código de la misma vemos una llamada al método alert (que pertenece al objeto window) que es la que se encarga de mostrar el mensaje en pantalla. Por un fallo del Netscape no se pueden poner las etiquetas HTML de caracteres especiales en una función: no los reconoce. Así que pondremos directamente "¡" arriesgándonos a que salga de otra manera en ordenadores con un juego de caracteres distinto al del nuestro. <FORM> <INPUT TYPE="button" NAME="Boton" VALUE="Pulsame" onClick="HolaMundo()"> </FORM> Dentro del elemento que usamos para mostrar un botón vemos una cosa nueva: onClick. Es un evento. Cuando el usuario pulsa el botón, el evento onClick se dispara y ejecuta el código que tenga entre comillas, en este caso la llamada a la función HolaMundo(), que tendremos que haber definido con anterioridad. Este ejemplo muestra una pequeña parte de las funcionalidades del JavaScript. De hecho, su utilidad es más bien escasa, por eso te recomiendo de nuevo que eches un vistazo a mi curso de JavaScript. 42 mailxmail - Cursos para compartir lo que sabes
  • 43. 19. Capas Las capas se pueden definir como páginas que se pueden incrustar dentro de otras. Los atributos de una capa (posición, visibilidad, etc.), como los de cualquier otro elemento HTML, pueden definirse dentro de una hoja de estilo. Su contenido, en cambio, siempre deberá ser especificado dentro de la parte principal de la página. Como se puede ver, de nuevo estamos siguiendo la filosofía de separar el contenido y la forma de representarlo. En realidad, el nombre de capas no es nada oficial: es un invento de Netscape. La denominación oficial podría traducirse como "contenido HTML posicionable dinámicamente". Toma ya. Tampoco se las puede considerar dentro de ningún estándar HTML sino de los estándares CSS, pero son la base de lo que se ha dado en llamar HTML dinámico. Sin duda, lo más importante de las capas es la posibilidad que presentan de ser movidas y modificadas desde un lenguaje descript. Desgraciadamente, las implementaciones de Netscape y Explorer son incompatibles entre sí, por lo que resulta complicado escribir código que funcione en ambas plataformas. Estos temas los estudia en profundidad el curso de HTML dinámico. 19.1. Definición La única manera común de definir capas en Explorer y Netscape (versiones 4 y superiores cuandos las haya) es mediante hojas de estilo en sintaxis CSS, por lo que será la que usemos de aquí en adelante. La definición de una capa sigue la misma estructura que la que usabamos para decidir las características de una etiqueta con el parámetro ID: <STYLE TYPE="text/css"> #micapa {position:absolute; top:100px; left:20px;} </STYLE> Esto colocaría a la capa que hemos denominado micapa a 20 pixels de la izquierda de la pna y a 100 del comienzo de la misma. Muy bien, pero... ¿donde escribimos lo que queremos que contenga la capa? Utilizaremos para ello la etiqueta <SPAN>: <DIV ID="micapa"> <H1>El título de la capa</H1> <P>Aquí es donde iría el texto. ... </DIV> Las capas que hemos definido hasta ahora se colocan en una posición determinada de la página. Pero existe otro tipo de capas llamadas flotantes cuya colocación depende, en cambio, de la posición dentro del código fuente de la página donde las hayamos colocado. Se definen así: <STYLE TYPE="text/css"> #flotante {position: relative; left: 20px; top: 100px;} </STYLE> Puedes ver un ejemplo que te mostrará las diferencias entre capas absolutas y relativas. 19.2. Propiedades Existen varias propiedades de las capas que podemos modificar, como son la posición, la visibilidad, el orden en que se ponen en pantalla, etc... Son estos: 43 mailxmail - Cursos para compartir lo que sabes
  • 44. Esto es todo. Si quieres saber algo sobre modificación dinámica de capas desde JavaScript, visita mi curso. 44 mailxmail - Cursos para compartir lo que sabes
  • 45. 20. Sonido Aún cuando les pueda parecer increíble a algunos hombres de poca fe, es posible escuchar sonidos (o música) desde el propio navegador. Tanto Netscape como Explorer incorporan desde hace tiempo la capacidad de reproducir sonido. El único problema es que los archivos suelen ser grandes y, siendo algo innecesario y superfluo, poca gente incluye melodías en sus páginas. Los formatos que se puede asegurar que los navegadores reproducirán son los archivos WAV y MID. Para poder reproducir otros necesitarán el plug-in o añadido necesario, como puede ser el Real Audio para los archivos RA o el ModPlug para los MOD y derivados. 20.1. Sonido activado por el usuario La manera más sencilla de incluir sonidos es dejando al usuario la decisión de escucharlos o no. Para hacerlo incluiremos el sonido en el parámetro HREF de un enlace, como si fuera una página HTML: <A HREF="hola.wav">Si pulsas te saludo< A > 20.2. Sonido de fondo Lo del sonido de fondo ya es más complicado, ya que Netscape y Explorer ofrecen soluciones propietarias, distintas e incompatibles de hacer sonar un archivo de fondo. En Explorer, desde la versión 2.0, se pueden incluir fondos sonoros utilizando la etiqueta BGSOUND: <BGSOUND SRC="musica.mid"> El parámetro SRC indicará el archivo a reproducir. Esta etiqueta admite tambiñen otro parámetro, LOOP, que indica el número de veces consecutivas que sonará el fichero. Si se indica LOOP="infinite", el archivo se reproducirá indefinidamente, mientras estemos en la página. Netscape utiliza su etiqueta <EMBED>. Teóricamente, esta etiqueta debería servir para unir objetos de varios tipos a la página web, pero en la práctica sólo se utiliza para esto. Esta etiqueta tiene los siguiente parámetros: Sin embargo, y debido a algunos bugs, si queremos reproducir infinitamente un archivo con el reproductor oculto, deberemos incluir todos los parámetros, incluyendo WIDTH y HEIGHT. Además, si el usuario tiene algún plug-in de sonido 45 mailxmail - Cursos para compartir lo que sabes
  • 46. extraño, en lugar del que viene con Netscape, es posible que deje de funcionar correctamente. Dado que ambas etiquetas son incompatibles entre sí, basta con incluir las dos... o, mejor dicho, bastaba. Ahora el Explorer es capaz de interpretar <EMBED>, pero no exactamente de la misma manera, lo que provoca que aparezca una ventana aparte con el reproductor. En definitiva, la mejor manera de mostrar una música de fondo es usando un pequeño script que averigue en qué navegador está instalado y discrimine. 46 mailxmail - Cursos para compartir lo que sabes
  • 47. 21. Guía de estilo A lo largo de mi deambular por Internet, he ido desarrollando pequeñas manías y visto o creido ver defectos en las páginas web. Sin embargo, después de leer un par de cursos de HTML y alguna que otra guía de estilo, me he dado cuenta de que la mayoría de la gente parece pensar como yo. Así pues, este capítulo consiste en una serie de consejos que te pueden servir para hacer tu página más atractiva y de mayor calidad. Es recomendable leerla aunque luego no la sigas al pie de la letra: te pueden dar una idea de lo que debe ser una web. 21.1. Contenido Cualquier página será visitada si su contenido es interesante. Casi da lo mismo su estructura y diseño si la información es lo suficientemente interesante. Así que quizá sea conveniente detenernos un poco en qué es lo que debe tener nuestra página web. En Internet uno visita lo que quiere, y la mayoría de las veces lo que a la gente le interesa y lo que a nosotros nos interesa que vean no es lo mismo. Así pues, el mejor modo de conseguir que vean lo que queremos es ofrecerles lo que quieren. Un ejemplo lo tienes en mi página personal. En ella pongo cosas que me interesa poner a mí pero que de por sí sé que no tendrían mucha difusión: mis relatos, mis canciones, etc... Pero también incluyo estos cursos de diseño web, que sé que le interesan a mucha gente. De todas maneras no hay que engañarse: los contenidos que te interesa que la gente conozca y que no sean "populares" no serán visitados más que por una pequeña parte de los interesados por los contenidos "populares". Pero siempre lo serán más que si no lo hubiéramos hecho. El averiguar qué poner es fácil. Prácticamente todo el mundo tiene algún hobby, alguna pasión, o domina algún tema bastante por encima de la media. Sobre ese tema deberá estar enfocada su página. Porque, para qué engañarnos: a nadie le interesan esas páginas personales que sólo contienen tres fotos del autor, una de su novia y otra de su perro, junto con la historia de su vida y un curriculum y una serie de enlaces a páginas de sus amigos. Conviene también, sabiendo que el usuario ha acudido a tu página por el interés hacia un tema específico, facilitarle enlaces a páginas similares. Te lo agradecerá. 21.2. Navegación Es muy importante que sea sencilla e intuitiva la navegación por las páginas que componen tu web. Dependiendo del tamaño de la página no se debería tardar más de tres toques de ratón en ir de una página a otra. Sin embargo, esto no se debe conseguir por medio de una saturación de enlaces porque el usuario podría perderse. Hay muchas maneras de conseguirlo. La primera es utilizar un marco como índice, que siempre nos permitiría acudir a las seciones principales en nuestra web. También resulta útil incluir enlaces a la página principal y a la página principal de la sección que el usuario está consultando. 47 mailxmail - Cursos para compartir lo que sabes
  • 48. En definitiva, no hay receta única, pues el éxito de tu sistema de navegación depende en buena medida de los contenidos y estructura de tu web. Resulta útil ver a alguien ajeno a su desarrollo navegar por ella sin darle ninguna clase de pistas: en general se pueden ver con facilidad los mayores problemas que pueda tener. Sin embargo, hay algo que siempre irrita al usuario: enlaces a páginas vacías o con un gráfico que señale que esa página está en construcción. Si te lleva tiempo desarrollar una sección pero quieres que los usuarios sepan que estará ahí colocala con las demás en la lista de enlaces, pero que ella no tenga. Que se vea el nombre aunque no lleve a ninguna parte. 21.3. Estructura de las páginas Es fundamental a la hora de ponerte a crear páginas el pensar en una estructura común y consistente, porque facilita la navegación y le confiere personalidad propia. Esa estructura puede estar dada por una manera común de titular las secciones, un fondo, un logo, una manera común de colocar gráficos y texto, o una combinación de todo esto. Hay que cuidar la longitud de las páginas: que no sean ni demasiado cortas ni demasiado largas (como esta). La página debe contener información suficiente para resultar interesante y no tanta como para desanimar al posible lector. Recuerda que el título que le pones a tu página es por lo que se la conocerá por el mundo. Es lo que guarda el navegador en su índice de marcadores, favoritos o bookmarks bookmarks. Por ello, es conveniente que sea significativo y pueda ser entendido fuera de contexto. Conviene que el primero párrafo o las primeras frases de todas las páginas contengan un resumen o idea del contenido del resto de la misma. Eso ayuda al usuario a localizar más fácilmente la información. A su vez, resulta bastante útil indicar la fecha de la última modificación de la página, aunque es aún mejor si esa fecha hace referencia a la última modificación del contenido, que al fin y al cabo es lo que le interesa el usuario. Por último, uno de los aspectos más importantes de Internet como medio es la facilidad de comunicación entre creadores y usuarios: facilitala incluyendo tu dirección de correo. Si crees que puede ser interesante, ayuda y anima al usuario con formularios o libros de visita. 21.4. Accesibilidad Hay que tener en cuenta que, en general, no sabes con qué navegador visitarán tus páginas. Ni cómo estará configurado. Ni la resolución del monitor. Ni la potencia de su CPU. Ni siquiera si el navegador es capaz de ver gráficos. Y como se supone que la red es algo de lo que debe poder disfrutar todo el mundo conviene hacerla accesible. Para ello hay que tener en cuenta algunas cosas. Para empezar, que las páginas siempre se ven distintas dependiendo del navegador que usemos. Conviene no usar elementos que sólo funcionen con un navegador, como puede ser el texto parpadeante o las marquesinas. Y siempre será bueno probar con más de un navegador las páginas: no siempre representan igual las mismas etiquetas. 48 mailxmail - Cursos para compartir lo que sabes
  • 49. Hay gente que viaja por la red con navegadores en modo texto o que, debido a la lentitud de su conexión, configuran su navegador para que no cargue los gráficos. Por ello, conviene añadir siempre el parámetro ALT a todas nuestras imágenes. También, y por la misma causa, conviene dar una alternativa en texto de nuestros mapas. Es aconsejable probar nuestras páginas a la resolución mínima de 640x480 y comprobar que se puede ver y navegar con relativa comodidad. Es desgraciadamente frecuente ver marcos índice diseñados para verse a 800x600 y que impiden cambiarlos de tamaño y se han eliminado las barras de desplazamiento. Es convieniente no abusar de los applets Java ni hacer de ellos un elemento imprescindible en nuestra web. A gente con pocos recursos en potencia de CPU o usuarios de Windows 3.1 no les resulta muy agradable estas aplicaciones. En definitiva, no hacerles la vida imposible a los minusválidos de la red. Eliminar barreras arquitectónicas. 21.5. Diseño Una página atractiva, con gráficos bonitos y bien escogidos y colocados es algo siempre recomendable. Pero no si, debido a ello, la página tarda dos días y medio en terminar de cargarse. Hay que tener en cuenta que estamos trabajando en un medio llamado Internet que, aunque denominado autopista de la información, en realidad suele parecerse más bien a una carretera comarcal. Así pues, a la hora de diseñar nuestras páginas, deberemos cuidar el equilibrio entre belleza gráfica y tiempo de carga. Recuerda que el gráfico de fondo no debe dificultar la lectura del texto. Si utilizamos uno oscuro que el color del texto sea claro y viceversa. Los gráficos animados, en general, resultan muy entretenidos para el autor pero poco útiles para el usuario. No deberían usarse más que para cosas sobre las que realmente quieres llamar la atención (como el uso del texto parpadeante). Si no es así, procura que su tamaño no sea excesivo. Mientras puedas, evita los gráficos meramente ornamentales. Que tengan algo de utilidad, sea como título o enlace o lo que sea. Luego procura que, además, sean bonitos. Procura evitar el exceso de líneas horizontales: dan la sensación de una página inconexa y troceada. Evita la proliferación de marcos. Si pones muchos es posible que el usuario se pierda y no sepa en cuál está cada cosa. Recuerda que sólo puede haber uno con información y todos los demás deben ser auxiliares de este. El marco principal debe destacar sobre los otros por su mayor tamaño. 21.6. Mantenimiento y pruebas Resulta conveniente que el código sea claro y fácilmente comprensible: así evitas los problemas de no entender cómo hiciste una página en un momento dado, o de no encontrar esa parte que tienes que modificar entre tanto texto. Resulta conveniente que otras personas prueben tus páginas. Y que cuando las prueben ya están en la red, aunque no sean accesibles más que para los probadores. Hay que cuidar que estos no conozcan previamente las páginas ni 49 mailxmail - Cursos para compartir lo que sabes
  • 50. hayan tenido que ver con su desarrollo. Y esto es todo. Que ustedes disfruten creando páginas. ¡Hasta otra! 50 mailxmail - Cursos para compartir lo que sabes
  • 51. 22. Enlaces a otras páginas A.1. Otros manuales de HTML No he aprendido solo, claro. Aquí tenéis una serie de enlaces a otros manuales y referencias de HTML que os pueden ser de interés. Webmaestro, el mejor manual de HTML en la red Otro manual de HTML por Luis Mariñas WebEstilo, la mejor guía de estilo en nuestro idioma Diseño de páginas en Internet Especificación del HTML 4.0 Especificación del HTML 3.2 Especificación del HTML 3.0 Especificación del HTML 2.0 La agenda, donde encontrarás todos los enlaces que necesites sobre HTML, Java, JavaScript, CGI, etc.. A.2. Sobre JavaScript Una vez conocido el HTML, puede que te interese mejorar tus páginas con el lenguaje de script más extendido por Internet: Mi curso de JavaScript 1.2 ava en castellano Ejemplos en JavaScript Todos los enlaces del mundo relacionados con JavaScript A.3. Sobre HTML dinámico Si todo lo anterior se te ha quedado pequeño y no te importa diseñar páginas accesibles tan solo con Explorer 4 o Communicator, siempre puedes pasarte por estas direcciones: El curso de DHTML de HTML en castellano El juego: un ejemplo de lo que se puede llegar a hacer con DHTML The Dynamic Duo: el mejor tutorial de DHTML Macromedia DHTML Zone A.4. Sobre otras tecnologías relacionadas Estos temas me interesan menos, pero aún así os puedo recomendar un par de enlaces: Java en castellano El mejor tutorial de Java El mundo de Duke, índice y buscador de recursos Java Gran directorio de información sobre CGI, con CGIs gratuitos incluidos Interesante página pesonal de un gran creador de CGIs gratuitos 51 mailxmail - Cursos para compartir lo que sabes
  • 52. 23. B. FAQ (Preguntas más frecuentes) En este apéndice intentaremos responder a las preguntas que con más frecuencia se hacen a través del formulario que encontraréis al final de la página: ¿Podrías mandarme el curso por correo electrónico? ¿Cómo puedo hacer un contador? ¿Cómo puedo hacer una página web que acceda a una base de datos? ¿Qué herramientas necesito para hacer páginas web? ¿Existen programas que faciliten la creación de páginas web? Una vez hecha la página, ¿cómo la subo a un servidor de Internet? ¿Cómo puedo preparar la página para que se imprima como yo deseo? ¿Podrías mandarme el curso por correo electrónico? Lo siento, pero no. Entre mis horas normales de conexión a Internet y las que gasto para mantener estas páginas, creo que no me deja nada disponible para enviar el curso por correo. Tened en cuenta que sois muchos los que visitáis la página y queréis comentarme algo, y no puedo dedicar a todos todo el tiempo que desearía. ¿Cómo puedo hacer un contador? No con HTML. Los contadores son pequeños programas que se ejecutan en el servidor, por lo que se suelen programar con CGI. Existen buenas personas que ofrecen la posibilidad de incluir un contador gratuito en vuestras páginas, como Webcounter Webcounter, y otros que ofrecen el más completo servicio de estadísticas, como Nedstat. ¿Cómo puedo hacer una página web que acceda a una base de datos? De nuevo, no con HTML. Para realizar un acceso a una base de datos, se necesita ejecutar programas en el servidor. Y dado que cada usuario necesita un servicio distinto, no existen servidores gratuitos en este caso. Lo mejor es averiguar de qué tipo de servidor disponemos y si tenemos la posibilidad de ejecutar programas en el mismo (usando CGI) o lenguajes de servidor como PHP o ASP. ¿Qué herramientas necesito para hacer páginas web? El navegador para verlas y para editar el código, un editor de textos, como el Bloc de Notas de Windows. No recomiendo el uso de procesadores de texto, ya que no permiten la edición del código HTML. No es necesario "compilar" nada, el navegador lee directamente el código. ¿Existen programas que faciliten la creación de páginas web? Sí, existen programas de muy diversos tipos, desde los simples Frontpage Express o Netscape Composer que vienen incluidos en los navegadores hasta completos editores como Homesite y Dreamweaver. Algunos de ellos esconden y dificultan la edición de código HTML, debido a que su misión es ayudar a realizar las páginas de forma visual, y otros ofrecen ayudas para la edición Una vez hecha la página, ¿cómo la subo a un servidor de Internet? Lo normal es hacerlo mediante FTP; el servidor debería darte instrucciones para hacerlo. En algunos existe la posibilidad de hacerlo a través de la web, pero no es lo 52 mailxmail - Cursos para compartir lo que sabes
  • 53. normal. ¿Cómo puedo preparar la página para que se imprima como yo deseo? No existe ninguna manera. HTML es un lenguaje que permite dar formato a textos para verlos en pantalla, pero no incluye ninguna etiqueta que te ofrezca ayuda a la hora de cambiar ese formato a la hora de imprimir. Existen algunas maneras de controlar los saltos de página, que están explicados en el Taller Web. B.1. Para comentarme algo o preguntar otra cosa Este curso está abierto a cualquier sugerencia que queráis hacerme. Si me escribes con tus dudas, sugerencias, etc... me ayudarás a mejorarlo, así que te agradecería que rellenaras el formulario que tienes abajo o queme escribieras. Nombre: E-mail: Calificación: Es una puta (**** censurado ****) Está mal No está mal del todo Normalito Esta bien Es magnífico Es co..., que está muy bien, vaya Comentarios y sugerencias: 53 mailxmail - Cursos para compartir lo que sabes