10 Sencillos Pasos Para Aprender Posicionamiento CSS

10
10 sencillos pasos para aprender posicionamiento CSS CSS David | 14/09/2009 El posicionamiento CSS es la técnica utilizada para maquetar diseños usando únicamente XHTML y las propiedades CSS. Es el estándar hoy en día y todo sitio web bien maquetado debería usar esta técnica. Las ventajas son muchas, pero entre ellas destaca una mejor separación entre la apariencia y la estructura de la página, un código más semántico y entendible por buscadores, es decir, mejor para SEO, y un tamaño de página resultante inferior, por lo tanto mayor velocidad de carga de la página. El otro día, vía Twitter me os hablé de un pequeño tutorial donde se enseñaban las bases del posicionamiento CSS en 10 lecciones prácticas. El tutorial me pareció muy bueno y creo que es básico para cualquier persona que quiera aprender a maquetar sitios web con CSS. Los pasos son realmente sencillos de seguir.

description

es muy bueno

Transcript of 10 Sencillos Pasos Para Aprender Posicionamiento CSS

10 sencillos pasos para aprender posicionamiento CSS

10 sencillos pasos para aprender posicionamiento CSSCSSDavid | 14/09/2009

El otro da, va Twitter me os habl de un pequeo tutorial donde se enseaban las bases del posicionamiento CSS en 10 lecciones prcticas. El tutorial me pareci muy bueno y creo que es bsico para cualquier persona que quiera aprender a maquetar sitios web con CSS. Los pasos son realmente sencillos de seguir.

Para todo el tutorial se va a utilizar siempre la misma estructura XHTML, que se muestra a continuacin.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

id = div-before

id = div-1

id = div-1a

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer pretium dui sit amet felis. Integer sit amet diam. Phasellus ultrices viverra velit.

id = div-1b

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer pretium dui sit amet felis. Integer sit amet diam. Phasellus ultrices viverra velit. Nam mattis, arcu ut bibendum commodo, magna nisi tincidunt tortor, quis accumsan augue ipsum id lorem.

id = div-1c

id = div-after

POSITION STATIC

El posicionamiento normal de todos los elementos es static, que significa que cada elemento se posiciona donde le corresponde segn el flujo normal de la pgina. Si no se indica nada, este es el valor que toman todos los elementos.

1

2

3#div-1 { position:static;}

El resultado que se muestra es el mismo que si no se hubiese aplicado ninguna regla CSS.

POSITION RELATIVE

Si se especifica la posicin relativa para un elemento, puedes posicionar este elemento usando las propiedades top, bottom, left y right, y el elemento se posicionar a la distancia indicada respecto de donde debera estar segn el flujo normal de la pgina.

1

2

3

4

5#div-1 { position:relative; top:20px; left:-40px;}

POSITION ABSOLUTE

Si se especifica position absolute, el elemento se muestra exactamente donde se indica en las propiedades top, bottom, left o right.

1

2

3

4

5

6#div-1a { position:absolute; top:0; right:0; width:200px;}

POSITION RELATIVE + POSITION ABSOLUTE

Si especificas la posicin de div-1 de forma relativa, todos los elementos contenidos dentro de div-1 se posicionaran relativamente a div-1, por lo tanto si le establecemos la posicin absoluta a div-1a, este se posicionar en la esquina superior derecha del contendor div-1.

1

2

3

4

5

6

7

8

9#div-1 { position:relative;}#div-1a { position:absolute; top:0; right:0; width:200px;}

2 COLUMNAS POSICIONADAS DE FORMA ABSOLUTA

Utilizando posicionamiento relativo en el contenedor y absoluto para las columnas se pueden posicionar las columnas, una en cada lado.Una ventaja de usar este posicionamiento es que se puede colocar el HTML de las columnas en cualquier orden, ya que el posicionamiento se realiza de forma absoluta.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#div-1 { position:relative;}#div-1a { position:absolute; top:0; right:0; width:200px;}#div-1b { position:absolute; top:0; left:0; width:200px;}

Si te fijas, los dems elementos han sido tapados por las dos columnas que estn posicionadas de forma absoluta. Vamos a ver cmo solucionar esto.

COLUMNAS POSICIONADAS DE FORMA ABSOLUTA CON ALTO DEFINIDO

Para poder visualizar el contenido tapado por las dos columnas, habra que darle un alto definido al elemento contenedor, de esta forma ya se visualizaran.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16#div-1 { position:relative; height:250px;}#div-1a { position:absolute; top:0; right:0; width:200px;}#div-1b { position:absolute; top:0; left:0; width:200px;}

Pero esta no es una solucin vlida para la mayora de los diseos, porque lo normal es que no se sepa cual va a ser la longitud del texto introducido en las columnas. Cmo se puede solucionar esto? Sigue leyendo

POSICIONAMIENTO FLOTANTE

Para columnas de altura variable, el posicionamiento absoluto no sirve, en este caso hay que utilizar el posicionamiento flotante. Con la propiedad float se puede posicionar un elemento lo ms a la derecha posible o lo ms a la izquierda posible, dejando que el resto de elementos fluya alrededor suyo. El div div-1a est flotado a la izquierda, y el texto del resto de divs fluye alrededor el div-1a, pero el resto de divs (div-1b y div-1c) siguen ocupando la misma posicin que antes, es decir todo el contendor, porque son elementos de bloque. Esto significa que el texto no se solapar con div-1, pero si le asignas una imagen de fondo con CSS, esta imagen s que se solapar con div-1.

1

2

3

4#div-1a { float:left; width:200px;}

COLUMNAS FLOTANTES

Para que no se solapen unos elementos con otros hay que flotar todas las columnas. Para que se muestren una al lado de otra, entre todas las columnas han de sumar un ancho no superior al ancho del contenedor. Si te fijas, tanto div-after, como div-1 (que hace de contenedor) se solapan con las columnas creadas, vamos a ver como solucionar esto.

1

2

3

4

5

6

7

8#div-1a { float:left; width:150px;}#div-1b { float:left; width:150px;}

COLUMNAS FLOTANTES CON CLEAR

Luego, en el ltimo div (div-1c), en este caso el que hace de pie, se le puede aadir la propiedad clear, para que deje de tener efecto el flotado de las columnas de arriba y el resto del contenido se posicione debajo.

1

2

3

4

5

6

7

8

9

10

11#div-1a { float:left; width:190px;}#div-1b { float:left; width:190px;}#div-1c { clear:both;}

FIN

Con estos pasos se ha aprendido lo bsico del posicionamiento CSS. Se han dejado bastantes cosas por ver, como la compatibilidad entre navegadores, etc Pero creo que es una buena introduccin para aprender a colocar cada elemento de la pgina donde le corresponde sin usar tablas o tcnicas desaconsejadas.Este tutorial est basado en el tutorial de BarelyFitz Designs