Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 - Flexbox
1 - Flexbox
Introducción
Uno de los problemas más grandes de Css es la de colocar elementos en una página,
puede ser por inexperiencia del programador o porque Css se ha quedado un poco
obsoleto con respecto a propiedades para posicionar elementos en los diferentes
dispositivos móviles de diferentes resoluciones teléfonos, tablets.
Por otra parte debemos tener en cuenta las compatibilidades (los soportes) que
ofrecen los navegadores con respecto a esos atributos.
Uno de estos casos es de Flexbox, cuyo soporte se ha ido aumentado
Ejemplo de uso
2.1.- Creamos un elemento div, de clase contendor con tres elementos div con
clase item item-1, item item-2 e item item-3 (contenido de los ítems 1, 2 y 3
respectivamente)
<div class="contenedor">
<div class="item item-1">1 </div>
<div class="item item-2">2 </div>
<div class="item item-3">3 </div>
</div>
2.2.- En la hoja de estilos vamos a indicar color de fondo del div contenedor Gris.
.contenedor{
background:grey;
}
2.3.- A los item de la lista , color de letra blanco, tamaño 26px , alineación
centrada y alto interlineado de 50px, por último un margen de 10px. ancho y alto de
50px.
.item {
width:50px;
height:50px;
margin:10px;
color:White;
font-size:32px;
text-align:center;
line- height:50px;
}
2.4.- A cada item le vamos a dar un color, de más claro a más oscuro.
.item-1 {
background:navy;
}
.item-2 {
background:blue;
}
.item-3 {
background:SteelBlue;
}
.contenedor{
background:grey;
display:flex;
}
(muy similar pongo en .item diplay:inline-block;)
Con esto estamos diciendo que el contenedor es un elemento flex y que contiene
ítems, flexibles.
flex-direction:row;
flex-direction:column;
flex-direction:column-reverse;
2.5.6- Align-items:
Align-self:flex-start
Align-self:flex-end
2.6.2.- Order
.item-1 {
background:navy;
order:3;
}
2.7.-
.item-2 { MÁS PROPIEDADES DENTRO DE ELEMENTOS.
background:blue;
} Flex-basis
.item-3 {
Flex-grow
background:SteelBlue;
}
Flex-shrink
Muy bien explicado aquí
https://developer.mozilla.org/es/docs/Web/CSS/CSS_Flexible_Box_Layout/
Conceptos_Basicos_de_Flexbox#La_propiedad_flex-basis
Tenemos contenedor de 800, ocupados (80+3= 240), nos quedan 560 de espacio libre.
Y Si no cambiamos los valores iniciales entonces flexbox colocará ese espacio después
del último ítem.
2.7.1.- Flex-basis
El valor inicial de esta propiedad es auto .En el ejemplo de arriba, todos los ítems
tienen un ancho de 80 pixeles así que este es usado como flex-basis.
Si los ítems no tienen un tamaño entonces el tamaño de su contenido es usado como
flex-basis ( si quito de .elemento width: 80px, el resultado es que flex-basis, es el
tamaño del contenido, los ítems tienen el espacio necesario para desplegar su
contenido.)
Si por ejemplo ponemos un %, será del tamaño principal de un contenedor flexible padre
.elem1{
flex-basis:50%;
}
.elem2{
flex-basis:10%;
}
.elem3{
flex-basis:25%;
}
Flex-grow
.contenedor{
<div class="contenedor"> background: grey;
<div class="elemento elem1">1</div> height: 400px;
<div class="elemento elem2">2</div> width: 800px;
<div class="elemento elem3">3</div> display:flex;
</div> }
.elemento{
height: 50px;
width: 300px;
color:white;
font-size:30px;
}
.elem1{
background: coral;
}
.elem2{
background: green;
}
.elem3{
background: coral;
}
https://ed.team/blog/guia-definitva-de-flexbox-1-main-axis-y-cross-axis
https://www.yunbitsoftware.com/blog/2017/03/30/flexbox-css3-tutorial-
descripcion-ejemplos-html/