Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

221
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!