Saltar al contenido

Cómo establecer una columna de ancho fijo con CSS flexbox

Lorenzo, parte de este equipo de trabajo, nos hizo el favor de escribir esta crónica porque domina a la perfección el tema.

Solución:

Deberías usar el flex o flex-basis propiedad en lugar de width. Lea más en MDN.

.flexbox .red 
  flex: 0 0 25em;

los flex La propiedad CSS es una propiedad abreviada que especifica la capacidad de un elemento flexible para modificar sus dimensiones para llenar el espacio disponible. Contiene:

flex-grow: 0;     /* do not grow   - initial value: 0 */
flex-shrink: 0;   /* do not shrink - initial value: 1 */
flex-basis: 25em; /* width/height  - initial value: auto */

Una demostración simple muestra cómo configurar la primera columna para 50px ancho fijo.

.flexbox 
  display: flex;

.red 
  background: red;
  flex: 0 0 50px;

.green 
  background: green;
  flex: 1;

.blue 
  background: blue;
  flex: 1;
1
2
3


Vea el codepen actualizado basado en su código.

En caso de que alguien quiera tener un flexbox receptivo con porcentajes (%), es mucho más fácil para las consultas de los medios.

flex-basis: 25%;

Esto será mucho más suave durante la prueba.

// VARIABLES
$screen-xs:                                         480px;
$screen-sm:                                         768px;
$screen-md:                                         992px;
$screen-lg:                                         1200px;
$screen-xl:                                         1400px;
$screen-xxl:                                        1600px;

// QUERIES
@media screen (max-width: $screen-lg) 
    flex-basis: 25%;


@media screen (max-width: $screen-md) 
    flex-basis: 33.33%;

Si te ha resultado de provecho este post, sería de mucha ayuda si lo compartes con el resto entusiastas de la programación de este modo contrubuyes a difundir nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *