Flexbox (CSS/Sass)
El core de ed-grid está construido con flexbox, cero floats, display:table, inline-blocks u otros hacks extraños. Sin embargo, ed-grid ofrece muchas utilidades extra para aprovechar el poder de flexbox.
Estas utilidades están dentro de los helpers de CSS ($cssHelpers : true) por lo que se recomienda activarlos aunque su flujo de trabajo sea con Sass.
- Flexbox alinea los elementos respecto a dos ejes: main (horizontal por defecto) y cross (vertical por defecto).
- En las siguientes instrucciones, la version css indicará la clase que debe añadirse al marcado html del contenedor
- En la versión Sass se indicará el mixin que debe incluirse al contenedor
- En la version CSS (cssCore), si desea indicar un breakpoint, inicie la clase con él, así
l-main-justifym-flex-reversexl-cross-center - Si no indica el breakpoint (cssHelpers), así
cross-end
Alineaciones en el eje principal
Alinear los elementos a la izquierda y derecha
Versión con css
<!-- version con css -->
<div class="main-justify">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass *******
.container { @include mainJustify }
Distribuir el espacio disponible alrededor de los elementos
Versión con css
<!-- version con css -->
<div class="main-distribute">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include mainDistribute }
Alinear los elementos al inicio del eje
Versión con css
<!-- version con css -->
<div class="main-start">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include mainStart }
Alinear los elementos al centro del eje
Versión con css
<!-- version con css -->
<div class="main-center">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
:markdown-it
// version con Sass
.container { @include mainCenter }
Alinea los elementos al final del eje
Versión con css
<!-- version con css -->
<div class="main-end">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include mainEnd }
Alineaciones en el eje secundario
Al inicio del eje secundario
Versión con css
<div class="cross-start">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include crossStart }
Al centro del eje secundario
Versión con css
<!-- version con css -->
<div class="cross-center">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include crossCenter }
Al final del eje secundario
Versión con css
<!-- version con css -->
<div class="cross-end">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include crossEnd }
Combinar alineaciones en ambos ejes
Puede combinar alineaciones para el eje principal y secundario
Versión con css
<!-- version con css -->
<div class="main-center cross-center">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container {
@include mainCenter;
@include crossCenter;
}
Orientación de los ejes
Reversa horizontal
Versión con css
<!-- version con css -->
<div class="flex-reverse">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include flexReverse }
En columna (de arriba hacia abajo)
Versión con css
<!-- version con css -->
<div class="flex-column">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
//version con Sass
.container { @include flexReverse }
Columna en reversa (de abajo hacia arriba)
Versión con css
<!-- version con css -->
<div class="flex-column-reverse">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include flexColumnReverse }
Centrado absoluto
El centrado absoluto se aplica a un container que tiene un solo hijo, el cual puede ser solo texto o un elemento html
Versión con css
<!-- version con css -->
<div class="flex-center">
<div>1</div>
</div>
Versión con Sass
// version con Sass
.container { @include flexCenter }
Orden de elementos (solo CSS)
A través de clases html con el formato bp-order-n siendo bp un breakpoint válido de ed-grid, y n un número entre 1 y 10 se puede controlar la aparicion de los elementos en el navegador. Recuerde que todos los elementos tienen por defecto el valor 0 para la propiedad order.
Ejemplo
<div class="container">
<div class="m-order-2">1</div>
<div class="m-order-1">2</div>
<div>3</div>
</div>
Esta característica no esta disponible para Sass porque en Sass basta escribir una linea de código en la media query requerida. Escribir los mixins consume más código que tan solo escribir manualmente el orden cuando sea necesario.