CSS에서 사이트 3열 레이아웃 체계
이제 3열 레이아웃을 만들어 봅시다. 다음은 우리가 얻어야 할 결과의 예입니다:
먼저 사이트 구조를 작성해 봅시다:
<div id="wrapper">
<div id="header">
header
</div>
<div id="container">
<div id="left">
left sidebar
</div>
<div id="content">
content
</div>
<div id="right">
right sidebar
</div>
</div>
<div id="footer">
footer
</div>
</div>
wrapper의 너비를 설정하고 중앙에 정렬해 봅시다:
#wrapper {
width: 1100px;
margin: 30px auto;
border: 1px solid black;
}
컨테이너 블록을 한 줄에 배치해 봅시다:
#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">
header
</div>
<div id="container">
<div id="left">
left sidebar
</div>
<div id="content">
content
</div>
<div id="right">
right sidebar
</div>
</div>
<div id="footer">
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;
}