Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/03/2012, 09:15
Avatar de cristian_cena
cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Respuesta: Ocupar ancho de página

Hola elacunza.
Básicamente podrías hacerlo de tres maneras:

La primera: (La que quieres evitar):
Dando un margen a los elementos y un padding al contenedor
Código HTML:
Ver original
  1. <div id="elems">
  2.     <p class="el">lorem ipsum dolor amet...</p>
  3.     <p class="el">lorem ipsum dolor amet...</p>
  4.     <p class="el">lorem ipsum dolor amet...</p>
  5.     <p class="el">lorem ipsum dolor amet...</p>
  6.     <p class="el">lorem ipsum dolor amet...</p>
  7.     <p class="el">lorem ipsum dolor amet...</p>
  8. </div>
Código CSS:
Ver original
  1. &#8203;*{outline:1px solid cyan;}
  2. #elems{
  3.     width:390px;  /* w: 130 * 3 */
  4.     overflow:hidden;
  5.     background:gray;
  6.     padding:10px 0 0 10px; /* top y left*/
  7. }
  8. .el{
  9.     background:gray;
  10.     float: left;
  11.     width: 100px;
  12.     padding:10px;
  13.     margin:0 10px 10px 0; /* right y bottom */
  14.     /* total width: 100 + 20 + 10 */
  15. }

La segunda:
Quitando el margen de los elementos mediante una clase
Código HTML:
Ver original
  1. <div id="elems">
  2.     <p class="el">lorem ipsum dolor amet...</p>
  3.     <p class="el">lorem ipsum dolor amet...</p>
  4.     <p class="el cero">lorem ipsum dolor amet...</p>
  5.     <p class="el">lorem ipsum dolor amet...</p>
  6.     <p class="el">lorem ipsum dolor amet...</p>
  7.     <p class="el cero">lorem ipsum dolor amet...</p>
  8. </div>
Código CSS:
Ver original
  1. &#8203;*{outline:1px solid cyan;}
  2. #elems{
  3.     width:380px;  /* (100 + 20 + 10) * 3 - 10  */
  4.     overflow:hidden;
  5.     background:gray;
  6. }
  7. .el{
  8.     background:gray;
  9.     float: left;
  10.     width: 100px;
  11.     padding:10px;
  12.     margin:0 10px 0 0; /* right y bottom */
  13. }
  14.  
  15. .cero{
  16.     margin:0;
  17. }&#8203;&#8203;&#8203;


La tercera:
Anidando el contenedor de los elementos en una caja con overflow:hidden en la que restas el tamaño de la última columna
Código HTML:
Ver original
  1. <div id="wrap">
  2.     <div id="elems">
  3.         <p class="el">lorem ipsum dolor amet...</p>
  4.         <p class="el">lorem ipsum dolor amet...</p>
  5.         <p class="el">lorem ipsum dolor amet...</p>
  6.         <p class="el">lorem ipsum dolor amet...</p>
  7.         <p class="el">lorem ipsum dolor amet...</p>
  8.         <p class="el">lorem ipsum dolor amet...</p>
  9.     </div>
  10. </div>
Código CSS:
Ver original
  1. *{outline:1px solid cyan;}
  2. #wrap{
  3.     overflow:hidden;
  4.     width:380px;  /* w: 390 - right*/
  5.     background:red;
  6. }
  7. #elems{
  8.     width:390px;  /* w: 130 * 3 */
  9.     overflow:hidden;
  10.     background:gray;
  11. }
  12. .el{
  13.     background:gray;
  14.     float: left;
  15.     width: 100px;
  16.     padding:10px;
  17.     margin:0 10px 0 0; /* right = 10*/
  18.     /* total width: 100 + 20 + 10 */
  19. }

Saludos.



Última edición por cristian_cena; 06/03/2012 a las 13:10 Razón: un bugcito. ver #4