Es básicamente la idea que apuntó Tredio. Con alguna cosilla diferente.
Esto podría ser (tres realizaciones distintas en base a la misma idea):
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es-es"> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> * {
margin: 0;
padding: 0;
border: 0;
outline: 0;
}
html, body {
font-weight:normal;
font-size: 100%;
height:100%;
width: 100%;
background: #F5DCB3;
}
.contenedor{
width: 80%;
margin: 0 auto 20px;
background: #435266;
padding-bottom: 10px;
}
h1, h2 {
line-height: 1em;
font-family: Arial, sans-serif;
text-align: center;
padding: 10px;
color: #f5f5f5;
}
.contenedor p {color: #f5f5f5;}
.padre {
background: #aaa;
text-align: center;
white-space: nowrap;
font-size: 20px;
letter-spacing: 20px;
line-height: 12px;
overflow: hidden;
padding: 10px 0;
}
.hijo {
background: #F5DCB3;
display: inline-block;
letter-spacing: normal;
font-size: normal;
white-space: normal;
text-align: normal;
vertical-align: middle;
border: 1px solid #fff;
}
.hijo p {
color: #444;
font-family: Arial, sans-serif;
font-size: 12px;
line-height: 1.5em;
text-align: left;
padding: 5px;
}
.hijo img {width:100px;}
#segundo {
letter-spacing:20px;
margin:0 auto;
padding:0;
white-space:normal;
width:40%;
}
#tercero {
margin:0 auto;
overflow:auto;
width:90%;
letter-spacing: 10px;
}
#segundo .hijo {margin: 10px 0;width: 100px; height: 100px;}
#tercero .hijo {margin: 10px 0;width: 100px;vertical-align: bottom;}
/****************
un par de declaraciones para el inombrable,
que en un proyecto real irían en su CC
***************/
.hijo, #segundo .hijo {
*display: inline;
*margin: 10px;
}
#tercero {*height: 120px;}
<h1>"Centrar al Centro" Divs Conjuntamente
</h1> <p>O cómo distribuir elementos equitativamente, con independencia de su número o tamaño. En vez de utilizar div´s aplica a una lista y tienes el típico menú dinámico (opciones variables) centrado
</p>
<p>Una caja con algo de texto.
</p>
<img src="estilos/pict132.jpg" alt="img" />
<img src="estilos/pavo.jpg" alt="img" />
<img src="estilos/pict083.jpg" alt="img" />
<p>+ ó - cajas. El centrado se mantiene.
</p>
<p>Podemos incluir alguna variación en las propiedades de .padre, añadiendo un id (#segundo) para hacer la típica galería con distribución homogénea
</p>
<div id="segundo" class="padre"> <p>Una caja con texto.
</p>
<img src="estilos/pict132.jpg" alt="img" />
<img src="estilos/pavo.jpg" alt="img" />
<img src="estilos/pict083.jpg" alt="img" />
<p>Añade o quita cajas. El centrado se mantiene.
</p> <img src="estilos/pict141.jpg" alt="img" />
<p>Incluso, en base al primero, una galería con su escroll:
</p>
<div id="tercero" class="padre"> <img src="estilos/sumario.jpg" alt="img" />
<img src="estilos/pict132.jpg" alt="img" />
<img src="estilos/pavo.jpg" alt="img" />
<img src="estilos/pict083.jpg" alt="img" />
<img src="estilos/pict083.jpg" alt="img" />
<p>Una caja con algo de texto.
</p>
<img src="estilos/pict083.jpg" alt="img" />
<img src="estilos/pict083.jpg" alt="img" />
<img src="estilos/pict083.jpg" alt="img" />
<img src="estilos/pict083.jpg" alt="img" />
Creo que no hay mucho que explicar. Sólo que al usar letter-spacing (en .padre) para separar los .hijo evitamos tener que andar definiendo diferentes márgenes para el primero/último.