8. CSS: display, position
La propiedad "display" de CSS
Algunos de los valores que puede tomar "display" son:- inline
- block
- inline-block
- none
"display: inline"
La propiedad "display: inline" transforma un elemento "de bloque" en un elemento "en linea".Por defecto un elemento "de bloque" ocupa el 100% del ancho del contenedor. Por ejemplo, la etiqueta <h1> es "de bloque":
<h1>Es es un encabezado</h1>
Si añadimos la propiedad "display: inline" al elemento <h1>, pasará a ser "en linea", o sea, ocupará sólo lo que ocupa su contenido.
<h1 style="display: inline">Es es un encabezado</h1>
Como consecuencia, el enlace que antes aparecía debajo, ahora aparece a su lado.
"display: block"
La propiedad "display: block" tranforma un elemento "en linea" en uno "de bloque".
Por defecto, el espacio que ocupa un elemento "en linea", es el que ocupa su contenido. Por ejemplo, la etiqueta <a> es "en linea":
<a href="...">esto es un enlace</a>
Si añadimos la propiedad "display: block" al elemento <a>, pasará a ser "de bloque", o sea, ocupará el 100% del contenedor.
<a style="display: block">esto es un enlace</a>
Debemos recordar, que cuando un elemento es "de bloque" las siguientes propiedades pueden modificarse.
- width
- height
- margin-top y margin-bottom
- padding-top y padding-bottom
"display: inline-block"
El valor "inline-block" se comporta como un elemento "en linea" y "de bloque" al mismo tiempo.
- Decimos que se comporta como un elemento "en linea" porque ocupa sólo lo que ocupa su contenido.
- Y decimos que se comporta como un elemento "de bloque" porque podremos modificar su width, height, margin-top, margin-bottom, padding-top y padding-bottom.
"display: none"
Si aplicamos "display: none" el elemento no se muestra.Suele usarse en conjunción con JavaScript para ocultar o mostra elementos cuando se produce un evento, por ejemplo al pulsar un botón.
Para volver a mostrar un elemento oculto, podemos volver a asignar el valor "block", "inline", "inline-block", etc.
Propiedad: position
La propiedad "position" cambia la posición de un elemento.Posibles valores:
- relative:
- absolute: el elemento se desplazara con respecto al elemento precedente más cercano que no tenga posición "static".
- fixed: el elemento se desplazará con respecto marco del area de visualización del navegador.
- static: valor por defecto. El elemento aparece en su posición por defecto.
- top: el elemento se desplaza hacia abajo.
- right: el elemento se desplaza hacia la izquierda.
- bottom: el elemento se desplaza hacia arriba.
- left: el elemento se desplaza hacia la derecha.
top: 5px;
bottom: -10%
left: -100mm
Veamos cada uno detalle
"position: relative"
El elemento se desplazará con respecto a su posición natural. En el siguiente ejemplo desplazamos un parrafo a su derecha."position: absolute"
El elemento se desplazará con respecto al elemento precedente más cercano que no tenga posición "static".Si no existe un elemento precendente que sea distinto de "static", el elemento se posiciona con respecto a la etiqueta <body>.
El elemento sale del flujo de elementos.
Se suele usar para posicionar elementos encima de otros.
En el siguiente ejemplo el elemento con posición no "static" es el div contenedor.
En el siguiente ejemplo no hay ningún elemento precedente con posición no static, así que el div azul se posiciona con respecto al "body".
"position: fixed"
El elemento se posiciona con respecto al marco del area de visualización del navegador. Si hacemos "scroll" veremos que el elemento ¡¡no se mueve nunca!!.Ejercicios
a) Ocultar un elemento que se encuentre dentro del elemento <main> haciendo uso de un valor negativo en "top", "right", "bottom" o "left".b) Hacer que un elemento aparezca siempre en la misma posición del area de visualización del navegador al hacer "scroll".
c) Poner una imagen encima de otra.
Comentarios
Publicar un comentario