sábado, 28 de abril de 2012

FORMATO DE TEXTO

FORMATO DE TEXTO



El formateo del texto, o sea, el formato del texto, son una serie de etiquetas que escribimos en html rodeando la palabra o el texto y que transforman ese texto en el formato que nosotros le hemos querido dar.

Anteriormente ya hemos visto en un pequeño texto introductorio como se ponía la negrita y la itálica. Pero eso era solamente introductorio. A continuación lo vamos a explicar de una forma más detallada.
Las etiquetas deben rodear al texto. Es decir, la etiqueta debe abrirse y cerrarse, conteniendo el texto o la palabra que queramos transformar, entre medias. En el ejemplo de la negrita se abriría  <b> y se cerraría </b>.
Se pueden combinar diferentes formatos, o sea, diferentes etiquetas. Por ejemplo, si queremos que un texto esté en negrita y en cursiva escribiríamos esto:
<b><i>Este texto está escrito en negrita y en cursiva</i></b>.Cuando combines, ten cuidado a la hora de cerrar las etiquetas. Debes cerrar las etiquetas por orden, de la más interior a la más exterior. Por último, recordad que podéis escribir las etiqutes en minúsculas o en mayúsculas. 
Vamos con los diferentes formateos html que podemos encontrar:
Negrita
Existen dos etiquetas que harán que nuestro texto se convierta en negrita. La utilización de cualquiera de ellas es indiferente. Puedes usar la que prefieras. 
La primera es la etiqueta <b> y la otra es la etiqueta <strong>. Aquí va un ejemplo: 

Este palabra la vamos a poner en <b>negrita</b> y esta otra <strong>también</strong>

Este palabra la vamos a poner en negrita y esta otra también
Cursiva
Para escribir un texto en cursiva debemos utilizar la etiqueta <i> (y por supuesto cerrarla con la etiqueta </i>).

También podemos utilizar la etiqueta <em>. Como en el caso de la negrita, es indiferente el uso de una u otra. Aquí os dejo un ejemplo:

Para escribir un texto en cursiva debemos utilizar la etiqueta <i> (y por supuesto cerrarla con la etiqueta </i>).
También podemos utilizar la etiqueta <em>. Como en el caso de la negrita, es indiferente el uso de una u otra. Aquí os dejo un ejemplo:

También podemos utilizar la etiqueta <em>. Como en el caso de la negrita, es indiferente el uso de una u otra. Aquí os dejo un ejemplo:

Este palabra la vamos a poner en <i>cursiva</i> y esta otra <em>también</em>

Este palabra la vamos a poner en cursiva y esta otra también
Subrayado
Si queremos que la palabra o el texto quede subrayado, deberemos rodearlo con la etiqueta <u> y cerrarlo con su correspondiente etiqueta. O sea, </u>. Así subrayaríamos una frase importante:

Si queremos que la palabra o el texto quede subrayado, deberemos rodearlo con la etiqueta <u> y cerrarlo con su correspondiente etiqueta. O sea, </u>. Así subrayaríamos una frase importante:

<u>Así subrayaríamos una frase importante</u>

Así subrayaríamos una frase importante
Texto con espaciado simple o TT
TT son las iniciales de “teletype”. Utilizando esta etiqueta conseguiremos un espaciado simple entre las diferentes letras del texto. Abriremos la etiqueta con <tt> y la cerraremos con </tt>.

TT son las iniciales de “teletype”. Utilizando esta etiqueta conseguiremos un espaciado simple entre las diferentes letras del texto. Abriremos la etiqueta con <tt> y la cerraremos con </tt>.

<tt>Esta frase la vamos a escribir de forma espaciada </tt>

Esta frase la vamos a escribir de forma espaciada
Palabras más grandes o más pequeñas
Puede que en una frase queramos destacar un palabra por medio de una variación de tamaño sin necesidad de utilizar los encabezados(los explicaremos más adelante). Pues esta variación de tamaño la conseguiremos gracias a las etiquetas <big> y <small>.

Sus propios nombres en inglés nos indican cuáles serán sus funciones: <big> agrandará el texto y <small> lo disminuirá.

Cada vez que escribamos una etiqueta, haremos el texto un punto más grande. Pero estas etiquetas también la podemos combinar, por lo que si escribimos dos veces la etiqueta <big>, haremos crecer la palabra dos puntos.

Un ejemplo sería el siguiente:

Puede que en una frase queramos destacar un palabra por medio de una variación de tamaño sin necesidad de utilizar los encabezados(los explicaremos más adelante). Pues esta variación de tamaño la conseguiremos gracias a las etiquetas <big> y <small>. 
Sus propios nombres en inglés nos indican cuáles serán sus funciones: <big> agrandará el texto y <small> lo disminuirá.

Cada vez que escribamos una etiqueta, haremos el texto un punto más grande. Pero estas etiquetas también la podemos combinar, por lo que si escribimos dos veces la etiqueta <big>, haremos crecer la palabra dos puntos.

Un ejemplo sería el siguiente:

Sus propios nombres en inglés nos indican cuáles serán sus funciones: <big> agrandará el texto y <small> lo disminuirá. 
Cada vez que escribamos una etiqueta, haremos el texto un punto más grande. Pero estas etiquetas también la podemos combinar, por lo que si escribimos dos veces la etiqueta <big>, haremos crecer la palabra dos puntos.

Un ejemplo sería el siguiente:

Cada vez que escribamos una etiqueta, haremos el texto un punto más grande. Pero estas etiquetas también la podemos combinar, por lo que si escribimos dos veces la etiqueta <big>, haremos crecer la palabra dos puntos.
Un ejemplo sería el siguiente:

Un ejemplo sería el siguiente:

Esta palabra se va a escribir <small>pequeñita</small>, esta se va a escribir <big>más grande</big> y ésta <big><big>más grande aún</big></big>.

