<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Flexbox - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Flexbox - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sun, 31 May 2026 04:47:27 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/tag/flexbox/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Aprende CSS Flexbox desde cero - Curso paso a paso ]]>
                </title>
                <description>
                    <![CDATA[ Con CSS Flexbox, puedes crear sitios web responsivos fácilmente que se adapten a diferentes tamaños de pantalla y dispositivos. Es una habilidad esencial para el desarrollo web moderno. Publicamos un curso en el canal de YouTube de freeCodeCamp.org en español [https://www.youtube.com/freecodecampespanol] que te enseñará Flexbox desde los fundamentos. Al final ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/aprende-css-flexbox-desde-cero-curso-paso-a-paso/</link>
                <guid isPermaLink="false">65cb72d4c4734e03f2ead948</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Flexbox ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Curso ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Estefania Cassingena Navone ]]>
                </dc:creator>
                <pubDate>Tue, 20 Feb 2024 05:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2024/02/Thumbnail-1-2.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Con CSS Flexbox, puedes crear sitios web responsivos fácilmente que se adapten a diferentes tamaños de pantalla y dispositivos. Es una habilidad esencial para el desarrollo web moderno.</p><p>Publicamos un curso en el canal de YouTube de <a href="https://www.youtube.com/freecodecampespanol">freeCodeCamp.org en español</a> que te enseñará Flexbox desde los fundamentos. Al final del curso, podrás diseñar e implementar diseños responsivos.</p><p>Este curso fue creado por Leosbel Poll Sotomayor. Leosbel es un ingeniero de software con más de 10 años de experiencia, que comenzó a crear hace 20 años en Cuba y ahora vive en Canadá gracias a sus habilidades de programación. Creó este curso para la comunidad freeCodeCamp.</p><p>¿Listos? Veamos una descripción general de Flexbox y lo que aprenderás durante el curso.</p><h2 id="-qu-es-css-flexbox"><strong>¿Qué es CSS Flexbox?</strong></h2><p>CSS Flexbox significa CSS Flexible Box Layout. Es un modelo de diseño que te permite reorganizar elementos responsivos dentro de un contenedor en base a propiedades CSS que definen cómo los descendientes deben "moverse" para ajustarse al tamaño de su contenedor.</p><p>Con Flexbox puedes alinear, distribuir y espaciar elementos usando propiedades sencillas para evitar cálculos complejos en tu CSS.</p><p>Durante el curso, aprenderás a utilizar las siguientes propiedades:</p><ul><li><code><strong>flex-direction</strong></code></li><li><code><strong>justify-content</strong></code></li><li><code><strong>flex-wrap</strong></code></li><li><code><strong>align-items</strong></code></li><li><code><strong>align-content</strong></code></li><li><code><strong>flex-grow</strong></code></li><li><code><strong>flex-basis</strong></code></li><li><code><strong>flex-shrink</strong></code></li></ul><p>¡Y más! También aprenderás a combinarlos con Media Queries en CSS para crear diseños responsivos aún más poderosos.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/02/frame-3.png" class="kg-image" alt="frame-3" width="600" height="400" loading="lazy"><figcaption>Ejemplo de Flexbox. Distribuir elementos automáticamente.</figcaption></figure><h3 id="oportunidades-profesionales">Oportunidades profesionales</h3><p>Si tu objetivo es tener una carrera en el campo del desarrollo web, Flexbox te será de gran ayuda. Estas habilidades son altamente demandadas y buscadas por empleadores a nivel mundial.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/02/frame-4.png" class="kg-image" alt="frame-4" width="600" height="400" loading="lazy"><figcaption>Ejemplo de Flexbox. Diseño clásico con barra de navegación, menú lateral, contenido principal y pie de página.&nbsp;</figcaption></figure><h3 id="curso-de-flexbox-en-espa-ol"><strong>Curso de Flexbox en español</strong></h3><p>Genial. Ahora que ya sabes por qué Flexbox es tan importante, veamos los temas que aprenderás durante el curso:</p><ul><li>Introducción</li><li>¿Qué es Flexbox?</li><li>Importancia de Flexbox</li><li>Fundamentos de Flexbox</li><li>Herramientas que usarás durante el curso</li><li>Cómo configurar tu entorno de desarrollo</li><li>Propiedades relacionadas con contenedores</li><li>Pérdida de datos en CSS</li><li>Propiedades relacionadas con descendientes (hijos)</li><li>Ejemplo: Barra de navegación</li><li>Ejemplo: Diseño clásico</li><li>Flexbox vs. Grid</li></ul><p>Te invitamos a tomar el curso en el canal de YouTube de <a href="https://www.youtube.com/freecodecampespanol">freeCodeCamp.org en español</a>:</p><figure class="kg-card kg-embed-card" data-test-label="fitted">
        <div class="fluid-width-video-container">
          <div style="padding-top: 56.49999999999999%;" class="fluid-width-video-wrapper">
            <iframe width="200" height="113" src="https://www.youtube.com/embed/iwFEc6I8wSA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" title="Aprende CSS Flexbox - Curso desde Cero" name="fitvid0"></iframe>
          </div>
        </div>
      </figure><p>✍️ Curso creado por Leosbel Poll Sotomayor.</p><ul><li>YouTube: <a href="https://www.youtube.com/@_LeoDev">LeoDev</a></li><li>Twitter: <a href="https://twitter.com/_LeoDev">@_LeoDev</a></li><li>LinkedIn: <a href="https://www.linkedin.com/in/leosbel-poll-sotomayor/">Leosbel Poll Sotomayor</a></li></ul> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Flexbox vs Grid - Como construir los layouts HTML más comunes ]]>
                </title>
                <description>
                    <![CDATA[ Hay tantos recursos de CSS excelentes en internet. Pero ¿qué pasa si solo quieres un diseño simple y lo quieres ahora? En este artículo, describo los 5 layouts más comunes y cómo construirlos usando Flexbox y Grid. ¿Cómo funcionará esto? Hay un link debajo de cada uno de los layouts ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/flexbox-vs-grid-como-construir-los-layouts-mas-comunes/</link>
                <guid isPermaLink="false">60575c66540cd708b57382bb</guid>
                
                    <category>
                        <![CDATA[ Flexbox ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Mitchell Contreras ]]>
                </dc:creator>
                <pubDate>Thu, 17 Jun 2021 13:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2021/06/halacious.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Hay tantos recursos de CSS excelentes en internet. Pero ¿qué pasa si solo quieres un diseño simple y lo quieres ahora? En este artículo, describo los 5 layouts más comunes y cómo construirlos usando Flexbox y Grid.</p>
<h2 id="cmofuncionaresto">¿Cómo funcionará esto?</h2>
<p>Hay un link debajo de cada uno de los layouts para ver el código HTML y CSS en CodePen. Puedes darte cuenta que uso SASS para la definición de estilos, si quieres hacerlo en tu local, debes instalar SASS usando:</p>
<pre><code>npm i sass -g
</code></pre>
<h2 id="plantilladeunatarjetabsica">Plantilla de una tarjeta básica</h2>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/03/card.png" class="kg-image" alt="card" width="558" height="360" loading="lazy"></figure><!--kg-card-begin: markdown--><p>Utilicé la tarjeta anterior como base del diseño del layout. Está compuesto por tres elementos en dirección vertical, por lo que los bloques <code>div</code> funcionan bastante bien. Sin embargo, necesitaré hacer que el elemento central (el párrafo) se estire.</p>
<p><strong>Ganador: Flexbos</strong></p>
<p><a href="https://codepen.io/ondrabus/pen/rNeOEQJ">CodePen Flexbox</a> <a href="https://codepen.io/ondrabus/pen/mdPeZvd">CodePen Grid</a></p>
<p>Empecemos creando nuestros diferentes layouts.</p>
<h2 id="1tarjetaverticalmenteyhorizontalmentecentrados">#1 Tarjeta verticalmente y horizontalmente centrados</h2>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/03/card--1--1.png" class="kg-image" alt="card--1--1" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2021/03/card--1--1.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2021/03/card--1--1.png 974w" sizes="(min-width: 720px) 720px" width="974" height="488" loading="lazy"></figure><!--kg-card-begin: markdown--><p><strong>Con Flexbox</strong>, necesitamos un elemento centrado horizontalmente, y otro (el elemento hijo) que sea centrado verticalmente. El orden de los elementos es definido por <code>flex-direction</code>. La forma en que el elemento se posiciona en el espacio disponible se establece mediante <code>align-self</code> en el elemento o <code>align-items</code> en el elemento padre.</p>
<p><strong>Con Grid</strong>, necesitamos tres columnas y tres filas. Con esto podemos posicionar la tarjeta en la celda del medio. Centrar horizontalmente es sencillo. Definimos tres columnas y su tamaño usando <code>grid-template-columns: auto 33% auto</code> ya que la tarjeta debe ser tan ancha como 1/3 del área visible.</p>
<p>El problema es que nosotros no sabemos la dimensiones verticales, queremos que las filas superior e inferior ocupen el espacio restante que no es posible con la cuadrícula. La tarjeta está centrada, pero su altura depende de la altura de la ventana. Sin embargo, podemos solucionar esto con un elemento adicional alrededor de la tarjeta y centrarlo usando <code>margin</code>.</p>
<p><strong>Ganador: Flexbos</strong></p>
<p><a href="https://codepen.io/ondrabus/pen/vYGYobr">CodePen Flexbox</a> <a href="https://codepen.io/ondrabus/pen/yLOYdLO">CodePen Grid</a></p>
<h2 id="2dostarjetasverticalyhorizontalmentecentradas">#2 Dos tarjetas vertical y horizontalmente centradas</h2>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/03/two-cards.png" class="kg-image" alt="two-cards" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2021/03/two-cards.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2021/03/two-cards.png 976w" sizes="(min-width: 720px) 720px" width="976" height="489" loading="lazy"></figure><!--kg-card-begin: markdown--><p>A menudo necesitamos centrar más de un elemento. Estas dos tarjetas también deben mantener la misma altura si una u otra contiene un texto más largo.</p>
<p>Con <strong>Flexblox</strong>, necesitamos agrupar ambas tarjetas en otro elemento y usarlo para centrar ambas a la vez. No podemos usar <code>align-items</code> aquí ya que se aplica al eje Y en este caso. Necesitamos definir como el espacio restante en el eje X debe ser distribuido usando <code>justify-content: center</code>. Esto asegura que ambas tarjetas estén centrados horizontalmente.</p>
<p>Si omitimos el problema de la altura variable de <strong>Grid</strong>, podemos alcanzar el mismo resultado incluso sin ningún elemento agrupador adicional. En esta ocasión definimos un cuadrícula con cinco columnas con <code>rid-template-columns: auto 33% 50px 33% auto</code>. El resto permanece como el ejemplo anterior.</p>
<p><strong>Ganador: Flexbos</strong></p>
<p><a href="https://codepen.io/ondrabus/pen/mdPybJa">CodePen Flexbox</a> <a href="https://codepen.io/ondrabus/pen/RwaWXOp">CodePen Grid</a></p>
<h2 id="3multiplestarjetasconelmismotamao">#3 Multiples tarjetas con el mismo tamaño</h2>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/03/cards.png" class="kg-image" alt="cards" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2021/03/cards.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2021/03/cards.png 937w" sizes="(min-width: 720px) 720px" width="937" height="470" loading="lazy"></figure><!--kg-card-begin: markdown--><p>Este es otro caso de uso típico para blogs, sitios de comercio electrónico (e-commerce), o en general, cualquier sitio que muestre algún tipo de listado. Queremos que las tarjetas tengan el mismo ancho y alto. La altura se debe inferir del elemento más grande en la lista.</p>
<p>Esto se puede hacer en <strong>Flebox</strong> usando <code>flex-wrap:wrap</code>. Los elementos pasan a la siguiente línea si su ancho excede el espacio restante de cada línea. Sin embargo, la misma altura sólo se conserva en el ámbito de una sola línea, a menos que se defina explícitamente.</p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/03/3-flexbox-1.png" class="kg-image" alt="3-flexbox-1" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2021/03/3-flexbox-1.png 600w, https://www.freecodecamp.org/espanol/news/content/images/size/w1000/2021/03/3-flexbox-1.png 1000w, https://www.freecodecamp.org/espanol/news/content/images/size/w1600/2021/03/3-flexbox-1.png 1600w, https://www.freecodecamp.org/espanol/news/content/images/2021/03/3-flexbox-1.png 1948w" sizes="(min-width: 720px) 720px" width="1948" height="606" loading="lazy"></figure><!--kg-card-begin: markdown--><p><strong>Grid</strong> muestra su verdadero poder aquí. Este diseño se puede crear usando <code>grid-auto-rows: 1fr</code> que aplica la misma altura a todas las líneas.</p>
<p><strong>Ganador: Grid</strong></p>
<p><a href="https://codepen.io/ondrabus/pen/LYNpawv">CodePen Flexbox</a> <a href="https://codepen.io/ondrabus/pen/QWNjPLg">CodePen Grid</a></p>
<h2 id="3alternandoentretextoseimagenescentradoshorizontalmenteyverticalmente">#3 Alternando entre textos e imagenes centrados horizontalmente y verticalmente</h2>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/03/alternating-text.png" class="kg-image" alt="alternating-text" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2021/03/alternating-text.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2021/03/alternating-text.png 937w" sizes="(min-width: 720px) 720px" width="937" height="742" loading="lazy"></figure><!--kg-card-begin: markdown--><p>En este ejemplo, tenemos texto con botones CTA acompañados con imágenes del otro lado. Ambos componentes deben ser centrados verticalmente, ya que su tamaño puede variar.</p>
<p>Esto es pan comido para <strong>Flexbox</strong>. Cada fila es un elemento de un artículo dividido en dos contenedores, <code>.img</code>y <code>.content</code>. Son necesarios para una distribución uniforme (<code>flex-basis: 50%</code>). El centrado vertical del contenido interno es definido usando <code>align-items: center</code>. La alternancia se logra invirtiendo la dirección de Flexbox usando <code>flex-direction: row-reverse</code> en cada artículo impar.</p>
<p><strong>Grid</strong> maneja este caso bastante bien también. No necesitamos definir un gran grid, sino más bien uno por cada artículo. Define columnas igualmente anchas que están verticalmente centradas usando <code>align-items: center</code> y la alternancia se define a nivel de celda mediante valores conmutados <code>grid-column</code>.</p>
<p><strong>Ganador: Empate</strong></p>
<p><a href="https://codepen.io/ondrabus/pen/BaKoEyQ">CodePen Flexbox</a> <a href="https://codepen.io/ondrabus/pen/WNwrOOv">CodePen Grid</a></p>
<h2 id="5cabecerahorizontalconmen">#5 Cabecera horizontal con menú</h2>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/03/menu.png" class="kg-image" alt="menu" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2021/03/menu.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2021/03/menu.png 937w" sizes="(min-width: 720px) 720px" width="937" height="100" loading="lazy"></figure><!--kg-card-begin: markdown--><p>Para lograr este diseño usando <strong>Flexbox</strong>, ambos lados de la cabecera necesitan ser representados como un solo elemento.</p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/03/5-flexbox-1.png" class="kg-image" alt="5-flexbox-1" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2021/03/5-flexbox-1.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2021/03/5-flexbox-1.png 798w" sizes="(min-width: 720px) 720px" width="798" height="106" loading="lazy"></figure><!--kg-card-begin: markdown--><p>El logo y el nombre de la compañía como un solo elemento <code>anchor</code> a la izquierda, y el menú es un elemento <code>nav</code> a la derecha. Flexbox los posiciona con <code>justify-content: space-between</code>.</p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/03/5-grid-1.png" class="kg-image" alt="5-grid-1" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2021/03/5-grid-1.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2021/03/5-grid-1.png 799w" sizes="(min-width: 720px) 720px" width="799" height="140" loading="lazy"></figure><!--kg-card-begin: markdown--><p>Con <strong>Grid</strong>, necesitamos dos columnas - una para el logo y otra para el menú. El menú es otro grid que distribuye el tamaño de las columnas usando <code>grid-template-columns: repeat(4, minmax(0, 1fr))</code>. El problema aquí es que si queremos añadir otro elemento al menú, también necesitamos modificar el CSS.</p>
<p><strong>Ganador: Flexbox</strong></p>
<p><a href="https://codepen.io/ondrabus/pen/wvGMqXq">CodePen Flexbox</a> <a href="https://codepen.io/ondrabus/pen/oNxbeKx">CodePen Grid</a></p>
<h2 id="yelganadores">Y el ganador es ....</h2>
<p>El puntaje final es 5:2 a favor de Flexbox, pero esto no significa que esto lo convierta en el mejor. Hay situaciones donde se necesita usar uno u otro, algunas ocasiones usarlos juntos para alcanzar lo que se necesita.</p>
<p>Si necesitas flexibilidad y posiciones condicionadas trabajar con Flexbox. Si quieres crear listas o estructuras similares que requieran elementos de tamaños iguales o tener una forma de tabla trabajar con Grid.</p>
<p>Como programador front-end, no te saldrás con la tuya sin saber ambos.</p>
<p><a href="https://css-tricks.com/snippets/css/a-guide-to-flexbox/">Guía de Flexbox</a> <a href="https://css-tricks.com/snippets/css/complete-guide-grid/">Guía de Grid</a></p>
<p>Traducido del artículo de <a href="https://www.freecodecamp.org/news/author/ondrej/">Ondrej Polesny</a> - <a href="https://www.freecodecamp.org/news/flexbox-vs-grid-how-to-build-the-most-common-html-layouts/">Flexbox vs Grid - How to Build the Most Common HTML Layouts</a></p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
