J'ai un code de travail ici: http://jsfiddle.net/WVm5d/ (vous devrez peut-être agrandir la fenêtre de résultat pour voir l'effet d'alignement au centre)
Question
Le code fonctionne bien mais je n'aime pas l'avoir display: table;
. C'est la seule façon dont je pouvais faire le centre d'alignement de la classe wrap. Je pense que ce serait mieux s'il y avait un moyen d'utiliser display: block;
ou display: inline-block;
. Est-il possible de résoudre le centre d'alignement d'une autre manière?
Ajouter un fixe avec au conteneur n'est pas une option pour moi.
Je vais également coller mon code ici si le lien JS Fiddle se casse à l'avenir:
body {
background: #bbb;
}
.wrap {
background: #aaa;
margin: 0 auto;
display: table;
overflow: hidden;
}
.sidebar {
width: 200px;
float: left;
background: #eee;
}
.container {
margin: 0 auto;
background: #ddd;
display: block;
float: left;
padding: 5px;
}
.box {
background: #eee;
border: 1px solid #ccc;
padding: 10px;
margin: 5px;
float: left;
}
.box:nth-child(3n+1) {
clear: left;
}
<div class="wrap">
<div class="sidebar">
Sidebar
</div>
<div class="container">
<div class="box">
Height1
</div>
<div class="box">
Height2<br />
Height2
</div>
<div class="box">
Height3<br />
Height3<br />
Height3
</div>
<div class="box">
Height1
</div>
<div class="box">
Height2<br />
Height2
</div>
<div class="box">
Height3<br />
Height3<br />
Height3
</div>
</div>
<div class="sidebar">
Sidebar
</div>
</div>