Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/06/2017, 17:37
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 9 meses
Puntos: 65
Respuesta: 3 columnas, izquierda y derecha pegadas a 0 y la del centro justo en medio

Hola de nuevo.

Rafael, he probado todas las opciones y la verdad es que flex-box tiene muy buena pinta y será lo próximo que aplique a un proyecto, ya que en este es un portal con muchísimas cosas y quizás me es más difícil ahora cambiarlo todo a flexblox por la gran cantidad y variedad de código que tiene dicho proyecto que tengo que cambiar.

He mirado un poco por encima aparte de tu ejemplo en otras páginas y me voy a poner con ello en cuanto termine este, aún así por ejemplo he probado quitando el div centrado y llevando display: -ms-flexbox; y diisplay: flex; a pagewrap y no me sale igual, así que tengo mucho camino por delante en eso.

En cuanto a la otra manera por ahora el cliente no ve problema en dejar los margenes separados en las esquinas con tal de que todo esté centrado y sea lo más flexible posible para entrar en responsive, así que he quitado todos los float posibles y con porcentajes me va bastante mejor:

Código HTML:
Ver original
  1. <div id="pagewrap">
  2.  
  3.     <header>
  4.         <h1>3 Column Responsive Layout</h1>
  5.     </header>
  6.      <div id="centrado"> <!-- Prueba de centrado -->
  7.        
  8.    
  9.     <section id="content">
  10.         <h2>1st Content Area</h2>
  11.         <p>This page demonstrates a 3 column responsive layout, complete with responsive images and jquery slideshow.</p>
  12.     </section>
  13.    
  14.     <section id="middle">
  15.         <h2>2nd Content Area</h2>
  16.         <p>At full width all three columns will be displayed side by side. As the page is resized the third column will collapse under the first and second. At the smallest screen size all three columns will be stacked on top of one another.</p>
  17.         <p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
  18.         <div class="middle-block-left">
  19.             <h2>Soy bloque izquierdo</h2>
  20.         </div>
  21.         <div class="middle-block-right">
  22.             <h2>Soy bloque derecho</h2>
  23.         </div>
  24.     </section>
  25.  
  26.     <aside id="sidebar">
  27.         <h2>3rd Content Area</h2>
  28.         <p>Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
  29.         <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
  30.         <p>Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>       
  31.     </aside>
  32.     </div>  <!-- /Prueba de centrado -->
  33.     <footer>
  34.         <h4>Footer</h4>
  35.         <p>Footer text</p>
  36.     </footer>
  37.  
  38. </div>

Código CSS:
Ver original
  1. #pagewrap {
  2.     background: yellow;
  3.     margin: 0 auto;    
  4.     text-align: center;/*Aquí centro las columnas y si solo pongo la central queda al centro.*/
  5.   width: 100%;  
  6. }
  7. header {
  8.     background: black;
  9.     height: 100px; 
  10. }
  11. #content {
  12.     background: blue;
  13.     border: 1px solid #d4d4d4;   
  14.   display:inline-block;
  15.   margin: 30px 0;
  16.   vertical-align:top;
  17.   width: 24.62%;   
  18. }
  19. #middle {
  20.     background: green;
  21.     border: 1px solid #d4d4d4;
  22.   display: inline-block;
  23.     margin: -38px 1.49% 0;
  24.     text-align: left;
  25.     vertical-align:top;  
  26.   width:46.0%;/*Ancho resistente seguro sin que los márgenes se peguen a los laterales 590px*/
  27. }
  28. .middle-block-left{
  29.     background: blue;
  30.     display: inline-block;
  31.     margin: 0.75%;
  32.     width: 48%;
  33. }
  34. .middle-block-right{
  35.     background: red;
  36.     display: inline-block;
  37.     margin: 0.75%;
  38.     width: 48%;
  39. }
  40. #sidebar {
  41.     background:pink;
  42.     border: 1px solid #d4d4d4; 
  43.     display:inline-block;    
  44.     margin: 30px 0;    
  45.     vertical-align:top;    
  46.     width: 24.62%;
  47. }
  48. footer {   
  49.     padding: 0 15px;
  50.     background: brown;
  51. }

Gracias de nuevo por tu gran ayuda y explicación, saludos