Flexbox
Agenda
- Estructura de una pagina
- Que es un layout
- los 4 tipos de layout antes de flexbox
-
block
-
inline
-
table
-
positioned
-
- display: el origen de toda discordia
- Problemas del box model
- ejemplo de menu con layout clasicos
- definicion de flexbox
- parent y children
- ejemplos
- react native
Estructura de una pagina
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<h1>Este es un h1</h1>
<h3>Este es un h3</h3>
<hr>
<ul>
<li>estos</li>
<li>son</li>
<li>los</li>
<li>items</li>
<li>de</li>
<li>una</li>
<li>lista</li>
</ul>
<hr>
<div>
<span>este espan esta dentro de un div</span>
<p>este p esta dentro de un div</p>
</div>
<hr>
</body>
</html>
Page layout is the part of graphic design that deals in the arrangement of visual elements on a page.
4 tipos de layout
-
block layout: Diseñado para organizar docuemntos. Y esa organizacion es en vertical. Por ejemplo: h1, h3, div, p.
-
inline layout: Diseñado para organizar texto horizontalemente. Van dentro de elementos de tipo block. Por ejemplo span, em
-
table layout: Diseñado para organizar y mostrar datos en 2 dimensiones;
-
positioned layout: Diseñado para posicionamiento explicito mas alla del resto de los elementos.
Display: el origen de toda la discordia
Entonces nos dimos cuenta de que cambiando la propiedad display, podiamos cambiar el comportamiento de los tipos de elemntos, y de esta forma, hacer de un block, un inline.
display: inline-block
Problemas del box model
Porcentaje
+
PADDING
+
BORDER
WTF?!?!?!
ejemplo de menu con layout clasicos
DEFinicion de flexbox
My goal in doing Flexbox and later Grid was to replace all the crazy float/table/inline-block/etc hacks that I’d had to master as a webdev.
All that crap was (a) stupid, (b) hard to remember, and (c) limited in a million annoying ways, so I wanted to make a few well-done layout modules that solved the same problems in simple, easy-to-use, and complete ways.
Tab Atkins Jr., author of the Flexbox and Grid specs
Flexbox, de CSS3 es un modo de diseño que permite colocar los elementos de una página para que se comporten de forma predecible cuando el diseño de la página debe acomodarse a diferentes tamaños de pantalla y diferentes dispositivos.
Muchos diseñadores verán que el modelo "caja flexible" es más sencillo de utilizar. Los elementos "hijos" de una "caja flexible" pueden colocarse en cualquier dirección y pueden tener dimensiones flexibles para adapterse al espacio visible.
...el orden de visualización de los elementos es independiente del orden que estos tengan en el código fuente.
parent y children
Propiedades
- tipo de display
- direccion
- wrapeo en una linea
- distribucion del contenido
- alineacion de los children
- alienacion del parent
- orden
- expansion
- contraccion
- alienacion propia de un children
Parent
Children
ejemplo
REAct native
gracias
Flexbox
By Pablo Hiyano
Flexbox
Plan B
- 450