Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/01/2014, 09:58
JustinKO
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 11 años, 10 meses
Puntos: 47
Respuesta: Duda con posicionamiento absolute en rejilla de bootstrap

Hola pzin, muchas gracias por tu respuesta. La verdad que no me ha quedado claro del todo lo que me explicas, de todos modos partiendo de lo que me decías he seguido trasteando y al final he dado con el porqué. Sigo sin entender la base pero si he pillado la solución.

Voy a explicarlo:

Respecto al funcionamiento de bootstrap no es más que las clases .col-md-7 y .col-md-5 tienen una flotación a la izquierda y un porcentaje dependiendo del ancho:
Código CSS:
Ver original
  1. .col-md-7, .col-md-5{
  2. float: left;
  3. }
  4. .col-md-7 {
  5.     width: 58.3333%;
  6. }
  7. .col-md-5 {
  8.     width: 41.6667%;
  9. }

Y dicho esto;
He comprobado que cuando me varía el ancho es porque varía el contenido del interior de los divs con las clases en cuestión (.col-md-7 y .col-md-5).

Al parecer cuando le doy position:absolute el ancho del contenedor deja de tener el ancho del 100% y da un ancho dependiendo de los contenidos de los divs que tiene dentro.
Entonces los divs internos son calculados a un 58.3333% y un 41.6667% del div contenedor (.caja_seccion ). Por lo que será diferente dependiendo del ancho de éste.

Resumiendo: He dado forzado ancho fijo al div contenedor .caja_seccion (with: 100%) y se ha solucionado el problema.


Repito el código para con modificaciones para que se entienda mejor.

Código HTML:
Ver original
  1. <!--menu tabs-->
  2.   <ul class="nav nav-tabs">
  3.         <li class="active"><a href="#">Descripción</a></li>
  4.         <li ><a href="#">Más información</a></li>    
  5.       </ul>
  6.      
  7.      
  8.    <div id="cabecera_seccion">
  9.    
  10.     <!--************Este es el div que me aparece más ancho-->  
  11.     <!--contenedor descripcion-->  
  12.          
  13.          <div  class="visible caja_seccion">
  14.            
  15.                   <div  class="col-md-7">
  16.                  
  17.                     CONTENIDO 7 COLUMNAS - El contenido de este div de 7 columndas es más largo.
  18.                     </div>
  19.                  
  20.                   <div class="col-md-5">
  21.                     CONTENIDO 5 COLUMNAS
  22.                   </div>
  23.            
  24.          </div>              
  25.          
  26.          
  27.           <!--************Este es el div que me aparece más estrecho-->  
  28.          <!--contenedor más informacion-->
  29.                
  30.          <div class="oculta caja_seccion">
  31.            
  32.                   <div  class="col-md-7">      
  33.                     CONTENIDO 7 COLUMNAS .  más corto  
  34.                     </div>
  35.                  
  36.                   <div class="imagen_seccion col-md-5">
  37.                     CONTENIDO 5 COLUMNAS
  38.                     </div>
  39.            
  40.          </div>
  41.   </div>

Código CSS:
Ver original
  1. .col-md-7, .col-md-5{
  2. float: left;
  3. }
  4. .col-md-7 {
  5.     width: 58.3333%;
  6. }
  7.  
  8. .col-md-7, .col-md-5{
  9.     float:left;
  10. }
  11.  
  12.  
  13.  
  14. #cabecera_seccion{  
  15.     position: relative;
  16.        width: 100%;
  17. }
  18. .caja_seccion{
  19.     position: absolute;
  20.     top: 0px;
  21.  
  22.     width: 100%; /*Este es el ancho que he tenido que forzar para que funcione*/
  23.    
  24.  
  25. }
  26.  
  27.  
  28. .caja_seccion.visible{
  29.     visibility: hidden;
  30. }
  31. .caja_seccion.oculta{
  32.     visibility: visible;
  33. }


saludos y muchas gracias ;)