Foros del Web » Creando para Internet » CSS »

2 divs que crezcan juntos

Estas en el tema de 2 divs que crezcan juntos en el foro de CSS en Foros del Web. Hola a todos!, tengo algo más o menos así: Código HTML: <div style= "width: 100px" > <div style= "width: 50px; float: left; background: red;border-radius: 5px ...
  #1 (permalink)  
Antiguo 09/01/2012, 13:01
 
Fecha de Ingreso: febrero-2009
Mensajes: 202
Antigüedad: 15 años, 2 meses
Puntos: 3
2 divs que crezcan juntos

Hola a todos!,
tengo algo más o menos así:

Código HTML:
<div style="width: 100px">

   <div style="width: 50px; float: left; background: red;border-radius: 5px 5px 5px 5px;">
      Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
   </div>

   <div style="width: 50px; float: right; background: green;border-radius: 5px 5px 5px 5px;">
      Lorem Ipsum is simply dummy text.
   </div>

</div> 
Yo necesito que los fondos de ambos div queden parejos independientemente de cantidad de texto que tenga cada uno. En est caso el div alineado a la derecha tendría menos altura que el que flota a la izquierda entonces sería más corto. Y acá vienen los problemas:

- No puedo usar un height estático porque el contenido de esos bloques es dinámico.
- Los bloques tienen bordes redondeados entonces no podría ponerle al div padre una imagen de fondo con repeat-y que simule ser el fondo de los div hijos porque estaría perdiendo el efecto.

Había pensado en hacer algo así:

Código HTML:
<div style="width: 100px;">
   <div id="apertura-box-derecha" style="border-top-right-radius: 5px; border-top-left-radius: 5px; background: red; width: 50px;padding: 10px 0;float: right;"></div>
   <div id="apertura-box-izquierda" style="border-top-right-radius: 5px; border-top-left-radius: 5px; background: green; width: 50px;padding: 10px 0;float: left;"></div>
   <div style="background-image: url('simulo-fondo-box-en-1-px.jpg')">

      <div style="width: 50px; float: left; background: red;border-radius: 5px 5px 5px 5px;">
         Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
      </div>

      <div style="width: 50px; float: right; background: green;border-radius: 5px 5px 5px 5px;">
         Lorem Ipsum is simply dummy text.
      </div>

   </div>
   <div id="cierre-box-derecha" style="border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; background: red; width: 50px;padding: 10px 0;float: right;"></div>
   <div id="cierre-box-izquierda" style="border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; background: green; width: 50px;padding: 10px 0;float: left;"></div>
</div> 

¿Habría alguna alternativa un poco más práctica a esta forma? A mi no se me ocurre otra manera...

Perdón por todos los estilos inline y los ID sin sentido, pero lo quise hacer los más fácil de entener posible.


Graciass!!
  #2 (permalink)  
Antiguo 09/01/2012, 13:35
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Respuesta: 2 divs que crezcan juntos

Si yo tuviera que hacerlo, lo haría asi: http://jsfiddle.net/xCaHR/

Ojo! Eso es solo IE8+.

Para IE7-6 , ajustaría el alto con javascript.
  #3 (permalink)  
Antiguo 09/01/2012, 14:56
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 10 meses
Puntos: 539
Antiguamente para lograr esa igualdad jugábamos con el margen y padding inferior balanceados:
El mismo valor pero de signo contrario.
Claro que eso conllevaba dos condiciones:
.- padre con oberflow y
.- un corte (clear) para que el padre no hiciese cosas no queridas.
  #4 (permalink)  
Antiguo 09/01/2012, 16:38
 
Fecha de Ingreso: febrero-2009
Mensajes: 202
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: 2 divs que crezcan juntos

Cita:
Iniciado por ryugen Ver Mensaje
Si yo tuviera que hacerlo, lo haría asi: http://jsfiddle.net/xCaHR/

Ojo! Eso es solo IE8+.

Para IE7-6 , ajustaría el alto con javascript.
Claro, esa opción está prácticamente siendo una simulación de una tabla... mmmm... no me convence demasiado...


Cita:
Iniciado por kseso?
Antiguamente para lograr esa igualdad jugábamos con el margen y padding inferior balanceados:
El mismo valor pero de signo contrario.
Claro que eso conllevaba dos condiciones:
.- padre con oberflow y
.- un corte (clear) para que el padre no hiciese cosas no queridas.
Mmmm... no conocía esa opción... ¿tendrás un link donde se explique un poco? porque no entendí mucho el funcionamiento...


Gracias ryugen y kseso?!
  #5 (permalink)  
Antiguo 10/01/2012, 07:42
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 10 meses
Puntos: 539
Respuesta: 2 divs que crezcan juntos

Código CSS:
Ver original
  1. #contenedor {
  2.    overflow: hidden;
  3. }
  4. .izquierda, .derecha {
  5.    margin-bottom: -1000px;
  6.    padding-bottom: 1000px;
  7. }
Código HTML:
Ver original
  1. <div id="contenedor">
  2.    <div class="izquierda"> </div>
  3.    <div class="derecha">   </div>
  4. </div>

Etiquetas: contenido, divs, fondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:01.