1. Introducción al posicionamiento (o colocación) de bloques.Especificando la posición las propiedades "left" y "top".3. Control de ciertos aspectos de los bloques.
Colocación absoluta.
Colocación relativa.
Combinaciones.
Altura y ancho de un bloque, las propiedades "width" y "height".Orden de colocación, la propiedad "z-index".4. Ejemplos de las propiedades tratadas en este capítulo.
Control del sobreflujo, la propiedad "overflow".
Visibilidad, la propiedad "visibility".Ejemplo de Colocación absoluta.5. Fin de este capítulo.
Ejemplo de Colocación relativa.
Ejemplo del orden de colocación "z-index".
Ejemplo del manejo del sobreflujo.Puntos a recordar para la colocación de bloques.
El posicionamiento absoluto permite colocar un bloque de texto en cualquier parte del documento sin importar el flujo del texto, este posicionamiento toma como referencia la esquina superior izquierda del elemento padre del bloque.
El posicionamiento relativo conserva el bloque en el flujo normal del texto y solo es posible definir la distancia de los bordes superior e izquierdo al elemento mas cercano.
Para definir el tipo de posicionamiento o colocación de un bloque se usa la propiedad "position" con uno de dos valores: "absolute" para colocación absoluta, "relative" para colocación relativa.
Ejemplo:
ESTILO {position:absolute;}
ESTILO {position:relative;}
Cabe mencionar que cuando hablamos de bloque nos referimos a la parte del documento donde se aplica un estilo usando los tags <DIV> y <SPAN>.
La tabla siguiente explica estas dos propiedades.
| Propiedad | Valor posible | Ejemplo | Significado de la propiedad. |
| top | En ambos casos una cantidad especificada usando una unidad relativa o absoluta o la palabra "auto" que es equivalente a no usar la propiedad. | top:0px; | Define la distancia entre el borde superior del bloque que se colocará y el borde superior de su elemento padre. |
| left | left:230px; | Define la distancia entre el borde izquierdo del bloque que se colocará y el borde izquierdo de su elemento padre. |
Estas dos propiedades se usan junto con la propiedad "position" ya que no trabajan por si solas.
Un ejemplo de uso es:
| <STYLE
type="text/css">
#mibloque{position:absolute; top:20px; left:25px;} </STYLE> |
Si la definición de estilo anterior se aplicara a un bloque seria interpretada de la siguiente forma:

En el caso de la colocación absoluta no importa que el bloque una vez colocado quede encima de otro bloque.
| <STYLE
type="text/css">
#tubloque{position:relative; top:30px; left:40px;} </STYLE> |
Si el estilo anterior se aplicara a un bloque se vería así en un navegador.

Por ejemplo:
| <STYLE
type="text/css">
#miestilo{position:relative; top:12px; left;12px;} #tuestilo{position:absolute; top:20px; left:15px;} </STYLE> |
Los estilos definidos se aplicarían en un documento así:
| <SPAN
id="miestilo">
Mi estilo <DIV id="tuestilo">Tu estilo</DIV> </SPAN> |
Al ser interpretados se verían así:

#miestilo{position:absolute; top:20px; left:20px; height:60px; width:60px;}
Si el estilo se aplicara a un bloque en un documento se vería así:

