Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

219
Vistas
¿Cómo hacer una caja flexible con límite de 2 elementos por fila?

Necesito hacer una tabla que contenga hasta 4 divs. Pero los divs en esa tabla siempre deben usar el máximo de espacio disponible. Y una fila no debe contener más de 2 divs. Por ejemplo, si la tabla contiene 2 divs, debería verse así ingrese la descripción de la imagen aquí

Si la tabla tiene 3 divs, así: ingrese la descripción de la imagen aquí

Y si contiene 4 entonces debería verse así

ingrese la descripción de la imagen aquí

Para lograrlo escribí este código:

 <div style={{ height: '58vh', border: '1px solid #d9d9d9', borderRadius: '0px 0px 2px 2px', display: 'flex', flexDirection: 'row', flexWrap: 'wrap', }} > <div style={{background:'red', flex: 'auto', margin: '5px'}} <div style={{background:'green', flex: 'auto', margin: '5px'}} <div style={{background:'blue', flex: 'auto', margin: '5px'}} <div style={{background:'pink', flex: 'auto', margin: '5px'}} </div>

Pero me falta algo aquí. Para 1 div y para 2 div funciona según lo planeado. Pero para más... Este es mi resultado para 3 divs ingrese la descripción de la imagen aquí y por 4 divisiones ingrese la descripción de la imagen aquí ¿Alguien puede aconsejarme, por favor, qué debo cambiar en este código?

PD. Por favor, no juzgues mis cuadrados desigualmente dibujados :)

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

 .container { display: flex; flex-wrap: wrap; } .inner { flex-basis: 50%; flex-grow: 1; } .inner:nth-of-type(1) { background: red; } .inner:nth-of-type(2) { background: gold; } .inner:nth-of-type(3) { background: green; } .inner:nth-of-type(4) { background: blue; }
 <div class="container"> <div class="inner">one</div> <div class="inner">two</div> <div class="inner">three</div> <div class="inner">four</div> </div>

Utilicé los siguientes pasos para lograr su resultado.

  1. Haz que el contenedor que contiene las cajas internas sea flex .
  2. Dale al contenedor flex-wrap: wrap manera que las cajas internas que no tienen lugar en la misma línea, pasen a la siguiente línea.
  3. Dar flex-basis: 50% a las cajas interiores para que ocupen el 50% del espacio disponible.
  4. Dale a las cajas internas flex-grow: 1 para que si a la última caja le queda espacio, lo ocupe todo.

Referencias:

  • Caja flexible
  • envoltura flexible
  • base flexible
  • crecimiento flexible
  • (Extra) flexionable

PD: Intenta comentar el cuarto cuadro interior para que el tercer cuadro ocupe todo el espacio horizontal.

about 4 years ago · Juan Pablo Isaza Denunciar

0

¿Qué quieres decir con usar Grid para esto?

ejemplo:

 display: grid; grid-template-columns: 1fr 1fr; grid-gap: 10px;

aquí está la guía para Grid: https://css-tricks.com/snippets/css/complete-guide-grid/

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda