Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2 Propiedades de Flexbox
-
Página 5
5 Conclusiones finales
-
Página 25
Página 3
Guía de
Flexbox
2 Propiedades de Flexbox
Flexbox, como ya hemos visto en la parte introductoria Necesitamos maquetar una fila del blog de OpenWebinars,
está preparado para maquetar cualquier idea que para ello usaremos estas tres propiedades que hemos
tengas en mente, gracias a unas pocas propiedades mencionado que nos permitirán obtener una maquetación
conseguiremos crear una maqueta flexible ante lista para cualquier dispositivo.
cualquier resolución y dispositivo.
.contenedor {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
Página 5
Guía de
Flexbox
2 Propiedades de Flexbox
flex-direction
Esta propiedad nos ayuda a definir si el contenedor va a
desplegar a sus hijos como una columna o como una fila.
También contamos con otras dos opciones para mostrar
nuestra fila o columna de manera inversa a como está
establecida en el HTML.
.contenedor {
flex-direction: row | row-reverse | column | column-reverse;
}
1 3 1 2 3
2 2
row-reverse
3 1 3 2 1
Página 6
2 Propiedades de Flexbox
.contenedor {
flex-wrap: wrap; /* El contenedor puede caer si lo necesita */
flex-wrap: nowrap; /* El contenedor NO puede caer */
flex-wrap: wrap-reverse; /* El contenedor puede caer pero en el
orden contrario */
}
nowrap; 1 2 3 4 5 6 7 8
1 2 3 4 5
wrap;
6 7 8
6 7 8
wrap-reverse;
1 2 3 4 5
Página 7
Guía de
Flexbox
2 Propiedades de Flexbox
flex-direction
Esta propiedad mágica nos permite englobar en una sola las dos propiedades de Flexbox que hemos explicado
anteriormente. Para ello deberemos de escribir como valor los valores de ambas propiedades en el siguiente orden:
Siguiendo el ejemplo, para crear una fila que pueda llegar a convertirse en columna en dispositivos móviles usando la
propiedad flex-flow necesitaremos algo como lo siguiente:
1 2 3 4
1 2 3 4
Página 8
2 Propiedades de Flexbox
Propiedades para alinear los elementos Entre las propiedades más destacadas encontramos
space-around y space-between que calculará el espacio
justify-content disponible después de colocar a los hijos y lo repartirá
a los lados y entre ellos respectivamente (todo esto
Esta propiedad tan interesante nos ayudará a organizar automáticamente, por si lo dudabas).
como queremos que los hijos del contenedor se
organicen, proveyéndonos de esquemas para organizar También podemos usar los valores flex-start, flex-end y
a los hijos. center aunque son más convencionales.
.contenedor {
justify-content: flex-start | flex-end | center | space-between |
space-around | space-evenly;
}
1 2 3 4 5
1 2 3 4 5
center; 1 2 3 4 5
space-between; 1 2 3 4 5
space-around; 1 2 3 4 5
Página 9
Guía de
Flexbox
2 Propiedades de Flexbox
.contenedor {
align-items: stretch | flex-start | flex-end | center | baseline;
}
center;
1 3 4 6 1 4 1 4
3 6
2 5 2 3 5 6 2 5
baseline; stretch;
1 3 4 6 1 3 4 6
2 5 2 5
Página 10
2 Propiedades de Flexbox
flex-grow y flex-shrink
Estas dos propiedades están especializadas en el ancho de los hijos y son bastante especiales. En el caso de flex-grow
tenemos la opción de su comportamiento por defecto (0) o podemos definir un número (el que queramos) para el ancho
del hijo.
Los que tengan este mismo número se comportarán de la misma manera, pero por el contrario, si otro tiene un grow
mayor, su ancho lo será también. Es importante recalcar que el valor no es para definir si no para diferenciar.
.elemento {
flex-grow: <numero>; /* por defecto 0 */
}
Al contrario ocurrirá en flex-shrink con el que con el mismo funcionamiento, en vez de definir qué tanto se va a ensanchar
el hijo conseguiremos definir que tanto se va a estrechar este. Algo bastante importante para Responsive Design.
.item {
flex-shrink: <number>; /* default 1 */
}
Página 11
Guía de
Flexbox
3 Propiedades para ordenar los
elementos del Contenedor
order
3 5 1 2 4
order: 1; order: 2; order: 3; order: 4; order: 5;
Página 13
Guía de
Flexbox
4 Ejercicio práctico: Maquetando
una web con Flexbox
Para finalizar con esta guía que nos ha llevado a aprender En esta ocasión, vamos a replicar un blog ficticio,
los fundamentos de Flexbox, vamos a materializar todos OpenWebinars Business, un espacio en la plataforma
los conocimientos adquiridos en un ejercicio práctico. dedicado a artículos sobre empleo y negocios en nuestro
sector.
Si alguna vez has visto la arquitectura por componentes esto te será muy fácil ya que prácticamente vamos a dividir la
página en secciones susceptibles de necesitar Flebox.
Página 15
Guía de
Flexbox
Efectivamente el header es un contenedor y en este Aquí puedes ver una visión del blog de OpenWebinars
tenemos tanto el logo como los enlaces. Podríamos Business y la organización teniendo en cuenta que
dejarlo tal cual, sin ningún contenedor más. vamos a usar sólo propiedades de Flexbox.
En nuestro caso vamos a añadir dentro del header dos Con respecto al HTML hemos preparado algo sencillo,
<div>. El sentido de esta división es que podamos decirle hay más formas de hacerlo, si se te ocurre como crearlo
a Flexbox que alinee los hijos del header a los extremos, por ti mismo, adelante.
pero dentro de cada hijo,que serían estos <div> para
poder añadir otra organización.
Página 16
4 Ejercicio práctico: Maquetando
una web con Flexbox
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8”>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0”>
<meta http-equiv=”X-UA-Compatible” content=”ie=edge”>
<link rel=”stylesheet” href=”./business.css”>
<title>Blog de recursos para CTOs y Recursos Humanos IT</title>
</head>
<body>
<header>
<div class=”logo-space”>
<img src=”https://business.openwebinars.net/blog/wp-content/uploads/2018/01/logo-openwe-
binars-horizontal-blanco-optimizado.svg” alt=””>
</div>
<div class=”menu-space”>
<a href=”#”>Blog</a>
<a href=”#”>Cursos</a>
<a href=”#”>Pymes</a>
<a href=”#”>Corporaciones</a>
<div class=”menu-btn”>Solicitar Demo</div>
</div>
</header>
<section>
<article>
<div class=”big-image”><img src=”https://business.openwebinars.net/blog/wp-content/
uploads/2018/09/profesionales-it-mas-demandados-destacada-768x512.jpg” alt=””></div>
<div class=”article-info”>
<h2 class=”article-info-title”>Cúales son los profesionales IT más demandados en
2018</h2>
<div class=”article-info-extra”>
<div class=”article-info-author”>Diego Losada</div>
<div class=”article-info-date”>10 septiembre, 2018</div>
</div>
</div>
</article>
<article>
<div class=”big-image”><img src=”https://business.openwebinars.net/blog/wp-content/
uploads/2018/08/3casos-exito-eb-destacada-768x512.jpg” alt=””></div>
<div class=”article-info”>
<h2 class=”article-info-title”>3 casos de éxitos de Employer Branding en Empresas
IT</h2>
<div class=”article-info-extra”>
<div class=”article-info-author”>Marina Jiménez</div>
<div class=”article-info-date”>7 septiembre, 2018</div>
</div>
</div>
</article>
</section>
</body>
</html>
Página 17
Guía de
Flexbox
Construyendo el header
Estructura: Para proseguir con el header veremos que Alineado: Como te hemos visto antes, los hijos estarán
tiene una estructura muy sencilla. No es más que una fila alineados a los extremos y en el caso del móvil al centro.
en dispositivos con pantallas grandes y una columna en
móviles.
header {
background-color: #0f0d54;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
padding: 2rem;
}
header .logo-space {
margin-left: 2rem;
}
header .menu-space {
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin-right: 2rem;
}
header .menu-space a {
color: #fff;
font-size: 1rem;
font-weight: bold;
margin: .5rem 1rem 0 0;
text-decoration: none;
}
Página 18
4 Ejercicio práctico: Maquetando
una web con Flexbox
header .menu-space a {
margin: .5rem 0 0 0;
}
header .logo-space {
margin-left: 0;
}
}
Página 19
Guía de
Flexbox
Estructura: Para proseguir con el header veremos que Alineación: A nivel de Flexbox no hay mucho que
tiene una estructura muy sencilla. No es más que una fila alinear, puesto que no hay mucho espacio aunque sí que
en dispositivos con pantallas grandes y una columna en añadiremos padding para dejar un espacio, tal y como
móviles. aparece en el diseño en el que nos estamos basando.
section {
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding: 4rem;
}
Página 20
4 Ejercicio práctico: Maquetando
una web con Flexbox
En dispositivos móviles hemos reducido este padding para dejar más espacio al contenedor del artículo:
section {
padding: 4rem 1rem;
}
Estructura: Como puedes apreciar es una columna, y a Alineación: En el segundo hijo hemos aplicado un jusitfy-
su vez su segundo hijo también lo es (el apartado con content:center;.
la información del artículo). También es importante ese
apartado con autor y fecha que es una fila.
Página 21
Guía de
Flexbox
article {
border: 1px solid #dbdbdb;
box-shadow: 3px 0px 51px -5px rgba(0,0,0,0.36);
margin: 1rem;
max-width: 100%;
text-align: center;
width: 540px;
}
.article-info {
padding: 1rem;
}
.article-info .article-info-title {
font-weight: 400;
padding: 0 1rem;
}
.article-info .article-info-extra {
color: #556677;
font-size: 0.75rem;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
width: 100%;
}
.article-info .article-info-author {
margin-right: 1rem;
}
Página 22
4 Ejercicio práctico: Maquetando
una web con Flexbox
Y en este caso no tenemos ninguna adaptación para dispositivos móviles. Como te comenté y si te fijas solo hemos
realizado cambios mínimos, la mayoría de factores ajenos a Flexbox o para cambiar su estructura (fila o columna y
viceversa).
Página 23
Guía de
Flexbox
4 Conclusiones finales
Tienes accesible el código usado Flexbox nos permite diseñar de una manera modular y
flexible cualquier proyecto que tengamos en mente. Nos
durante el ejercicio de maquetación reduce la cantidad de adaptaciones para dispositivos
a través de este enlace. móviles, pues, su diseño flexible ayuda mucho en esta
tarea.
Página 25
¿Quieres convertirte en
Frontend Developer Profesional?
Aprende ahora con los mejores expertos
CARRERA
FRONTEND DEVELOPER WEB
Más en openwebinars.net