โครงร่างเว็บไซต์แบบสามคอลัมน์ใน CSS
ตอนนี้เรามาสร้างโครงร่างแบบสามคอลัมน์กัน นี่คือตัวอย่างของสิ่งที่เราควรได้:
เริ่มต้นด้วยการเขียนโครงสร้างของเว็บไซต์:
<div id="wrapper">
<div id="header">
ส่วนหัว
</div>
<div id="container">
<div id="left">
แถบด้านซ้าย
</div>
<div id="content">
เนื้อหา
</div>
<div id="right">
แถบด้านขวา
</div>
</div>
<div id="footer">
ส่วนท้าย
</div>
</div>
มากำหนดความกว้างของ wrapper และจัดให้อยู่กึ่งกลาง:
#wrapper {
width: 1100px;
margin: 30px auto;
border: 1px solid black;
}
จัดบล็อกของ container ให้เรียงอยู่ในแถวเดียวกัน:
#container {
display: flex;
}
มากำหนดความกว้างของบล็อกต่างๆ เพื่อให้เมื่อรวมกันแล้วได้ความกว้างของ wrapper:
#content {
width: 700px;
}
#left {
width: 200px;
}
#right {
width: 200px;
}
ทีนี้มาเพิ่ม margin โดยหักความกว้างออกจากเนื้อหา:
#content {
width: 660px;
}
#left {
width: 200px;
margin-right: 20px;
}
#right {
width: 200px;
margin-left: 20px;
}
มาเพิ่มสไตล์ที่เหลือ:
#content {
width: 660px;
height: 700px;
padding: 20px;
border: 1px solid black;
}
#left {
width: 200px;
margin-right: 20px;
padding: 20px;
border: 1px solid black;
}
#right {
width: 200px;
margin-left: 20px;
padding: 20px;
border: 1px solid black;
}
มาเขียนโค้ดสุดท้าย:
<div id="wrapper">
<div id="header">
ส่วนหัว
</div>
<div id="container">
<div id="left">
แถบด้านซ้าย
</div>
<div id="content">
เนื้อหา
</div>
<div id="right">
แถบด้านขวา
</div>
</div>
<div id="footer">
ส่วนท้าย
</div>
</div>
* {
box-sizing: border-box;
}
#wrapper {
width: 1100px;
margin: 30px auto;
border: 1px solid black;
}
#header {
height: 200px;
padding: 20px;
border: 1px solid black;
}
#container {
display: flex;
}
#content {
width: 660px;
height: 700px;
padding: 20px;
border: 1px solid black;
}
#left {
width: 200px;
margin-right: 20px;
padding: 20px;
border: 1px solid black;
}
#right {
width: 200px;
margin-left: 20px;
padding: 20px;
border: 1px solid black;
}
#footer {
height: 200px;
padding: 20px;
border: 1px solid black;
}