Esta palabra se va a escribir pequeñita, esta se va a escribir más grande y ésta más grande aún.
Superíndices y subíndices
Mediante el Html también podemos escribir fórmulas matemáticas.  Gracias a las etiquetas siguientes podrás escribir subíndices y superíndices fácilmente. La etiqueta <sub> te servirá para escribir un subíndice y <sup> será tu etiqueta para un superíndice.

Así nos queda un ejemplo como el siguiente:

Mediante el Html también podemos escribir fórmulas matemáticas.  Gracias a las etiquetas siguientes podrás escribir subíndices y superíndices fácilmente. La etiqueta <sub> te servirá para escribir un subíndice y <sup> será tu etiqueta para un superíndice.
Así nos queda un ejemplo como el siguiente:

Así nos queda un ejemplo como el siguiente:

Gracias a estas etiquetas podemos escribir cualquier formula matemática como esta: H <sub>2</sub> O o números elevados a potencias 7<sup>3</sup>.

Gracias a estas etiquetas podemos escribir cualquier formula matemática como esta: H 2 O o números elevados a potencias 73.
Texto tachado
Existen tres etiquetas diferentes que nos servirán para conseguir que nuestro texto se quede tacahado. Hablamos de las etiquetas <strike>, <s> y <del>. Ambas nos ofrecen el mismo resultado. Aquí tienes la muestra:

Existen tres etiquetas diferentes que nos servirán para conseguir que nuestro texto se quede tacahado. Hablamos de las etiquetas <strike>, <s> y <del>. Ambas nos ofrecen el mismo resultado. Aquí tienes la muestra:

Si la palabra no me gusta la puedo tachar <strike>así</strike>, <s>así</s> o <del>así</del>. ¡Lo mismo me da!

Si la palabra no me gusta la puedo tachar asíasí o 

así
. ¡Lo mismo me da!










HIPERENLACES

HIPERENLACES

Los enlaces nos permiten de una manera muy cómoda redirigir al usuario a otra parte, cuando éste pinche en dicho enlace. Podemos hacer que el usuario se vaya a otra url distinta a la que está, o podemos hacer que vaya a otra parte pero dentro del mismo archivo en el que está, dentro de la misma url.
Esta explicación la entenderás más fácilmente cuando te presentemos los tipos de enlaces que hay y veas sus características. Así pues, vamos a ello:


La etiqueta <a>
Es dentro de esta etiqueta y de su cierre (</a>) dónde encontraremos el enlace. Todo lo que esté dentro de ella, ya sea texto o una imagen, estará considerado como un enlace y el navegador lo interpretará así.


Atributo href
Para que un enlace esté activo debemos indicar dentro de él el destino del mismo. Para establecer este destino le colocamos a la etiqueta <a> este atributo. La etiqueta completa nos quedaría así:
<a href=“enlace”>Pincha aquí para ir al destino del enlace</a>
Las urls pueden tener dos tipos de rutas o direcciones: Las urls con dirección relativa y las urls con dirección absoluta. Vamos a explicarlas a continuación:


Direcciones absolutas y relativas:
   Las direcciones absolutas son aquellas que contienen la url completa. En estas direcciones podemos ver todos los elementos de la dirección. Un ejemplo muy claro es el siguiente:
<a href="http://html.hazunaweb.com/112.php">Artículo de enlaces html</a>
Si pincháramos en el enlace iríamos directamente al artículo de mapas de imágenes del tutorial. Fijaros en lo que hablábamos: podemos apreciar todas las partes de la url.
En las direcciones relativas vemos que no está la url completa. En este tipo de direcciones, las partes que faltan de la dirección el navegador las genera de la propia página en la que está el enlace. Por ejemplo, si dentro de la página http://html.hazunaweb.com/112.php encontráramos la siguiente url...
<a href="111.php">Artículo de enlaces html</a>
…el navegador entiende que dentro de la página y de la carpeta en la que se encuntra, debe dirigirse al fichero “111.php”.



Protocolos
Los enlaces nos pueden llevar a url con diferentes protocolos. Nosotros os vamos a presentar los dos más importantes:
  • http: Este es el protocolo básico de los servidores webs.
  • https: Este protocolo se diferencia del anterior en que es un protocolo cifrado. Es decir, la información que se envía y se recibe con esa url esta siendo encriptada para que nadie más pueda interceptar y usar esa información. Las páginas con este protocolo son las conocidas como “páginas seguras”. Esta encriptación de los datos produce una pequeña ralentización de la página debido a que los datos se envían cifrados.
Mailto
La url mailto es aquella que te lleva directamente a una dirección de correo y, más concretamente, a redactar un mensaje. Una dirección mailto sería la siguiente:
<a href=“mailto:correodeejemplo@correodeejemplo.com>correodeejemplo@correodeejemplo.com</a>
Fíjate en el ejemplo que acabamos de poner. Nosotros, como texto para albergar el enlace, hemos puesto la misma dirección que la que va a abrir la url. ¿Por qué?
El programa de correo que abre el navegador es aquel que el usuario tenga como predefinido. Nosotros te aconsejamos que como texto para albergar el enlace pongas la dirección de correo electrónico. Windows por defecto tiene predeterminado el Outlook y al pinchar en el enlace lo abre directamente. Muchos usuarios prefieren copiar la dirección y pegarla en su programa de correo.


La etiqueta target:
La etiqueta sirve para definir la forma en la que se accederá a la nueva url. Esta etiqueta la escribimos dentro del enlace para predefinirla. Puede ser de diferentes tipos:
  • _self: Es el valor por defecto del parámetro target. El enlace se abrirá en el mismo marco en el que está alojado.
  • _blank: Para hacer que ese enlace se abra en una ventana a parte.
  • _top: Elimina todos los marcos existente y muestra la nueva página en la ventana original sin marcos.
  • _parent : Muestra la nueva página en el <frameset> que contiene al marco donde se encuentra alojado el enlace. La etiqueta <frameset> la explicamos en otro artículo.
