👇 Expande este comentario para que veas cómo darle su estambre a un michi usando position
7u7
.
El tema de position
es muy interesante porque es prácticamente otra forma que tenemos de posicionar con CSS 👀.
.
Usualmente es preferible trabajar con nuestras técnicas de alineamiento comunes como CSS Grid o Flexbox, pero suele haber casos donde sí o sí necesitamos usar position
.
.
El ejemplo más común es con el menú de navegación, que casi siempre solemos verlo en todas las páginas. Aunque también podríamos usarlos si queremos posicionar un elemento con base en otro (aquí es donde intervienen el relative
con el absolute
), y de hecho esta también es una técnica muy usada cuando se dibuja con CSS 7u7.
.
¡Hagamos algo! Imaginemos que queremos darle su bola de estambre a este michi 😼:
.
Bola de estambre
.
.
Michi
.
.
Lo primero que haría es crear un contenedor y dentro meter al michi y a la bola de estambre (las imágenes las toma desde internet):
.
<div class="container">
<img id="estambre" src="https://pixabay.com/get/gcace262ba99b669194b5054d0a18589d64d2858de5ccde802a2bd69112122969cc55406c4d138c9738ad55e21d831bab_640.png" alt="Estambre">
<img id="michi" src="https://static.platzi.com/media/user_upload/michi-0cd46b59-feda-4746-81a0-cc48179411ae.jpg" alt="Michi">
</div>
.
Nota que a cada uno le puse un id. También me interesa que mi bola de estambre esté chiquita para que el michi la pueda agarrar, así que desde CSS le puedo cambiar el tamaño:
.
.container,
#michi {
width: 800px;
}
#estambre {
width: 100px;
}
.
Con esto hago que mi contenedor y el michi midan 800px y que la bolita de estambre mida 100px, así que me queda así:
.
.
Ahora solo nos queda dársela, para eso podemos usar position
. Simplemente a mi container le pongo un position: relative;
y al estambre le pongo un position: absolute;
. Recuerda que cuando usamos un absolute
, este elemento se va a mover con respecto al elemento relative
más cercano, así que en este caso moveremos el estambre con respecto a nuestro contenedor 😄.
.
Sabiendo que podemos mover el estambre dentro de nuestro container, nos tocará adivinar cuántos pixeles hacia abajo y cuántos pixeles hacia la izquierda deberemos moverlo para dárselo al michi 👀. En este caso, yo sé que debo moverlo 190 pixeles hacia abajo y 245 pixeles hacia la izquierda, por lo que el resto de mi código CSS quedaría así:
.
.container {
position: relative;
}
#estambre {
position: absolute;
top: 190px;
right: 245px;
}
.
¡Y con esto el michi ya tendría su estambre!
.
.
Este es un ejemplo de cómo podemos usar position
para posicionar un elemento con respecto a otro, pero realmente hay varios usos que podemos darle, así que te toca practicar 😼.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?