Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Formulario
2. Tablas
3. Graficos
4. Fodos
5. Animaciones
6. Marcos
7. Botones
8. Efectos multimedia
9. Contenido dinamico
Formularios:
Cinco son solamente las etiquetas que el código HTML posee para definir
todos los elementos interactivos que un formulario puede presentar: <FORM>,
<INPUT>, <SELECT>, <OPTION> y <TEXTAREA>. Estas etiquetas, junto a un
número de modificadores o atributos, son suficientes para indicarle al
navegador cliente cómo debe recolectar la información, cómo debe manejarla
una vez recolectada y cómo debe interactuar con el servidor.
Etiqueta <FORM>
1
Comando Descripción
el valor de este parámetro
es la URL del programa o
ACTION guión en el Servidor Web
utilizado para procesar la
información recolectada.
puede asumir el valor GET
o el valor POST, y definen
METHOD la manera en la cual los
datos son transferidos al
servidor.
este atributo está reservado
para que la información
ENCTYPE
viaje en forma encriptada a
través de Internet.
Los dos primeros atributos de la tabla son de uso obligatorio para cualquier
formulario que generemos, ya que establecen dónde enviar la información y
cómo enviarla. El atributo o parámetro ENCTYPE es optativo y no es realmente
importante.
Etiqueta <INPUT>
Etiqueta <SELECT>
Este par de etiquetas define una lista de elementos de los cuales el usuario
debe seleccionar uno o varios, de acuerdo a los atributos que especifiquemos.
Etiqueta <OPTION>
Con esta etiqueta definimos cada elemento de las listas designadas con el par
<SELECT> y </SELECT>.
Etiqueta <TEXTAREA>
2
Tablas en HTML
Las tablas son una de las herramientas más útiles de que disponemos en
HTML, ya que nos van a permitir en cierto modo "maquetar" nuestro
documento, ayudándonos a situar dentro del mismo los diferentes elementos
que lo componen, siendo esta la única forma coherente que había antes de la
introducción de las Hojas de Estilo y de las etiquetas.
Es por esta facilidad a la hora de organizar con tablas nuestras páginas el que
el 99% de las que veamos en Internet las usen, aunque muchas veces no las
veamos directamente porque están "ocultas".
Las tablas están formadas por filas, columnas y celdas. Cada espacio
horizontal continuado es una fila y cada espacio vertical continuado esuna
columna, definiéndose una celda como el espacio formado por la intersección
de una fila y una columna.
Lo primero que tenemos que hacer cuando queremos introducir una tabla es
decirle al navegador dónde empieza y dónde acaba esta; esto se consigue
mediante la etiqueta de inicio <TABLE> y su correspondiente de cierre
</TABLE>.
Por último, dentro de cada fila deberemos indicar cuantas celdas va a haber,
que inicialmente deben corresponderse con el número de columnas que
deseemos tenga la tabla. Esto se consigue mediante las parejas de etiquetas
<TD> y </TD>.
3
<TABLE>
<TR> <TD>...</TD> <TD>...</TD> <TD>...</TD> </TR>
<TR> <TD>...</TD> <TD>...</TD> <TD>...</TD> </TR>
<TR> <TD>...</TD> <TD>...</TD> <TD>...</TD> </TR>
</TABLE>
Este es el esquema general de toda tabla simple, que traducido a código HTML
quedaría de la forma:
<TABLE>
<TR>
<TD> celda(1,1) </TD>
<TD> celda(1,2) </TD>
<TD> celda(1,3) </TD>
</TR>
<TR>
<TD> celda(2,1) </TD>
<TD> celda(2,2) </TD>
<TD> celda(2,3) </TD>
</TR>
<TR>
<TD> celda(3,1) </TD>
<TD> celda(3,2) </TD>
<TD> celda(3,3) </TD>
</TR>
</TABLE>
La cantidad de celdas debe ser el mismo en cada uno de las filas, para que la
tabla tenga la misma cantidad de columnas. Se debe definir la cantidad de
columnas que va a tener la tabla mediante el número de celdas que definamos
en la primera fila.
Gráficos
4
Esto pone a disposición una gran flexibilidad, ya que se puede complementar el
contenido del documento tanto con gráficos que se encuentren disponibles en
el servidor de WWW, como con una foto situada en un servidor de la NASA o
del Ministerio de Cultura, por ejemplo, sin que el lector final tenga por qué
apreciar ninguna diferencia.
Existe alguna limitación respecto a los formatos gráficos que los programas
lectores de HTML puede interpretar sin problemas. El formato más utilizado es
el GIF, que cualquier programa con capacidades gráficas debería poder
mostrar directamente (Mosaic y Netscape pueden hacerlo).
Para colocar en este punto del documento una imagen que está en el mismo
subdirectorio que este manual, en el fichero fotografia.gif, se escribe:
<HTML>
<HEAD>
</HEAD>
<BODY>
5
background en la etiqueta <BODY>, al que le asignamos el nombre del archivo
que deseamos utilizar como fondo. Si el archivo se encuentra en un directorio
distinto que la página web, necesitaremos incluir la ruta al archivo, teniendo en
cuenta siempre de utilizar una ruta relativa al archivo .html para que se
conserve la ruta en caso de que cambiemos el sitio web de localización.
<body background="fondo.gif">
Fondos
No solo la página puede tener un fondo, también lo podemos colocar a las
tablas o las celdas, por ejemplo. Se utiliza el mismo atributo background,
aunque aplicado a otras etiquetas.
<table background="fondo.gif">
<td background="fondo.gif">
Veamos ahora algunos consejos que se deberían seguir para una correcta
utilización de los fondos de imagen.
6
3) Los fondos de imagen de color homogéneo
Si utilizamos un fondo de imagen, tenemos que procurar que en la imagen se
utilicen colores de una misma gama. Si la imagen tiene partes oscuras y claras,
¿de qué color pondremos el texto para asegurarnos de que se lea bien
siempre? Si el texto es claro no contrastará bien con las partes del fondo que
también son claras. Igual pasará si colocamos el texto con un color oscuro, que
no contrastará bien con las partes oscuras del fondo.
En definitiva, tendremos que tener mucho cuidado al utilizar los fondos, puesto
que pueden dificultar mucho la presentación de la información en la página de
una manera clara.
Si deseamos utilizar un fondo que pudiera dar algún problema, una idea para
asegurarnos que los textos se visualicen correctamente es colocar todo el
contenido de la página dentro de una tabla y asignarle a la tabla un color de
fondo con el atributo bgcolor.
Animaciones
¿Cómo lo incluyo en una página?
Aquí tenemos una parte muy sencilla. Insértala y utilízala de la misma forma
que lo harías con cualquier imagen GIF en tu página web. No hay instrucciones
especiales ni etiquetas raras. <IMG SRC="name.gif">Así de sencillo!. Esto es
todo lo que se requiere. Por supuesto, hacerlo mejor requiere un poco más.
Trucos y Consejos
La única forma de hacer esto bajo HTML 2.0 era cargar la imagen. Esto
significaba esperar al menos por la cabecera de gráfico del GIF antes de
continuar. Para evitar esto, Netscape implementó los atributos ALTURA y
ANCHURA de la etiqueta IMG para reservar la cantidad de espacio en la
página para el gráfico, así el browser puede continuar inmediatamente
7
renderizando el texto HTML. Con esta información Netscape y otros browsers
pueden establecer la cantidad correcta de espacio y renderizar el texto
alrededor de ella sin tener que traerla. Cada imagen que insertas, NO
IMPORTA LO PEQUEÑA QUE SEA, debe tener un atributo de ALTURA y
ANCHURA que se corresponda con la cabecera de pantalla lógica. Quedaría
como esto:
Doblar la animación
prince@atlas.odyssee.net sugirió este truco. <IMG lowsrc="starroll.gif"
SRC="starroll.gif" ALT="rollin star..." width="59" height="59"> Mostrará una
única animación GIF dos veces. Esto puede utilizarse desde que Netscape
soporta un número finito de iteraciones en su looping. No se si esto funcionará
online. La operación offline (local en tu disco duro) funciona de forma diferente.
Offline tendrá el efecto deseado.
Estoy todavía investigando como hacer una imagen nítida en un browser que
no sea Netscape. La mayoría de los browsers mostrarán el primer fotograma
de tu animación. Los browsers de HotJava AOL y SUN muestran solamente el
último fotograma. Si este fotograma es presentable quedará bien (como en las
rolling stars). Pero si tu primer fotograma no es una imagen completa (Como la
primera versión de Interconnections) se verá mal. Aol solía mostrar sólo la frase
"forming links around the world" en una gran caja transparente para la
animación Interconnections. He arreglado esta animación.
8
El Truco LOWSRC One-Time
EJEMPLO:
Utilizando Fotogramas
Glenn David de World Wide Web Design sugiere esta solución.
Marcos
Para crear una página dividida en marcos, es necesario crear varios archivos
HTML referidos a un archivo principal, que es el que permite su gestión. Así
pues, antes de nada hace falta impostar este archivo "fuente", y,
posteriormente, los demás archivos que componen el marco.
<FRAMESET rows="80,*">
<frame name="alto" src="top.htm">
<frame name="central" src="central.htm">
</FRAMESET>
Como podemos ver, el código del marco está encerrado entre las marcas
<FRAMESET></FRAMESET> que se comportan como las marcas usuales
<HTML></HTML>.
El tamaño de los marcos, o mejor dicho, el espacio que cada uno de ellos debe
ocupar en la página, queda establecido mediante la marca rows="80,*, que
significa que el marco alto (que en este caso es una fila, "row") debe tener 80
píxel, mientras que "*" significa que todo el resto debe asignarse al marco
9
central. Asimismo, habríamos podido expresar el tamaño de los marcos en
tantos por ciento de esta manera:
<FRAMESET rows="20%,*">
<FRAMESET rows="80,*">
<frame name="central" src="central.htm">
<frame name="alto" src="top.htm">
</FRAMESET>
el navegador invertiría el orden de asignación y cargaría el archivo
"central.htm" en el marco superior, y el archivo "top.htm" en el marco central.
Para crear dos marcos verticales basta sustituir el término "rows" (filas) con el
término "cols" (columnas):
<FRAMESET cols="100,*">
</FRAMESET>
<noframe>
<HTML>
10
<body>
</body>
</html>
</noframe>
<frameset rows="100,*">
<frame name="alto" src="top.htm">
<frameset cols="150,*">
<frame name="sx" src="sx.htm.htm">
<frame name="central" src="central.htm">
</frameset>
</frameset>
<frameset cols="120,*">
<frame name="sx" src="sx.htm">
<frameset rows="100,*">
<frame name="alto" src="top.htm">
<frame name="central" src="central.htm">
</frameset>
</frameset>
<frameset cols="120,*">
<frame name="sx" src="sx.htm">
<frameset rows="20%,60%,20%,*">
<frame name="alto" src="top.htm">
<frame name="central" src="central.htm">
<frame name="bajo" src="basso.htm">
</frameset>
11
</frameset>
<frameset cols="75%,25%">
<frameset rows="20%,80%*">
<frame name="alto" src="top.htm">
<frame name="central" src="central.htm">
</frameset>
<frame name="dx" src="dx.htm">
</frameset>
<frameset cols="75%,25%">
<frameset rows="20%,80%*">
<frame name="alto" src="top.htm">
<frameset cols="20%,80%*">
<frame name="sx" src="sx.htm">
<frame name="central" src="central.htm">
</frameset> </frameset>
<frame name="dx" src="dx.htm">
</frameset>
<frameset cols="75%,25%">
<frameset rows="20%,80%*">
<frame name="alto" src="top.htm">
<frame name="central" src="central.htm">
</frameset> <frameset rows="24%,76%">
<frame name="top" src="top2.htm"> <frame
name="dx" src="dx.htm">
</frameset> </frameset>
<frameset cols="25%,75%">
<frameset rows="80%,20%">
<frame name="alto" src="top.htm">
<frame name="bajo" src="basso.htm">
</frameset>
<frame name="central" src="central.htm">
</frameset>
12
<frameset cols="20%,60%,20%">
<frame name="sx" src="sx.htm">
<frame name="central" src="central.htm">
<frame name="dx" src="dx.htm">
</frameset>
Para eliminar el borde gris de los marcos, se debe insertar el siguiente código:
<frameset cols="20%,60%,20%" border=0>
Vamos a ver una etiqueta HTML que sirve para hacer botones, de la que no
habíamos hablado antes en nuestro manual de HTML . Esta etiqueta es
<button>, que permite la creación de botones más personalizados, por lo que
ofrece algunas ventajas, e igualmente unos inconvenientes que vamos a tratar
aquí. Antes que nada, deberíamos decir que en DesarrolloWeb.com ya
habíamos comentado acerca de otra etiqueta que servía para hacer botones, la
etiqueta <input>, que además tiene otros usos. Vamos a explicar también las
diferencias entre hacer botones con <button> e <input>.
Primero habría que conocer bien los usos de la etiqueta INPUT, que sirve para
hacer varias cosas, como campos de texto, campos ocultos, botones de enviar
formulario, borrar sus datos y botones normales. Veamos los usos de la
etiqueta INPUT antes de continuar.
BUTTON
13
La etiqueta BUTTON se utiliza con una apertura de etiqueta <BUTTON> y una
de cierre </BUTTON>. Entre las dos etiquetas, de apertura y cierre, se coloca
el contenido que irá dentro del botón.
Tiene la particularidad que se pueden colocar dentro del botón los contenidos
que se desee, es decir, entre la etiqueta de apertura y cierre se puede colocar
texto a voluntad, pero también otras etiquetas HTML, como imágenes, saltos
de línea, negritas o lo que podamos necesitar.
Veamos un ejemplo:
<button>
Hola esto es un <b>botón</b>
<br>
<br>
Puedo poner saltos de línea en él!
<hr>
Y otras cosas
<br>
<img src="http://www.desarrolloweb.com/images/logo_desarrollo_web.gif"
width="261" height="35" alt="">
</button>
Como se puede ver, permite aportar bastante creatividad a los botones que
incorporemos en páginas web, mucho más que la etiqueta INPUT, que sólo
permite colocar texto dentro del botón:
Atributos de BUTTON
14
Incompatibilidades entre navegadores con la etiqueta BUTTON
multimedia
SRC Indica dónde está el fichero multimedia, pero no puede utilizarse solo,
necesita la compañía de otros atributos del elemento, concretamente los que
definen el tamaño de la consola: <WIDTH> (largo) y <HEIGHT> (alto) Por
ejemplo:
<EMBED TYPE="application/x-mplayer2"
SRC="minueto.mid"
WIDTH=287
15
HEIGHT=65>
Hará aparecer el Media Player:
En caso de omitir los atributos WIDTH y HEIGHT, los tamaños por defecto no
permiten ver el reproductor multimedia entero.
<EMBED TYPE="application/x-mplayer2"
SRC="minueto.mid"
WIDTH=287
HEIGHT=65
AUTOSRART=0>
<EMBED TYPE="application/x-mplayer2"
SRC="minueto.mid"
WIDTH=287
HEIGHT=65
AUTOSRART=1
HIDDEN=TRUE>
16
alineación con el texto de la página. He aquí un ejemplo con todos ellos
excepto HIDDEN:
<EMBED TYPE="application/x-mplayer2"
SRC="colon.avi"
WIDTH=350
HEIGHT=300
AUTOSTART=0
SHOWCONTROLS=1
SHOWSTATUSBAR=1
CLICKTOPLAY=1
VOLUME=0
ALIGN=TOP>
Hasta aquí hemos visto como presentar un fichero multimedia, pero solo uno.
En efecto, ¿qué hacer si tenemos un fichero de gran tamaño troceado en varias
partes? O simplemente, varios ficheros relacionados aunque no formen parte
de uno solo. Si el número de partes es relativamente elevado, puede ser muy
cargante presentarlos todos de la forma que ya conocemos, y lo que es peor,
puede suceder que el navegador se cuelgue.
<EMBED TYPE="application/x-mplayer2"
SRC="lista.asx"
AUTOSTART=0
WIDTH=287
HEIGHT=65>
Como puedes ver, la sitaxis es la misma de siempre. La particularidad reside
en la extensión del fichero multimedia. No, no es un nuevo tipo de video super
comprimido, es simplemente un fichero de texto, editado con cualquier editor,
como el bloc de notas, que contiene la referencia a los ficheros que se desea
encadenar. Por ejemplo, para encadenar dos de los ficheros multimedia que se
han utilizado hasta ahora como ejemplos, el fichero .ASX necesario se escribe:
Fichero lista.asx
ATENCION: Todas las líneas de los ficheros .asx deben comenzar justo junto
al margen izquierdo, sin ningun espacio en blanco.
17
Además de posicionar elementos como se ha visto en el punto anterior, HTML
Dinámico se orienta a la modificación del contenido y el ajuste de los estilos en
linea (on the fly). Desafortunadamente, los dos browsers principales tienen
ideas muy diferentes de como hacer el contenido dinámico. En particular IE 4
deja disponible al código script mucho mas de cada elemento de los
documentos y el browser rehace el layount del contenido en pantalla
automaticamente para acomodar cualquier cambio hecho por el código. Las
capacidades de NN 4.0 son mucho mas limitadas en este sentido. En efecto, el
hecho que NN no redespliegue en forma automática los cambios en el
contenido, deja este browser en clara desventaja.
<HTML>
<BODY>
<H1>Bienvenido</H1>
<P>Tu estas usando el browser <B>
<SCRIPT LANGUAGE="JavaScript">
document.write(navigator.appName)
document.write(", versión " + navigator.appVersion )
</SCRIPT>
</P>
</SCRIPT>
</HTML>
Lo único que se necesita para llevar a cabo esto es una referencia valida a la
otra ventana o frame. Como se generan los frameset o la ventan secundaria
afecta la referencia.
18
Frameset y Frames
parent.resultados.document.write(contenido)
En caso de que se desee cargar otra página en dicho frame se requiere una
instrucción como esta:
parent.resultados.location.href = "nuevaPagina.html"
Reemplazo de Imagenes
19