Anclas
Un ancla nos sirve para dirigir al usuario a otra parte distinta pero dentro del mismo fichero en el que estamos. Para crear un ancla debemos crear primero el lugar al que queremos acceder. Debemos escribir lo siguiente:
<a name=“ancla”>
Y después debemos escribir un enlace con el código siguiente:
<a href= “#ancla”>Enlace para acceder al ancla</a>
Yo he situado un ancla justo al principio de este artículo. Si pinchas en el siguiente enlace acudirás a ella y verás el efecto.
Y para terminar te mostraremos como podemos hacer que un enlace nos diriga directamente a una imagen. Le hemos indicado al enlace que nos abra la imagen en una ventana diferente gracias al target:blank. El código es el siguiente:
<a href="http://html.hazunaweb.com/html/imagenes/prueba.jpg" target="_blank">Ir
a ver el ejemplo de prueba </a>
Y el resultado le verás pinchando en aquí: Ir a ver el ejemplo de prueba
Y terminamos con otro tipo de enlace. Esta vez el enlace está en la imagen. Si pinchas en ella, irás al artículo dónde vimos por primera vez esa fotografía. Primero te mostramos el código:
<a href="http://html.hazunaweb.com/112.php" target="_blank"><img src="http://html.hazunaweb.com/html/imagenes/prueba-enlace.jpg" alt="Pincha para ir al enlace" width="300" height="214" border="0"></a>
Y aquí tienes la imagen con el enlace. Se abrirá en una ventana nueva gracias al target blank.

IMÁGENES

IMÁGENES

Imágenes.



Poner imágenes en nuestra web produce unos resultados asombrosos de una manera muy fácil. Vamos a mostrarte como puedes incluir una imagen y los atributos que puedes darle a la misma.
El tag básico para colocar una imagen es "img". Este tag, a diferencia de la gran mayoría de los tags de html, no necesita un cierre. Va acompañado de diferentes atributos que te vamos a explicar a continuación.
El atributo "src" es imprescindible para poder colocar una imagen. Este atributo es el que indica dónde se encuentra alojada la imagen que queremos mostrar. Se escribe así: <img src="x">, siendo "x" la dirección o la url dónde se encuentra situada la foto.
La foto podemos alinearla en la página como queramos mediante "align", utilizando los atributos "left" para alinearla a la izquierda, "right" para alinearla a la derecha, "top" para alinearla arriba, "bottom" para alinearla abajo y "middle" para alinearla al centro.
También podemos poner una descripción de la imagen dentro de la misma para que la gente puede leerla al mantener el ratón encima de ella. Esta descripción podemos escribirla mediante el atributo "alt" y lo escribiríamos de la siguiente manera: alt= "x", siendo "x" la descripción que le gente leerá al pasar el ratón por encima.
Debemos aclarar que no con todos los navegadores podemos ver el "alt" de manera visual. Hay algunos que no lo representan.
Atributos opcionales pero muy recomendables, son el height y el width. El height marca la altura de la imagen, mientras que el width marca la anchura. Son recomendables porque así ayudaremos al navegador a representar la imagen.
Y por último, también queremos mostrarte que le puedes adjudicar un borde a la fotografía. El atributo ya te lo sabes: "border". Después solo tendrás que definir cuál quieres que sea el grosor del borde. 

Así las cosas, deberemos escribir este código...
<img src="html/imagenes/prueba.jpg" border="1" alt="Este es el ejemplo de un texto alternativo" width="400" height="300">
...para poder ver esta preciosa fotografía







MAPA DE IMAGENES


Html nos permite la opción de crear diferentes enlaces url dentro de una misma imagen. Es decir, podemos hacer que diferentes partes de una imagen tengan enlaces que nos permitan ir a diferentes destinos.
Las fotos en las que queramos introducir un mapa de imágenes deberán ser de uno de estos tres formatos: .jpg, .gif o .png, que son los tres formatos recomendables para todos los navegadores.
A continuación vamos a explicarte como podemos crear este tag html y los diferentes atributos que posee este tag. Como veremos a lo largo del artículo, lo difícil de crear un mapa de imágenes no es el mapa en sí, sino encontrar las coordenadas en la imagen. Aunque existen programas de edición de imágenes que nos ayudarían en esa tarea.



El tag map
Cómo ya podemos suponer, <map> es el tag necesario para poder crear un mapa de imágenes en html. Por supuesto, posee un cierre: </map>.
Este tag debe ir acompañado del atributo name= “x”, para indicar el nombre del mapa. Por tanto si queremos hacer un mapa que se llame ejemplo 1, escribiremos: <map name= “ejemplo1”>


Atributo area
El mapa de imágenes lleva un área dentro de la cual podremos pinchar para dirigirnos al destino que hayamos preestablecido. Pero, por supuesto, esa área se la tenemos que indicar al navegador para que la interprete.
La zona del enlace se indica dentro de la etiqueta, estableciendo las coordenadas de dicha área. También podemos escribirle un texto alternativo, un “alt”, al área.
Existen tres tipos de áreas. Vamos a explicártelas a continuación.



Atributo shape
Este atributo nos indicará el tipo de área que es. Como hemos dicho existen tres tipos: rectangular (rect), poligonal (poly) o circular (circle) y cada una de ellas tiene unas características diferentes. Vamos a profundizar un poco más en ellas.
  • shape=“rect” : Este tipo de área crea un mapa de imagen rectangular. Para definir la zona que incluirá ese mapa deberemos definir la esquina superior izquierda del área y la esquina inferior derecha.
  • shape=“circle” : Este tipo de área crea un mapa de imagen circular. Nosotros sólo debemos indicarle el centro de la circunferencia y el radio del mismo.
  • shape=“poly” : Este tipo de área es la más versátil de todas, la que más posibilidades nos ofrece, ya que nos permite crear una zona personalizada. Para crearla debemos indicarle los diferentes puntos del polígono que hagamos y de una forma ordenada, siguiendo el camino que nosotros hemos trazado para hacerlo.
Bien, pero…¿y cómo indicamos las coordenadas? Gracias al siguiente atributo.