Como estas propiedades ya se mencionaron en el capítulo anterior solo mencionaremos que en Netscape Communicator y Microsoft Internet Explorer 4 el valor por default de estas propiedades es 100%, en Internet Explorer 5 el valor por default es "auto" que significa que el ancho del bloque se ajustará a su contenido.
La propiedad "z-index" solo puede tener valores numéricos enteros relativos al orden de colocación como lo hemos mencionado un valor mayor sitúa al bloque adelante de los bloques cuyo "z-index" sea menor, por ejemplo:
#miestilo{position:absolute; z-index:20;}
| Valor | Ejemplo | Significado |
| "hidden" | overflow:hidden; | En este caso se indica que cuando el contenido del bloque exceda el tamaño de este debe ocultarse todo lo que quede fuera de las dimensiones del bloque. |
| "visible" | overflow:visible; | En este caso se indica que cuando el contenido del bloque exceda el tamaño especificado para este, se deberá modificar la altura o anchura del bloque como se requiera. |
| "auto" | overflow:auto; | En este caso cuando el contenido exceda las dimensiones del bloque, el browser debe mostrar barras de desplazamiento para poder visualizar el sobreflujo. |
| "scroll" | overflow:scroll; | En este caso sin importar que haya o no sobreflujo el bloque mostrara barras de desplazamiento. |
La propiedad "overflow" es posible que solo trabaje con todos los valores mencionados en Microsoft Internet Explorer 5.0, en Communicator 4.x y algunas versiones de IE 4.0 no funcionan los valores "auto" y "scroll".
En condiciones normales esta propiedad no tiene gran utilidad, su utilidad solo se aprecia cuando se usa un lenguaje de programación web para hacer DHTML.
| <HTML>
<HEAD> <STYLE type="text/css"> #bloque1{position:absolute; color:white; top:25px; left:50px; height:150; width:100; background-image:url(greenmar.gif);} #bloque2{position:absolute; color:yellow; top:150px; left:150px; height:150; width:200; background-image:url(greenmar.gif);} </STYLE> </HEAD> <BODY> <DIV id="bloque1"> Bloque 1 usando el estilo llamado "bloque1"</DIV> <DIV id="bloque2">Bloque 2 usando el estilo llamado "bloque2"</</DIV> </BODY></HTML> |
Para ver este ejemplo haga click aquí.
| <HTML>
<HEAD> <STYLE type="text/css"> #bloque1{position:relative; top:20px; left:20px; height:100; width:100; background-color:#ffeeee;} #bloque2{position:relative; top:15px; left:70px; height:150; width:150; background-color:#eeeeff;} </STYLE> </HEAD> <BODY> Flujo del texto, flujo del texto, flujo del texto, <SPAN id="bloque1"> Bloque 1 con posición relativa al flujo del texto</SPAN> Flujo del texto, <BR> flujo del texto, flujo del texto, flujo del texto, <SPAN id="bloque2">Bloque 2 con pocisión relativa al flujo del texto</</SPAN> flujo del texto, flujo del texto, </BODY> </HTML> |
Para ver este ejemplo haga click aquí.
| <HTML>
<HEAD> <STYLE type="text/css"> #bloque1{position:absolute; top:20px; left:20px; height:70; width:300; z-index:1; font-family:helvetica; font-size:17pt; color:red;} #bloque2{position:absolute; top:30px; left:30px; height:70; width:300; z-index:4; font-family:Comic Sans MS; font-size:18pt; color:blue;} #bloque3{position:absolute; top:40px; left:40px; height:70; width:300; z-index:2; font-weight:bold; font-size:19pt; color:olive;} #bloque4{position:absolute; top:50px; left:50px; height:70; width:300; z-index:3; font-style:italic; font-weight:bold; font-size:16pt;} </STYLE> </HEAD> <BODY> <SPAN id="bloque1">Bloque 1 con "z-index" 1</SPAN> <SPAN id="bloque2">Bloque 2 con "z-index" 4</SPAN> <SPAN id="bloque3">Bloque 3 con "z-index" 2</SPAN> <SPAN id="bloque4">Bloque 4 con "z-index" 3</SPAN> </BODY> </HTML> |
Para ver este ejemplo haga click aquí.
| <HTML>
<HEAD> <STYLE type="text/css"> #bloque1{position:absolute; top:20px; left:20px; height:100; width:100; overflow:visible; font-family:helvetica; font-size:10pt; color:red; background-color:#eeeeee;} #bloque2{position:absolute; top:20px; left:200px; height:100; width:100; overflow:hidden; font-family:Comic Sans MS; font-size:10pt; color:blue; background-color:#ffffee;} #bloque3{position:absolute; top:200px; left:20px; height:100; width:100; overflow:auto; font-weight:bold; font-size:10pt; color:olive; background-color:#eeffff;} #bloque4{position:absolute; top:200px; left:200px; height:100; width:100; overflow:scroll; font-weight:bold; font-size:10pt; background-color:#ffeeee;} </STYLE> </HEAD> <BODY> <SPAN id="bloque1"> Sobreflujo visible, sobreflujo visible, sobreflujo visible. Sobreflujo visible, sobreflujo visible, sobreflujo visible. Sobreflujo visible, sobreflujo visible, sobreflujo visible. </SPAN> <SPAN id="bloque2"> Sobreflujo oculto, sobreflujo oculto, sobreflujo oculto. sobreflujo oculto, sobreflujo oculto, sobreflujo oculto. sobreflujo oculto, sobreflujo oculto, sobreflujo oculto. </SPAN> <SPAN id="bloque3"> Sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto, sobreflujo controlado con auto. </SPAN> <SPAN id="bloque4"> Sobreflujo controlado usando "scroll". </SPAN> </BODY> </HTML> |
Las propiedades de este capítulo son la base de la implementación estándar del HTML dinámico, ya que todas son modificables a través de algún lenguaje de scripts como Javascript.
A pesar de que no tratamos el HTML dinámico en este curso las propiedades tratadas en este capítulo tienen mucha utilidad aun sin tomar en cuenta sus aspectos dinámicos.