{"id":15555,"date":"2024-05-09T01:06:55","date_gmt":"2024-05-08T21:36:55","guid":{"rendered":"https:\/\/www.itpiran.net\/blog\/?p=15555"},"modified":"2024-05-09T01:06:55","modified_gmt":"2024-05-08T21:36:55","slug":"a-guide-to-flexbox","status":"publish","type":"post","link":"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/a-guide-to-flexbox\/","title":{"rendered":"La gu\u00eda completa de Flexbox"},"content":{"rendered":"<h2 id=\"%d9%85%d9%82%d8%af%d9%85%d9%87\">Introducci\u00f3n<\/h2>\n<p>Nuestra gu\u00eda completa sobre dise\u00f1os de flexbox con CSS. Esta gu\u00eda completa explica todo sobre flexbox, centr\u00e1ndose en los diferentes atributos posibles para el elemento principal (contenedor flexible) y los elementos secundarios (elementos flexibles). Tambi\u00e9n incluye historial, demostraciones, plantillas y una tabla de compatibilidad de navegadores.<\/p>\n<h2 id=\"%d8%b2%d9%85%db%8c%d9%86%d9%87\">Contexto<\/h2>\n<p>El m\u00f3dulo de dise\u00f1o Flexbox (una recomendaci\u00f3n candidata del W3C de octubre de 2017) tiene como objetivo proporcionar una forma m\u00e1s eficiente de organizar, alinear y distribuir el espacio entre los elementos dentro de un contenedor, incluso cuando su tama\u00f1o es desconocido y\/o din\u00e1mico (de ah\u00ed la palabra &quot;flex&quot;).<\/p>\n<p>La idea principal de un dise\u00f1o flexible es permitir que el contenedor modifique el ancho y la altura (y el orden) de sus elementos para optimizar el espacio disponible (principalmente para adaptarse a diversos dispositivos y tama\u00f1os de pantalla). Un contenedor flexible expande los elementos para ocupar el espacio libre disponible o los contrae para evitar el desbordamiento.<\/p>\n<p>Lo m\u00e1s importante es que el dise\u00f1o de Flexbox es direccional, a diferencia de los dise\u00f1os regulares (un bloque alineado verticalmente y en l\u00ednea con base en un dise\u00f1o horizontal). Si bien funcionan bien para p\u00e1ginas, carecen de la flexibilidad (sin \u00e1nimo de ofender) necesaria para aplicaciones grandes o complejas (especialmente al cambiar la orientaci\u00f3n, redimensionar, estirar, contraer, etc.).<\/p>\n<p>Nota: el dise\u00f1o Flexbox es m\u00e1s adecuado para componentes de aplicaci\u00f3n y dise\u00f1os de peque\u00f1a escala, mientras que el dise\u00f1o de cuadr\u00edcula est\u00e1 pensado para dise\u00f1os de mayor escala.<\/p>\n<h2 id=\"%d9%85%d8%a8%d8%a7%d9%86%db%8c-%d9%88-%d8%a7%d8%b5%d8%b7%d9%84%d8%a7%d8%ad%d8%a7%d8%aa\">Conceptos b\u00e1sicos y terminolog\u00eda<\/h2>\n<p>Dado que flexbox es un m\u00f3dulo completo y no una sola funci\u00f3n, incluye muchas cosas, incluyendo su conjunto completo de propiedades. Algunas se configuran en el contenedor (el elemento padre, conocido como &quot;contenedor flexible&quot;), mientras que otras se configuran en los elementos secundarios (conocidos como &quot;elementos flexibles&quot;).<\/p>\n<p>Si el dise\u00f1o &quot;regular&quot; se basa en direcciones de flujo tanto en bloque como en l\u00ednea, el dise\u00f1o flexible se basa en &quot;direcciones de flujo flexibles&quot;. Consulte este formulario de especificaci\u00f3n, donde se explica la idea principal del dise\u00f1o flexible.<a href=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/11\/00-basic-terminology.svg\"><\/a><\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/11\/00-basic-terminology.svg\"  class=\"aligncenter pk-lazyload\"  width=\"680\"  height=\"319\"  data-pk-sizes=\"auto\"  data-pk-src=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/11\/00-basic-terminology.svg\" ><br \/>\nLos elementos se colocan a lo largo del eje principal (desde el inicio principal hasta el final principal) o del eje transversal (desde el inicio transversal hasta el final transversal).<\/p>\n<ul>\n<li>Eje principal: El eje principal del contenedor flexible es el eje principal a lo largo del cual se colocan los elementos flexibles. Tenga en cuenta que no es necesariamente horizontal. Depende de la propiedad flex-direction (ver m\u00e1s abajo).<\/li>\n<li>Inicio principal | Extremo principal: los elementos flexibles se colocan dentro del contenedor comenzando desde el inicio principal y llegando hasta el extremo principal.<\/li>\n<li>Tama\u00f1o original: el ancho o la altura de un elemento flexible, cualquiera que sea su dimensi\u00f3n original, corresponde al tama\u00f1o original del elemento. La propiedad de tama\u00f1o original del elemento flexible es &quot;ancho&quot; o &quot;alto&quot;, la que sea su dimensi\u00f3n original.<\/li>\n<li>Eje transversal: El eje perpendicular al eje principal se denomina eje transversal. Su direcci\u00f3n depende de la direcci\u00f3n del eje principal.<\/li>\n<li>Inicio cruzado | final cruzado: las l\u00edneas flexibles se llenan con art\u00edculos y se colocan en el contenedor comenzando desde el lado de inicio cruzado del contenedor flexible y avanzando hacia el final cruzado.<\/li>\n<li>Tama\u00f1o transversal: El ancho o la altura de un elemento flexible, cualquiera que sea su valor en la dimensi\u00f3n transversal, corresponde al tama\u00f1o transversal del elemento. La propiedad de tama\u00f1o transversal corresponde a la que se encuentre en la dimensi\u00f3n transversal, ya sea &quot;ancho&quot; o &quot;alto&quot;.<\/li>\n<\/ul>\n<h2 id=\"%d9%88%db%8c%da%98%da%af%db%8c-%d9%87%d8%a7%db%8c-%d9%81%d9%84%da%a9%d8%b3-%d8%a8%d8%a7%da%a9%d8%b3\">Caracter\u00edsticas de Flexbox<\/h2>\n<h5 id=\"%d8%ae%d9%88%d8%a7%d8%b5-%d8%a8%d8%b1%d8%a7%db%8c-%d9%be%d8%af%d8%b1-%d9%88-%d9%85%d8%a7%d8%af%d8%b1container\"><img  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/01-container.svg\"  class=\"pk-lazyload\"  data-pk-sizes=\"auto\"  data-pk-src=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/01-container.svg\" >Propiedades para padres<br \/>\n(recipiente)<\/h5>\n<p>Mostrar<\/p>\n<p>Esto define un contenedor flexible. Seg\u00fan el valor dado, puede ser en l\u00ednea o en bloque. Proporciona un contexto flexible para todos sus elementos secundarios directos.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.container {\r\ndisplay: flex; \/* or inline-flex *\/\r\n}<\/code><\/pre>\n<\/div>\n<h5 id=\"flex-direction\">direcci\u00f3n flexible<\/h5>\n<p><img  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/flex-direction.svg\"  class=\"pk-lazyload\"  data-pk-sizes=\"auto\"  data-pk-src=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/flex-direction.svg\" ><br \/>\nEsto crea el eje principal, determinando as\u00ed la direcci\u00f3n en la que se colocan los elementos flexibles dentro del contenedor flexible. Flexbox (salvo el ajuste opcional) es un concepto de dise\u00f1o unidireccional. Piense en los elementos flexibles como si estuvieran mayormente en filas horizontales o columnas verticales.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.container {\r\nflex-direction: row | row-reverse | column | column-reverse;\r\n}<\/code><\/pre>\n<\/div>\n<ul>\n<li>ROW (predeterminado): De izquierda a derecha en izq. y de derecha a izquierda en dcha.<\/li>\n<li>inversi\u00f3n de fila: de derecha a izquierda en ltr. de izquierda a derecha en rtl.<\/li>\n<li>COLUMNA: Como la fila pero de arriba a abajo<\/li>\n<li>Columna invertida: como la fila inversa pero de abajo a arriba<\/li>\n<\/ul>\n<h5 id=\"flex-wrap\">Envoltura flexible<\/h5>\n<p><img  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/flex-wrap.svg\"  class=\"pk-lazyload\"  data-pk-sizes=\"auto\"  data-pk-src=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/flex-wrap.svg\" ><br \/>\nDe forma predeterminada, todos los elementos flexibles intentan caber en una sola l\u00ednea. Puede cambiar esto y permitir que los elementos se cierren con esta propiedad si es necesario.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.container {\r\nflex-wrap: nowrap | wrap | wrap-reverse;\r\n}<\/code><\/pre>\n<\/div>\n<ul>\n<li>nowrap (predeterminado): todos los elementos flexibles se ajustar\u00e1n en una l\u00ednea<\/li>\n<li>Envolver: los elementos flexibles se envuelven en varias l\u00edneas, de arriba a abajo.<\/li>\n<li>wrap-reverse: los elementos flexibles se envuelven en varias l\u00edneas de abajo a arriba.<\/li>\n<\/ul>\n<h5 id=\"flex-flow\">FLEX-Flow<\/h5>\n<p>Esta es una abreviatura de las propiedades flex-direction y flex-width, que juntas especifican los ejes principal y transversal del contenedor flexible. El valor predeterminado es row nowrap.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.container {\r\nflex-flow: column wrap;\r\n}<\/code><\/pre>\n<\/div>\n<h5 id=\"justify-content\">Justificar contenido<\/h5>\n<p><img  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/justify-content.svg\"  class=\"pk-lazyload\"  data-pk-sizes=\"auto\"  data-pk-src=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/justify-content.svg\" ><br \/>\nEsto especifica la alineaci\u00f3n a lo largo del eje principal. Ayuda a distribuir el exceso de espacio en blanco cuando todos los elementos flexibles de una l\u00ednea son inflexibles o flexibles, pero han alcanzado su tama\u00f1o m\u00e1ximo. Tambi\u00e9n proporciona cierto control sobre la alineaci\u00f3n de los elementos cuando estos desbordan la l\u00ednea.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.container {\r\njustify-content: flex-start | flex-end | center | space-between | space-around | space-evenly | start | end | left | right ... + safe | unsafe;\r\n}<\/code><\/pre>\n<\/div>\n<ul>\n<li>flex-start (predeterminado): los art\u00edculos se empaquetan hacia el inicio de la direcci\u00f3n flexible.<\/li>\n<li>extremo flexible: los art\u00edculos se empaquetan hacia el final de la direcci\u00f3n flexible.<\/li>\n<li>INICIO: Los elementos se empaquetan hacia el inicio de la direcci\u00f3n del modo de escritura.<\/li>\n<li>FIN: Los elementos se empaquetan hacia el final de la direcci\u00f3n del modo de escritura.<\/li>\n<li>IZQUIERDA: Los art\u00edculos se empaquetan hacia el borde izquierdo del contenedor, a menos que no tenga sentido con la direcci\u00f3n de flexi\u00f3n, en cuyo caso act\u00faa como inicio.<\/li>\n<li>DERECHA: Los art\u00edculos se empaquetan hacia el borde derecho del contenedor, a menos que tenga sentido ser flexible en esa direcci\u00f3n, entonces act\u00faa como el final.<\/li>\n<li>CENTRO: Los elementos se centran a lo largo de la l\u00ednea.<\/li>\n<li>Espacio entre: Los elementos se distribuyen uniformemente en la fila. El primer elemento est\u00e1 en la l\u00ednea de salida y el \u00faltimo en la l\u00ednea de meta.<\/li>\n<li>Espacio alrededor: Los elementos se distribuyen uniformemente en una l\u00ednea con el mismo espacio a su alrededor. Tenga en cuenta que visualmente los espacios no son iguales, ya que todos los elementos tienen el mismo espacio a ambos lados. El primer elemento tendr\u00e1 una unidad de espacio en el borde del contenedor, pero tendr\u00e1 dos unidades de espacio entre el siguiente elemento, ya que este tiene su propio espaciado.<\/li>\n<li>Espacio uniforme: los elementos se distribuyen de tal manera que la distancia entre dos elementos (y la distancia a los bordes) es igual.<\/li>\n<\/ul>\n<p>Tambi\u00e9n hay dos palabras clave adicionales que puedes combinar con estos valores: seguro e inseguro. Usar seguro garantiza que, independientemente de c\u00f3mo realices este tipo de posicionamiento, no puedas desplazar un elemento tan lejos de la p\u00e1gina (por ejemplo, fuera de la parte superior) que impida navegar por el contenido (lo que se conoce como &quot;p\u00e9rdida de datos&quot;).<\/p>\n<h5 id=\"align-items\">Alinear elementos<\/h5>\n<p><img  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/align-items.svg\"  class=\"pk-lazyload\"  data-pk-sizes=\"auto\"  data-pk-src=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/align-items.svg\" ><br \/>\nEsto define el comportamiento predeterminado de la disposici\u00f3n de los elementos flexibles a lo largo del eje transversal en la l\u00ednea actual. Consid\u00e9relo como la versi\u00f3n de justificaci\u00f3n del contenido para el eje transversal (perpendicular al eje principal).<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.container {\r\nalign-items: stretch | flex-start | flex-end | center | baseline | first baseline | last baseline | start | end | self-start | self-end + ... safe | unsafe;\r\n}<\/code><\/pre>\n<\/div>\n<ul>\n<li>STREtch (predeterminado): estirar para llenar el contenedor (a\u00fan respeta el ancho m\u00ednimo\/m\u00e1ximo)<\/li>\n<li>Inicio flexible \/ Inicio \/ Inicio autom\u00e1tico: Los elementos se colocan al principio del eje transversal. La diferencia entre estos es sutil y se debe a que se respetan las reglas de direcci\u00f3n flexible o las reglas del modo de escritura.<\/li>\n<li>flex-end \/ end \/ self-end: Los elementos se colocan al final del eje transversal. La diferencia es sutil y se basa en respetar las reglas de direcci\u00f3n flexible frente a las reglas del modo de escritura.<\/li>\n<li>CENTRO: Los elementos se ubican en el eje transversal.<\/li>\n<li>L\u00ednea base: los elementos se alinean como sus l\u00edneas base<\/li>\n<\/ul>\n<h5 id=\"align-content\">Alinear contenido<\/h5>\n<p><img  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/align-content.svg\"  class=\"pk-lazyload\"  data-pk-sizes=\"auto\"  data-pk-src=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2018\/10\/align-content.svg\" ><br \/>\nCuando hay espacio adicional en el eje transversal, se alinean las l\u00edneas del contenedor flexible en el interior, de manera similar a c\u00f3mo justify-content alinea elementos individuales en el eje principal.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.container {\r\nalign-content: flex-start | flex-end | center | space-between | space-around | space-evenly | stretch | start | end | baseline | first baseline | last baseline + ... safe | unsafe;\r\n}<\/code><\/pre>\n<\/div>\n<ul>\n<li>Normal (predeterminado): los elementos se empaquetan en su posici\u00f3n predeterminada como si no se hubiera establecido ning\u00fan valor.<\/li>\n<li>flex-start \/ start: elementos envueltos al comienzo del contenedor. flex-start (con m\u00e1s soporte) indica la direcci\u00f3n flexible mientras que start respeta la direcci\u00f3n del modo de escritura.<\/li>\n<li>flex-end \/ end: Elementos que se envuelven hasta el final del contenedor. (M\u00e1s soporte) flex-end indica la direcci\u00f3n de flexi\u00f3n, mientras que end respeta la direcci\u00f3n del modo de escritura.<\/li>\n<li>CENTRO: Elementos que est\u00e1n en el centro del contenedor<\/li>\n<li>Espacio entre elementos: Los elementos est\u00e1n espaciados uniformemente. La primera l\u00ednea est\u00e1 al principio del contenedor y la \u00faltima al final.<\/li>\n<li>Espacio alrededor: los elementos se distribuyen uniformemente con el mismo espacio alrededor de cada l\u00ednea.<\/li>\n<li>Espacio uniforme: los elementos se distribuyen uniformemente con el mismo espacio a su alrededor.<\/li>\n<li>estirar: Las l\u00edneas se estiran para ocupar el espacio restante.<\/li>\n<\/ul>\n<h5 id=\"gap-row-gap-column-gap\">Espacio, espacio entre filas, espacio entre columnas<\/h5>\n<p><img  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2021\/09\/gap-1.svg\"  class=\"pk-lazyload\"  data-pk-sizes=\"auto\"  data-pk-src=\"https:\/\/css-tricks.com\/wp-content\/uploads\/2021\/09\/gap-1.svg\" ><br \/>\nLa propiedad gap controla expl\u00edcitamente el espacio entre elementos flexibles. Este espaciado solo se aplica entre elementos, no en los bordes exteriores.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.container {\r\ndisplay: flex;\r\n...\r\ngap: 10px;\r\ngap: 10px 20px; \/* row-gap column gap *\/\r\nrow-gap: 10px;\r\ncolumn-gap: 20px;\r\n}<\/code><\/pre>\n<\/div>\n<p>Este comportamiento puede considerarse como un canal m\u00ednimo, de modo que si el canal es de alguna manera m\u00e1s grande (debido a algo como justify-content: spacing-between; ), entonces este espacio solo tendr\u00e1 un efecto cuando ese espacio se vuelva m\u00e1s peque\u00f1o.<\/p>\n<p>Esto no es exclusivo de Flexbox, los espacios tambi\u00e9n funcionan en dise\u00f1os de cuadr\u00edcula y de varias columnas.<\/p>\n<h2 id=\"%d9%be%db%8c%d8%b4%d9%88%d9%86%d8%af-flexbox\">Prefijo Flexbox<\/h2>\n<p>Flexbox requiere algunos prefijos de proveedor para ser compatible con la mayor\u00eda de los navegadores. Esto no solo implica anteponer el prefijo de proveedor a los atributos, sino tener nombres y valores de propiedad completamente diferentes. Esto se debe a que la especificaci\u00f3n de Flexbox ha cambiado con el tiempo, creando versiones &quot;antiguas&quot;, &quot;intermedias&quot; y &quot;nuevas&quot;.<\/p>\n<p>Quiz\u00e1s la mejor forma de manejar esto es escribir con la sintaxis nueva (y final) y ejecutar su CSS a trav\u00e9s de Autoprefixer, que hace un buen uso de los retrocesos.<\/p>\n<p>Alternativamente, aqu\u00ed hay un Sass @mixin para ayudar con algunos prefijos, que tambi\u00e9n te dar\u00e1n una idea de qu\u00e9 tipo de cosas hacer:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>@mixin flexbox() {\r\ndisplay: -webkit-box;\r\ndisplay: -moz-box;\r\ndisplay: -ms-flexbox;\r\ndisplay: -webkit-flex;\r\ndisplay: flex;\r\n}\r\n@mixin flex($values) {\r\n-webkit-box-flex: $values;\r\n-moz-box-flex: $values;\r\n-webkit-flex: $values;\r\n-ms-flex: $values;\r\nflex: $values;\r\n}\r\n@mixin order($val) {\r\n-webkit-box-ordinal-group: $val; \r\n-moz-box-ordinal-group: $val; \r\n-ms-flex-order: $val; \r\n-webkit-order: $val; \r\norder: $val;\r\n}\r\n.wrapper {\r\n@include flexbox();\r\n}\r\n.item {\r\n@include flex(1 200px);\r\n@include order(2);\r\n}<\/code><\/pre>\n<\/div>\n<h2 id=\"%d9%85%d8%ab%d8%a7%d9%84-%d9%87%d8%a7\">Ejemplos<\/h2>\n<p>Empecemos con un ejemplo muy sencillo que soluciona un problema casi cotidiano: el enfoque perfecto. Es facil\u00edsimo con Flexbox.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-html\" data-lang=\"HTML\"><code>&lt;ul class=\"navigation\"&gt;\r\n&lt;li&gt;&lt;a href=\"#\"&gt;Home&lt;\/a&gt;&lt;\/li&gt;\r\n&lt;li&gt;&lt;a href=\"#\"&gt;About&lt;\/a&gt;&lt;\/li&gt;\r\n&lt;li&gt;&lt;a href=\"#\"&gt;Products&lt;\/a&gt;&lt;\/li&gt;\r\n&lt;li&gt;&lt;a href=\"#\"&gt;Contact&lt;\/a&gt;&lt;\/li&gt;\r\n&lt;\/ul&gt;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.parent {\r\ndisplay: flex;\r\nheight: 300px; \/* Or whatever *\/\r\n}\r\n.child {\r\nwidth: 100px; \/* Or whatever *\/\r\nheight: 100px; \/* Or whatever *\/\r\nmargin: auto; \/* Magic! *\/\r\n}<\/code><\/pre>\n<\/div>\n<p>Esto se debe a que un margen autoajustado en un contenedor flexible ocupar\u00e1 espacio adicional. Por lo tanto, al configurarlo, el elemento quedar\u00e1 perfectamente centrado en ambos ejes.<\/p>\n<p>Ahora usemos algunas propiedades m\u00e1s. Consideremos una lista de 6 elementos, todos con dimensiones fijas, pero con tama\u00f1o autom\u00e1tico. Queremos que se distribuyan uniformemente en el eje horizontal para que, al redimensionar el navegador, todo se ajuste correctamente sin necesidad de solicitar contenido multimedia.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.flex-container {\r\n\/* We first create a flex layout context *\/\r\ndisplay: flex;\r\n\/* Then we define the flow direction \r\nand if we allow the items to wrap \r\n* Remember this is the same as:\r\n* flex-direction: row;\r\n* flex-wrap: wrap;\r\n*\/\r\nflex-flow: row wrap;\r\n\/* Then we define how is distributed the remaining space *\/\r\njustify-content: space-around;\r\n}<\/code><\/pre>\n<\/div>\n<p>Listo. Todo lo dem\u00e1s es solo cuesti\u00f3n de estilo. A continuaci\u00f3n se muestra un l\u00e1piz. Aseg\u00farate de ir a CodePen y ajustar el tama\u00f1o de las ventanas para ver qu\u00e9 sucede.<\/p>\n<p>Probemos algo diferente. Imaginemos que tenemos un elemento de navegaci\u00f3n alineado a la derecha en la parte superior de nuestro sitio web, pero queremos centrarlo en pantallas medianas y tener una sola columna en dispositivos peque\u00f1os. Es bastante sencillo.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>\/* Large *\/\r\n.navigation {\r\ndisplay: flex;\r\nflex-flow: row wrap;\r\n\/* This aligns items to the end line on main-axis *\/\r\njustify-content: flex-end;\r\n}\r\n\/* Medium screens *\/\r\n@media all and (max-width: 800px) {\r\n.navigation {\r\n\/* When on medium sized screens, we center it by evenly distributing empty space around items *\/\r\njustify-content: space-around;\r\n}\r\n}\r\n\/* Small screens *\/\r\n@media all and (max-width: 500px) {\r\n.navigation {\r\n\/* On small screens, we are no longer using row direction but column *\/\r\nflex-direction: column;\r\n}\r\n}<\/code><\/pre>\n<\/div>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1081\"  height=\"249\"  class=\"aligncenter wp-image-15556 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1081px) 100vw, 1081px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123.png 1081w, https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123-300x69.png 300w, https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123-1024x236.png 1024w, https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123-768x177.png 768w, https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123-110x25.png 110w, https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123-200x46.png 200w, https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123-380x88.png 380w, https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123-255x59.png 255w, https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123-550x127.png 550w, https:\/\/cdn.itpiran.net\/2024\/05\/09005312\/123-800x184.png 800w\" ><\/p>\n<p>Probemos algo mejor y experimentemos con la flexibilidad de los elementos flexibles. \u00bfQu\u00e9 tal un dise\u00f1o de 3 columnas, enfocado en dispositivos m\u00f3viles, con encabezado y pie de p\u00e1gina de ancho completo? Independientemente del orden de origen.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-html\" data-lang=\"HTML\"><code>&lt;div class=\"wrapper\"&gt;\r\n&lt;header class=\"header\"&gt;Header&lt;\/header&gt;\r\n&lt;article class=\"main\"&gt;\r\n&lt;p&gt;Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.&lt;\/p&gt; \r\n&lt;\/article&gt;\r\n&lt;aside class=\"aside aside-1\"&gt;Aside 1&lt;\/aside&gt;\r\n&lt;aside class=\"aside aside-2\"&gt;Aside 2&lt;\/aside&gt;\r\n&lt;footer class=\"footer\"&gt;Footer&lt;\/footer&gt;\r\n&lt;\/div&gt;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.wrapper {\r\ndisplay: flex;\r\nflex-flow: row wrap;\r\n}\r\n\r\n\/* We tell all items to be 100% width, via flex-basis *\/\r\n.wrapper &gt; * {\r\nflex: 1 100%;\r\n}\r\n\r\n\/* We rely on source order for mobile-first approach\r\n* in this case:\r\n* 1. header\r\n* 2. article\r\n* 3. aside 1\r\n* 4. aside 2\r\n* 5. footer\r\n*\/\r\n\/* Medium screens *\/\r\n@media all and (min-width: 600px) {\r\n\/* We tell both sidebars to share a row *\/\r\n.aside { flex: 1 auto; }\r\n}\r\n\/* Large screens *\/\r\n@media all and (min-width: 800px) {\r\n\/* We invert order of first sidebar and main\r\n* And tell the main element to take twice as much width as the other two sidebars\r\n*\/\r\n.main { flex: 3 0px; }\r\n.aside-1 { order: 1; }\r\n.main { order: 2; }\r\n.aside-2 { order: 3; }\r\n.footer { order: 4; }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1165\"  height=\"344\"  class=\"aligncenter wp-image-15557 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1165px) 100vw, 1165px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224.png 1165w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-300x89.png 300w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-1024x302.png 1024w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-768x227.png 768w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-110x32.png 110w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-200x59.png 200w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-380x112.png 380w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-255x75.png 255w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-550x162.png 550w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-800x236.png 800w, https:\/\/cdn.itpiran.net\/2024\/05\/09005812\/44224-1160x343.png 1160w\" ><\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"Introducci\u00f3n a nuestra gu\u00eda completa sobre maquetaci\u00f3n con flexbox en CSS. Esta gu\u00eda explica todo sobre flexbox\u2026","protected":false},"author":1,"featured_media":15558,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 Flexbox","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_yoast_wpseo_focuskeywords":"","_yoast_wpseo_primary_category":"193","footnotes":""},"categories":[193,363,375],"tags":[374,418],"class_list":{"0":"post-15555","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tutorials","8":"category-programming","9":"category-375","10":"tag-css","11":"tag-website"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 Flexbox - \u0628\u0644\u0627\u06af ITPiran<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/a-guide-to-flexbox\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 Flexbox - \u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"og:description\" content=\"\u0645\u0642\u062f\u0645\u0647 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u062c\u0627\u0645\u0639 \u0645\u0627 \u0628\u0631\u0627\u06cc \u0686\u06cc\u062f\u0645\u0627\u0646 CSS flexbox. \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f flexbox \u062a\u0648\u0636\u06cc\u062d&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/a-guide-to-flexbox\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-08T21:36:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.itpiran.net\/2024\/05\/09010518\/flex.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1793\" \/>\n\t<meta property=\"og:image:height\" content=\"1110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\"},\"headline\":\"\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 Flexbox\",\"datePublished\":\"2024-05-08T21:36:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/\"},\"wordCount\":96,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/05\\\/09010518\\\/flex.jpg\",\"keywords\":[\"css\",\"website\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc\",\"\u0648\u0628 \u0633\u0627\u06cc\u062a\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/\",\"name\":\"\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 Flexbox - \u0628\u0644\u0627\u06af ITPiran\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/05\\\/09010518\\\/flex.jpg\",\"datePublished\":\"2024-05-08T21:36:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/05\\\/09010518\\\/flex.jpg\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/05\\\/09010518\\\/flex.jpg\",\"width\":1793,\"height\":1110},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/a-guide-to-flexbox\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/category\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 Flexbox\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"name\":\"\u0628\u0644\u0627\u06af ITPiran\",\"description\":\"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\",\"name\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"alternateName\":\"ITPIran Blog\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"width\":512,\"height\":512,\"caption\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/es\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"La gu\u00eda completa de Flexbox - Blog de ITPiran","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/a-guide-to-flexbox\/","og_locale":"es_ES","og_type":"article","og_title":"\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 Flexbox - \u0628\u0644\u0627\u06af ITPiran","og_description":"\u0645\u0642\u062f\u0645\u0647 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u062c\u0627\u0645\u0639 \u0645\u0627 \u0628\u0631\u0627\u06cc \u0686\u06cc\u062f\u0645\u0627\u0646 CSS flexbox. \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f flexbox \u062a\u0648\u0636\u06cc\u062d&hellip;","og_url":"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/a-guide-to-flexbox\/","og_site_name":"\u0628\u0644\u0627\u06af ITPiran","article_published_time":"2024-05-08T21:36:55+00:00","og_image":[{"width":1793,"height":1110,"url":"https:\/\/cdn.itpiran.net\/2024\/05\/09010518\/flex.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/#article","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/"},"author":{"name":"admin","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81"},"headline":"\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 Flexbox","datePublished":"2024-05-08T21:36:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/"},"wordCount":96,"commentCount":0,"publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/05\/09010518\/flex.jpg","keywords":["css","website"],"articleSection":["\u0622\u0645\u0648\u0632\u0634\u06cc","\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc","\u0648\u0628 \u0633\u0627\u06cc\u062a"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/","url":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/","name":"La gu\u00eda completa de Flexbox - Blog de ITPiran","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/#primaryimage"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/05\/09010518\/flex.jpg","datePublished":"2024-05-08T21:36:55+00:00","breadcrumb":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/#primaryimage","url":"https:\/\/cdn.itpiran.net\/2024\/05\/09010518\/flex.jpg","contentUrl":"https:\/\/cdn.itpiran.net\/2024\/05\/09010518\/flex.jpg","width":1793,"height":1110},{"@type":"BreadcrumbList","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/a-guide-to-flexbox\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpiran.net\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634\u06cc","item":"https:\/\/www.itpiran.net\/blog\/category\/tutorials\/"},{"@type":"ListItem","position":3,"name":"\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 Flexbox"}]},{"@type":"WebSite","@id":"https:\/\/www.itpiran.net\/blog\/#website","url":"https:\/\/www.itpiran.net\/blog\/","name":"Blog de ITPiran","description":"Noticias y art\u00edculos sobre comercio sostenible en Ir\u00e1n","publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpiran.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.itpiran.net\/blog\/#organization","name":"Blog sobre negocios iran\u00edes sostenibles","alternateName":"ITPIran Blog","url":"https:\/\/www.itpiran.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","contentUrl":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","width":512,"height":512,"caption":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81","name":"administraci\u00f3n","url":"https:\/\/www.itpiran.net\/blog\/es\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts\/15555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/comments?post=15555"}],"version-history":[{"count":1,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts\/15555\/revisions"}],"predecessor-version":[{"id":15559,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts\/15555\/revisions\/15559"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/media\/15558"}],"wp:attachment":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/media?parent=15555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/categories?post=15555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/tags?post=15555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}