Atributo coords
El atributo coords se escribe de la siguiente forma: coords= “x,x,x,x”, entendiendo que cada “x” representa un punto en la imagen. Cada coordenada debe ir separada por comas.
Y el dónde nos dirigirá esa área nos lo indicará el atributo “href”

Atributo href

Aquí deberemos indicar el destino del área.


usemap
Hasta ahora te habíamos indicado cómo podías escribir un mapa de imágenes y cómo definir su área, pero no te habíamos dicho cómo indicar qué imagen es la que llevará el mapa. Esta acción se hace gracias al atributo usemap.
Este atributo se escribe de la siguiente forma: usemap=“#x”, siendo x el nombre del mapa de imágenes que queramos utilizar.
Nosotros hemos querido hacerte un ejemplo con la imagen que puedes ver más abajo. Dentro de estas bolas de billar, nosotros hemos hecho un mapa de imágenes con un área circular que coincide con la bola amarilla. Nuestra “href” es la página de inicio de este tutorial. También hemos hecho un área poligonal en la bola negra del fondo que te llevará al inicio del tutorial de css y otro área rectangular en el centro de la imagen, que te redigirá al inicio del tutorial de php.
El código nos ha quedado de la siguiente manera:
<img src="http://html.hazunaweb.com/html/imagenes/prueba-mapa.jpg" 
 alt="Prueba de mapa de imágenes" width="300" height="214" border="0" 


usemap="#billar">

<map name="billar">
<area alt="Si clícas aquí irás a la página 
de inicio del tutorial de html" shape="circle" coords="148,154,44" 
 href="http://www.hazunaweb.com">
<area alt="Si clías aquí irás a la página 
de inicio del tutorial de css" 
shape="poly" coords="148,59,142,49,135,41,128,38,121,34,125,25,135,16,155,11,177,19,188,27,187,


36,177,39,168,46,162,52,160,61" href="http://css.hazunaweb.com/">

<area alt="Si clías aquí irás a la página de inicio del tutorial de php" shape="rect" coords="11,77,288,105" href="http://php.hazunaweb.com/">
</map>
Y el resultado lo verás si clícas en las zonas adecuadas:







TABLAS

TABLAS


Una tabla en html viene marcada por las etiquetas <table> </table>. Entre esas dos etiquetas definiremos la tabla, las celdas que queremos, las columnas y las características de cada uno de estos parámetros. Pero vamos a empezar explicándote la etiqueta <table>.


Ya hemos dicho que esta etiqueta nos indica que empieza una tabla, pero… ¿podemos predefinir  características de esa tabla? Por supuesto que sí. Una tabla admite muchos parámetros. Nosotros vamos a explicarte los principales.


La tabla: <table>
Como ya ocurre con la etiqueta body, a una tabla también lo podemos definir el fondo de la misma. Esto lo podemos conseguir con el parámetro "bgcolor", que nos pondrá un color de fondo,  o "background" para poner una imagen de fondo. Recuerda que si la imagen es más pequeña que la tabla, ésta se repetirá tanto a lo ancho como a lo largo.


Otro aspecto que podemos definir de la tabla es el borde. Esto lo haremos con el parámetro "border". Como en todas los parámetros que ya hemos visto escribiremos: border= "x" siendo la x un número. Ese número indicará el grosor del borde. Si no ponemos borde o lo escribimos "0", la tabla no mostrará borde ninguno. Por supuesto, también podemos darle color al borde, escribiendo la etiqueta "bordercolor" e indicando el color que queramos para nuestro borde.


El parámetro "width" indircará la anchura de la tabla. Esta anchura la podemos poner en píxeles (width= "300") o con porcentaje (width= "100%").


Dos parámetros más son cellspacing (que define el espacio entre las celdas de la tabla) y cellpadding  (que le marca a la tabla el espacio que debe dejar alrededor del texto dentro de una celda).


Como ejemplo, escribiremos el hipotético supuesto de querer una tabla que sea ancha al 100%, con un borde azul de un píxel de grosor y con un cellpadding de 10 y con un cellspacing de 10. El código quedaría de la siguiente forma.
<table width="100%" border="1" bordercolor="#0000FF" cellspacing="10" cellpadding="10"></table>
Una vez explicadas las tablas, vamos a pasar a explicarte las partes fundamentales de las mismas.




Las filas: <tr>
Como hemos visto en el encabezado las filas se escriben gracias a las etiquetas <tr> con su correspondiente cierre </tr>. El contenido de las columnas que están dentro de la fila lo podemos alínear tanto horizontal como verticalmente.
Para alinearlo verticalmente utilizaremos el atributo "valign" para poder alinearlo arriba de la celda ("top"), en el centro ("middle") o debajo ("bottom").
Para alinearlo horizontalmente utilizaremos el atributo "align". Con este atributo podremos alinear el contenido de las celdas en el centro ("center"), a la izquierda ("left"), a la derecha ("right") o justificado ("justify").
Por supuesto a las filas también les podemos definir el color de fondo ("bgcolor") y el color del borde ("bordercolor").


Las celdas <td>
Las celdas que van dentro de cada fila las tenemos que escribirlas con la etiqueta <td> y su correspondiente cierre </td>.
Al igual que en las filas, en las celdas podemos definir el la alineación del contenido que está dentro con los atributos "valign" y "align".
Las celdas poseen unos atributos que nos ayudan a poder agrupar tantas celdas o tantas columnas como indiquemos en él. Para agrupar celdas utilizaríamos el atributo "colspan" y para agrupar celdas el atributo "rowspan".
Por ejemplo, para agrupar en una celda 2 columnas tenemos que escribir: <td colspan="2"></td>. Y para agrupar dos filas, la indicación sería la siguiente: <td rowspan= "2"></td>.


