ฉันมีรหัสการทำงานที่นี่: http://jsfiddle.net/WVm5d/ (คุณอาจต้องทำให้หน้าต่างผลลัพธ์ใหญ่ขึ้นเพื่อดูเอฟเฟกต์การจัดแนวกลาง)
คำถาม
รหัสผลงานดี display: table;
แต่ฉันไม่ชอบที่จะมี มันเป็นวิธีเดียวที่ฉันจะทำให้การจัดตำแหน่งกึ่งห่อ ฉันคิดว่ามันจะดีกว่าถ้ามีวิธีที่จะใช้หรือdisplay: block;
display: inline-block;
เป็นไปได้ไหมที่จะแก้ปัญหาการจัดตำแหน่งศูนย์อีกทางหนึ่ง?
การเพิ่มการแก้ไขด้วยลงในคอนเทนเนอร์ไม่ใช่ตัวเลือกสำหรับฉัน
ฉันจะวางรหัสของฉันที่นี่หากลิงก์ JS Fiddle เสียในอนาคต:
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>