Las celdas <th>
Las celdas escritas con la etiqueta <th> y su correspondiente cierre, admiten los mismos atributos que las etiquetas <td> y funcionan de la misma forma, salvo que el contenido que esté dentro de una etiqueta <th> está considerado como el encabezado de la tabla, por lo que se creará en negrita y centrado sin que nosotros se lo indiquemos.
A continuación vamos a ponerte un pequeño ejemplo de una tabla que combina todas las cosas que hemos ido viendo en el artículo. Estúdiate primero el código, visualiza cómo quedaría la tabla y luego mírala en el enlace siguiente: Ejemplo de tabla.



<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<th>Encabezado 1</th>
<th>Encabezado 2</th>
<th>Encabezado 3</th>
</tr>
<tr>
<td rowspan="2" valign="middle" align="left">Este texto está alineado al centro
verticalmente y a la izquierda horizontalmente</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
</table>



nowrap
nowrap es un atributo que le podemos colocar a la etiqueta de la celda y que obligará al navegador a no romper esa línea, o sea, a no hacer ningún salto de línea. Con este atributo en la celda, el navegador no respeta el ancho predefinido de la tabla, si es que lo hubiera, y respeta el ancho de la frase, ya que no puede partirla.
Por tanto, si la frase es más larga que el ancho definido de la tabla, ésta se estirará todo lo necesario para albergar la frase sin saltos de línea. El siguiente código nos mostrará como escribir este atributo en la etiqueta de la celda:

<table width="400" border="1" cellpadding="10" cellspacing="0" bordercolor="#000000">
<tr>
<td nowrap>Aunque este texto sea m&aacute;s ancho que los 400 p&iacute;xeles
de la tabla, &eacute;sta no puede dividir mediante saltos de l&iacute;nea
el contenido de la misma, por lo que se estira para albergar toda la frase.</td>
</tr>
</table>

Y a continuación podemos ver el efecto del atributo:



Aunque este texto sea más ancho que los 400 píxeles de la tabla, ésta no puede dividir mediante
 saltos de línea el contenido de la misma, por lo que se estira para albergar toda la frase.




Etiqueta “caption” 



Esta etiqueta sirve para poder ponerle un título o encabezado a la tabla. Puedes poder el encabezado arriba o abajo, dónde tu prefieras, mediante la etiqueta "align": "align=top" para ponerlo arriba y "align=bottom" para ponerlo abajo. En el siguiente ejemplo nosotros lo hemos puesto abajo.

<table width="50%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">
<caption align="bottom">Encabezado de la tabla.</caption>
<tr>
<td align="center">Tablita de ejmplo para la etiqueta "caption"</td>
</tr>
</table>




MARCOS


16.Introducción a los marcos

Los marcos HTML permiten a los autores presentar documentos con vistas múltiples, que pueden ser ventanas o subventanas independientes. Las vistas múltiples ofrecen a los autores una manera de mantener cierta información visible mientras otras vistas se desplazan o se sustituyen. Por ejemplo, dentro de una misma ventana, un marco podría mostrar un gráfico estático, un segundo marco un menú de navegación, y un tercero el documento principal que puede ser desplazado, o reemplazado al navegar por el segundo marco.
Aquí tenemos un documento simple con marcos:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd"> <HTML>
</HEAD
<HEAD> <TITLE>Un documento simple con marcos</TITLE> >
<FRAME src="conteni
<FRAMESET cols="20%, 80%"> <FRAMESET rows="100, 200" >dos_del_marco1.html"> <FRAME src="contenidos_del_marco2.gif">
<P>Est
</FRAMESET> <FRAME src="contenidos_del_marco3.html"> <NOFRAMES >e conjunto de marcos contiene: <UL>
.html">Contenidos chéveres</A> <LI><IMG src="contenidos_del_marc
<LI><A href="contenidos_del_marco 1o2.gif" alt="Una imagen chévere"> <LI><A href="contenidos_del_marco3.html">Más contenidos chéveres
</A>
</UL> </NOFRAMES> </FRAMESET>
</HTML>
Esto podría crear una disposición de marcos como la siguiente:
---------------------------------------
| | |
| | |
| | |
| Marco 1 | | | | |
| | |
|---------| | | | Marco 3 | | | |
| | |
| | | | Marco 2 | | | | | | | |
| | |
---------------------------------------
Si el agente de usuario no puede mostrar marcos o está configurado para no mostrarlos, representará los contenidos del elemento NOFRAMES.

16.2 Disposición de los marcos

Los documentos HTML que describen una disposición de marcos (llamados documentos con marcos) tienen una estructura diferente a la de los documentos HTML sin marcos. Un documento normal tiene una sección HEAD y una sección BODY. Un documento con marcos tiene una sección HEAD, y un FRAMESET en lugar del BODY.
La sección FRAMESET de un documento especifica la disposición de las vistas en la ventana principal del agente de usuario. Además, la sección FRAMESET puede contener un elemento NOFRAMES que proporcione contenido alternativo para los agentes de usuario que no soporten marcos o que estén configurados para no mostrar marcos.
Los elementos que normalmente podrían colocarse en el elemento BODY no deben aparecer antes del primer elemento FRAMESET o el FRAMESET no será tenido en cuenta.


rows = lista de multilongitudes [CN]
Este atributo especifica la disposición de los marcos horizontales. Es una lista de longitudes en píxeles, porcentajes o longitudes relativas, separadas por comas. El valor por defecto es 100%, que significa una fila.
cols = lista de multilongitudes [CN]
Este atributo especifica la disposición de los marcos verticales. Es una lista de longitudes en píxeles, porcentajes o longitudes relativas, separadas por comas. El valor por defecto es 100%, que significa una columna.
El elemento FRAMESET especifica la organización de la ventana principal del usuario en términos de subespacios rectangulares.

Filas y columnas 

Cuando se establece el atributo rows (filas) se define el número de subespacios horizontales. Cuando se establece el atributo cols (columnas) se define el número de subespacios verticales. Ambos atributos se pueden especificar simultáneamente para crear una cuadrícula.
Si no se establece el atributo rows, cada columna se extiende a lo largo de toda la longitud de la página. Si no se establece el atributo cols, cada fila se extiende a lo largo de toda la anchura de la página. Si no se establece ninguno de los dos atributos, el marco tiene exactamente el mismo tamaño que la página.
Los marcos se crean de izquierda a derecha para las columnas y de arriba a abajo
 para las filas. Cuando se especifican ambos atributos, las vistas se crean de 
izquierda a derecha en la fila superior, de izquierda a derecha en la segunda fila, etc.
En este primer ejemplo dividimos la pantalla verticalmente en dos (es decir, creamos 
una mitad superior y una mitad inferior).
<FRAMESET rows="50%, 50%">
...el resto de la definición...</FRAMESET>
El siguiente ejemplo crea tres columnas: la segunda tiene una anchura fija de 
250 píxeles (lo cual es útil, por ejemplo, para incluir una imagen de tamaño conocido).
 La primera recibe el 25% del espacio restante, y la tercera el 75% del espacio restante.
<FRAMESET cols="1*,250,3*">
...el resto de la definición...</FRAMESET>
El siguiente ejemplo crea una cuadrícula de 2x3 subespacios.
<FRAMESET rows="30%,70%" cols="33%,34%,33%">
...el resto de la definición...</FRAMESET>
Para el siguiente ejemplo, supongamos que la ventana del navegador tiene
 actualmente una altura de 1000 píxeles. Para la primera vista se asigna el 30%
 de la altura total (300 píxeles). Para la segunda vista se especifica que tenga una 
altura de exactamente 400 píxeles. Esto deja 300 píxeles para repartir entre los otros
 dos marcos. La altura del cuarto marco se ha especificado como "2*", 
de modo que es el doble de alto que el tercer marco, cuya altura es sólo "*" 
(equivalente a 1*). Por tanto el tercer marco será de 100 píxeles de alto y el 
cuarto tendrá una altura de 200 píxeles..
<FRAMESET rows="30%,400,*,2*">
...el resto de la definición...</FRAMESET>
Las longitudes absolutas que no sumen el 100% del espacio real disponible 
deberían ser ajustadas por los agentes de usuario. Cuando sobre espacio, 
el espacio sobrante debería repartirse proporcionalmente entre cada vista. 
Cuando falte espacio, debería reducirse cada vista en función de la relación 
entre el espacio especificado y el espacio total.

Anidamiento de grupos de marcos 

Los grupos de marcos pueden anidarse hasta cualquier nivel.
En el siguiente ejemplo, el FRAMESET exterior divide el espacio disponible en tres
 columnas iguales. 
A continuación el FRAMESET interior divide la segunda área en dos filas de alturas diferentes.
<FRAMESET cols="33%, 33%, 34%">
...contenidos del primer marco...
<FRAMESET rows="40%, 50%">
...contenidos del segundo marco, primera fila...
...contenidos del segundo marco, segunda fila...
</FRAMESET>
...contenidos del tercer marco...
</FRAMESET>

Compartir datos entre marcos 

Los autores pueden compartir datos entre varios marcos incluyendo estos datos a través de un elemento OBJECT. Los autores deberían incluir el elemento OBJECT en el elemento HEADdel documento con marcos y darle un nombre con el atributo id. Cualquier documento que sea el contenido de un marco del documento con marcos puede hacer referencia a este identificador.
El siguiente ejemplo ilustra cómo podría hacer referencia un script a un elemento OBJECT 
definido para todo un grupo de marcos:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd"> <HTML>
OBJECT
<HEAD> <TITLE>Esto es un documento con marcos con un en el HEAD</TITLE>
se representa! --> <OBJECT id="miobjeto
<!-- ¡Este OBJECT no " data="datos.dat"></OBJECT> </HEAD> <FRAMESET>
MESET> </HTML> <!-- En blanca.html --> <HT
<FRAME src="blanca.html" name="blanca"> </FR AML> <HEAD> <TITLE>Página de Blanca</TITLE> </HEAD> <BODY>
...comienzo del documento...
<P>
<SCRIPT type="text/javascript">
parent.miobjeto.mipropiedad
</SCRIPT>
...el resto del documento...
</BODY>
</HTML>

name = cdata [CI]
Este atributo asigna un nombre al marco actual. Este nombre puede utilizarse como el destino de vínculos subsiguientes.
longdesc = uri [CT]
Este atributo especifica un vínculo a una descripción larga del marco. Esta descripción debería complementar la descripción corta proporcionada por el atributo title, y puede ser particularmente útil para agentes de usuario no visuales.
src = uri [CT]
Este atributo especifica la localización de los contenidos iniciales que contendrá el marco.
noresize [CI]
Si está presente, este atributo booleano le dice al agente de usuario que la ventana del marco no debe ser redimensionable.
scrolling = auto|yes|no [CI]
Este atributo especifica información sobre el desplazamiento de la ventana del marco. Valores posibles:
  • auto: Este valor le dice al agente de usuario que proporcione mecanismos de desplazamiento en la ventana del marco cuando sea necesario. Este es el valor por defecto.
  • yes: Este valor le dice al agente de usuario que siempre proporcione mecanismos de desplazamiento en la ventana del marco.
  • no: Este valor le dice al agente de usuario que nunca proporcione mecanismos de desplazamiento en la ventana del marco.
frameborder = 1|0 [CN]
Este atributo proporciona información al agente de usuario sobre el borde del marco. Valores posibles:
  • 1: Este valor le dice al agente de usuario que dibuje un separador entre este marco y todos los marcos adyacentes. Este es el valor por defecto.
  • 0: Este valor le dice al agente de usuario que no dibuje un separador entre este marco y todos los marcos adyacentes. Obsérvese que aún se puede dibujar un separador junto a este marco si así se especifica para otros marcos.
marginwidth = píxeles [CN]
Este atributo especifica la cantidad de espacio que debe dejarse entre los contenidos del marco en sus márgenes izquierdo y derecho. El valor debe ser mayor o igual que cero (píxeles). El valor por defecto depende del agente de usuario.
marginheight = píxeles [CN]
Este atributo especifica la cantidad de espacio que debe dejarse entre los contenidos del marco en sus márgenes superior e inferior. El valor debe ser mayor o igual que cero (píxeles). El valor por defecto depende al agente de usuario.
El elemento FRAME define los contenidos y la apariencia de un marco dado.

Especificación de los contenidos iniciales de un marco 

El atributo src especifica el documento inicial que contendrá el marco.
El siguiente ejemplo de documento HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd"> <HTML>
<FRAM
<HEAD> <TITLE>Un documento con marcos</TITLE> </HEAD >ESET cols="33%,33%,33%"> <FRAMESET rows="*,200">
<FRAME src="contenidos_del_marco2.gif"> </F
<FRAME src="contenidos_del_marco1.html"> RAMESET> <FRAME src="contenidos_del_marco3.html"> <FRAME src="contenidos_del_marco4.html">
</FRAMESET>
</HTML>
debería crear una distribución de marcos parecida a ésta:
------------------------------------------
|Marco 1 |Marco 3 |Marco 4 |
| | | |
| | | |
| | | | | | | |
| | | |
| | | | | | | | -------------| | |
------------------------------------------
|Marco 2 | | | | | | |
| | | |


y hacer que el agente de usuario cargara cada fichero en una vista separada.
Los contenidos de un marco no deben estar en el mismo documento que la definición del marco.


EJEMPLO ILEGAL: 
La siguiente definición de un grupo de marcos no es legal según HTML, ya que los contenidos del segundo marco están en el mismo documento que la definición del grupo de marcos.


El siguiente ejemplo ilustra el uso de los atributos decorativos de FRAME. Especificamos que el
 marco 1 no permitirá barras de desplazamiento. El marco 2 dejará espacio en blanco
 alrededor de sus contenidos (inicialmente, un fichero de imagen) y el marco 
no será redimensionable. No se dibujará ningún borde entre los marcos 3 y 4.
 Se dibujarán los bordes (por defecto) entre los marcos 1, 2 y 3.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd"> <HTML>
<FRAM
<HEAD> <TITLE>Un documento con marcos</TITLE> </HEAD >ESET cols="33%,33%,33%"> <FRAMESET rows="*,200">
ing="no"> <FRAME src="contenidos_del_marco2.gif"
<FRAME src="contenidos_del_marco1.html" scrol marginwidth="10" marginheight="15" noresize> </FRAMESET>
os_del_marco4.html" frameborder="0"> </FRAMESET> </HTML>
<FRAME src="contenidos_del_marco3.html" frameborder="0"> <FRAME src="contenido>
d

3 Especificación de información sobre el marco destino

Nota. Para información sobre las prácticas actuales referentes a la determinación del marco destino, consulte las notas sobre marcos del apéndice.
Definiciones de atributos
target = marco-destino [CI]
Este atributo especifica el nombre de un marco en el que debe abrirse un documento.
Al asignar un nombre a un marco por medio del atributo name, los autores pueden referirse a él como el "destino" de los vínculos definidos por otros elementos. Se pueden establecer el atributo target para los elementos que creen vínculos (A, LINK), para los mapas de imágenes (AREA), y para los formularios (FORM).
Consulte la sección sobre nombres de marcos destino para información sobre nombres de marcos reconocidos.
Este ejemplo ilustra cómo es posible mediante la especificación de un destino la 
modificación dinámica de los contenidos de un marco. Primero definimos un grupo de 
marcos en el documento frameset.html, mostrado a continuación:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd"> <HTML>
<FRAM
<HEAD> <TITLE>Un documento con marcos</TITLE> </HEAD >ESET rows="50%,50%">
src="inicial_fijo.html"> <FRAME name="dinam
<FRAME name="fijo" ico" src="inicial_dinamico.html"> </FRAMESET>
</HTML>
Después, en inicial_dinamico.html, hacemos un vínculo al marco llamado "dinamico".
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>
</TITLE> </HEAD> <BODY>
<TITLE>Un documento con vínculos con destinos específico
s...comienzo del documento...
<P>Puede avanzar ahora a la
<A href="diapo2.html" target="dinamico">diapositiva 2.</A>
...más documento...<P>Lo está haciendo muy bien. Vaya ahora a la  
  <A href="diapo3.html" target="dinamico">diapositiva 3.</A></BODY>
</HTML>
Si se activa cualquiera de los vínculos se abre un nuevo documento en 
el marco llamado "dinamico", mientras que el otro marco, "fijo", 
mantiene sus contenidos iniciales.

16.3.1 Especificación del destino de los vínculos por defecto

Cuando muchos vínculos del mismo documento designan al mismo destino, es posible especificar el destino una sola vez para que no sea necesario incluir el atributo target en todos los elementos. Esto se hace estableciendo el atributo target del elemento BASE.
Volvemos al ejemplo anterior, esta vez definiendo la información sobre el destino en el
 elemento BASE para quitarla de los elementos A.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>
TLE> <BASE href="http://www.micom.com/Diapos" target="dinamic
<TITLE>Un documento con un destino específico en BASE</T Io"> </HEAD> <BODY>
...comienzo del documento...
<P>Puede avanzar ahora a la <A href="diapo2.html">diapositiva 2.</A>
...más documento...<P>Lo está haciendo muy bien. Vaya ahora a la  
<A href="diapo3.html">diapositiva 3.</A></BODY>
</HTML>

16.3.2 Semántica de marcos destino

Los agentes de usuario deberían determinar el marco destino en el que cargar un recurso vinculado de acuerdo con las siguientes reglas de precedencia (ordenadas de mayor a menor prioridad):
  1. Si un elemento especifica en su atributo target un marco conocido, cuando se activa el vínculo (p.ej., se sigue el vínculo o se procesa un formulario), el recurso designado por el elemento debería cargarse en el marco destino.
  2. Si un elemento no tiene el atributo target establecido pero el elemento BASE sí lo tiene, el atributo target del elemento BASE determina el marco.
  3. Si ni el elemento que vincula el recurso ni el elemento BASE hacen referencia a un destino, el recurso designado por el elemento debería cargarse en el marco que contiene al elemento.
  4. Si alguno de los atributos target se refiere a un marco desconocido F, el agente de usuario debería crear una ventana y marco nuevos, asignar el nombre F al marco, y cargar el recurso designado por el elemento en el nuevo marco.
Los agentes de usuario pueden proporcionar a los usuarios un mecanismo para deshabilitar el atributo target.

16.4 Contenido alternativo

Los autores deberían proporcionar contenido alternativo para aquellos agentes de usuario que no soporten marcos o que estén configurados para no mostrar marcos.
El elemento NOFRAMES especifica un contenido que sólo deberían mostrar los agentes de usuario que no soporten marcos o que estén configurados para no mostrar marcos. Los agentes de usuario que soporten marcos sólo deben mostrar los contenidos de una declaración NOFRAMES cuando se configuren para no mostrar marcos. Los agentes de usuario que no soporten marcos deben mostrar los contenidos de NOFRAMES en cualquier caso.
El elemento NOFRAMES es parte tanto del DTD transicional como del de documentos con marcos. En un documento que use el DTD de documentos con marcos, NOFRAMES se puede usar al final de la sección FRAMESET del documento.
Por ejemplo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd"> <HTML>
</TITLE>
<HEAD> <TITLE>Un documento con marcos con NOFRAME S </HEAD> <FRAMESET cols="50%, 50%">
RAME src="tabla_de_contenidos.htm
<FRAME src="principal.html"> < Fl"> <NOFRAMES>
contrar la <A href="principal-sinmarcos.html"> versio
<P>Aquí puede e nn sin marcos del documento.</A> </NOFRAMES> </FRAMESET>
</HTML>
NOFRAMES se puede usar, por ejemplo, en un documento que sea el origen de un marco y que use el DTD transicional. Esto permite a los autores explicar el propósito del documento en los casos en que éste se vea fuera del grupo de marcos o con un agente de usuario que no soporte marcos.

16.4.2 Descripciones largas de marcos

El atributo longdesc permite a los autores hacer los documentos con marcos más accesibles a las personas que utilizan agentes de usuario no visuales. Este atributo designa un recurso que proporciona una descripción larga del marco. Los autores deberían recordar que las descripciones largas asociadas con los marcos se refieren al marco, y no a los contenidos del marco. Como los contenidos pueden variar con el tiempo, la descripición larga inicial podría ser inapropiada para los contenidos posteriores del marco. En particular, los autores no deberían incluir una imagen como único contenido de un marco.
El siguiente documento con marcos describe dos marcos. El marco izquierdo contiene 
una tabla de contenidos y el marco derecho contiene inicialmente la imagen de un avestruz:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<HTML>
<HEAD>
<TITLE>Un documento con marcos mal diseñado</TITLE>
</HEAD>
<FRAMESET cols="20%, 80%">
   <FRAME src="tabla_de_contenidos.html">
   <FRAME src="avestruz.gif" longdesc="desc-avestruz.html">
</FRAMESET>
</HTML>
Obsérvese que la imagen ha sido incluida en el marco independientemente de 
cualquier elemento HTML, de modo que el autor no tiene ninguna manera de 
especificar un texto alternativo aparte de usar el atributo longdesc
Si los contenidos del marco derecho cambian (p.ej., el usuario 
selecciona una serpiente de cascabel en la tabla de contenidos), 
los usuarios no tendrán acceso textual a los nuevos contenidos del marco.
Por tanto, los autores no deberían poner una imagen en un marco directamente. 
En su lugar, la imagen debería especificarse en un documento HTML independiente,
 en el cual se podría adjuntar el texto alternativo apropiado:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<HTML>
<HEAD>
<TITLE>Una documento con marcos bien diseñado</TITLE>
</HEAD>
<FRAMESET cols="20%, 80%">
   <FRAME src="tabla_de_contenidos.html">
   <FRAME src="contenedor_avestruz.html">
</FRAMESET>
</HTML>
<!-- En contenedor_avestruz.html: -->
<HTML>
<HEAD>
<TITLE>El avestruz, robusto y veloz</TITLE>
</HEAD>
<P>
<OBJECT data="avestruz.gif" type="image/gif">
¡Estos avestruces seguro que están ricos!
</OBJECT>
</HTML>

16.5 Marcos en línea: el elemento IFRAME


longdesc = uri [CT]
Este atributo especifica un vínculo a una descripción larga del marco. Esta descripción debería servir como complemento de la descripción corta que proporciona el atributotitle, y es particularmente útil para los agentes de usuario no visuales.
name = cdata [CI]
Este atributo asigna un nombre al marco actual. Este nombre puede utilizarse como el destino de vínculos subsiguientes.
width = longitud [CN]
La anchura del marco en línea.
height = longitud [CN]
La altura del marco en línea.
El elemento IFRAME permite a los autores insertar un marco dentro de un bloque de texto. Insertar un marco en línea dentro de una sección de texto es muy similar a insertar un objeto mediante un elemento OBJECT: ambos permiten insertar un documento HTML en medio de otro, ambos pueden alinearse con el texto circundante, etc.
La información a insertar en línea se designa mediante el atributo src de este elemento. Los contenidos del elemento IFRAME, por su parte, sólo deberían ser mostrados por los agentes de usuario que no soporten marcos o que estén configurados para no mostrar marcos.
Para aquellos agentes de usuario que soporten marcos, el siguiente ejemplo colocará un 
marco en línea rodeado por un borde en medio del texto.
  <IFRAME src="blabla.html" width="400" height="500"
          scrolling="auto" frameborder="1">
  [Su agente de usuario no soporta marcos o está actualmente configurado
  para no mostrar marcos. Sin embargo, puede visitar
  <A href="blabla.html">el documento relacionado.</A>]
  </IFRAME>
Los marcos en línea no pueden ser redimensionados (y por lo tanto no tienen un atributo noresize).