css
CSS - 플렉스박스 : 컨테이너(Flex Container)
Container 와 item 을 정렬하기 위해 다음 표의 속성을 이용합니다.
display 를 인라인으로 설정하고, 넘치는 경우 flex-wrap 를 wrap 로 설정하여 자동 줄 바꿈하도록 배치한 결과입니다.
다음 그림은 wrap 를 설정하지 않고 배치한 결과입니다. 줄 바꿈 하지 않았을 때와는 다르게 보여지는 것을 확인할 수 있습니다.
다음 그림에서 알 수 있듯 가상의 선을 따라 컨테이너와 항목이 배치되는 것을 확인할 수 있습니다.
아래 그림은 flex-wrap 속성이 wrap-reverse 일 때의 결과입니다.
이 예제는 flex-wrap 속성의 값을 wrap 로 하고, align-items 속성을 설정했을 때의 결과입니다.
속 성 | 설 명 |
---|---|
justify-content | item 을 수평 방향으로 배치.
|
align-content | Item 을 수직 방향으로 플렉스 라인을 정렬. (단, Item 이 두 줄 이상이고, 여백이 있는 flex-wrap 속성이 있을 때만 가능함)
|
align-items | item 을 수직 방향으로 배치. (단, 두 줄 이상의 item 에서만 사용 가능함)
|
justify-content 예제
이 속성은 item 을 수평 방향으로 정렬합니다.display 를 인라인으로 설정하고, 넘치는 경우 flex-wrap 를 wrap 로 설정하여 자동 줄 바꿈하도록 배치한 결과입니다.
<style>
.container1, .container2, .container3, .container4, .container5 {
background-color: #efefef;
width: 150px;
height: 150px;
padding: 10px;
margin: 10px;
display: inline-flex;
flex-wrap: wrap;
}
.container1 { justify-content: flex-start; }
.container2 { justify-content: flex-end; }
.container3 { justify-content: center; }
.container4 { justify-content: space-between; }
.container5 { justify-content: space-around; }
.container1 div, .container2 div, .container3 div, .container4 div, .container5 div {
width: 50px;
border: 1px solid #000;
background-color: yellow;
text-align: center;
}
</style>
<div class="container1">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container2">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container3">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container4">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container5">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
다음 그림은 wrap 를 설정하지 않고 배치한 결과입니다. 줄 바꿈 하지 않았을 때와는 다르게 보여지는 것을 확인할 수 있습니다.
align-content 예제
이 속성은 수직 방향으로 플렉스 라인을 기준으로 정렬합니다.다음 그림에서 알 수 있듯 가상의 선을 따라 컨테이너와 항목이 배치되는 것을 확인할 수 있습니다.
<style>
.container1, .container2, .container3, .container4, .container5 {
background-color: #efefef;
width: 150px;
height: 150px;
padding: 10px;
margin: 10px;
display: inline-flex;
flex-wrap: wrap;
}
.container1 { align-content: stretch; }
.container2 { align-content: flex-end; }
.container3 { align-content: center; }
.container4 { align-content: space-between; }
.container5 { align-content: space-around; }
.container1 div, .container2 div, .container3 div, .container4 div, .container5 div {
width: 50px;
border: 1px solid #000;
background-color: yellow;
text-align: center;
}
</style>
<div class="container1">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container2">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container3">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container4">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container5">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
아래 그림은 flex-wrap 속성이 wrap-reverse 일 때의 결과입니다.
align-items 예제
이 속성은 align-content 속성과 비슷하지만, 플렉스 라인이 아닌 item 을 기준으로 정렬합니다.이 예제는 flex-wrap 속성의 값을 wrap 로 하고, align-items 속성을 설정했을 때의 결과입니다.
<style>
.container1, .container2, .container3, .container4, .container5 {
background-color: #efefef;
width: 170px;
height: 170px;
padding: 10px;
margin: 10px;
display: inline-flex;
flex-wrap: wrap;
}
.container1 { align-items: stretch; }
.container2 { align-items: flex-start; }
.container3 { align-items: flex-end; }
.container4 { align-items: center; }
.container5 { align-items: baseline; }
.container1 div, .container2 div, .container3 div, .container4 div, .container5 div {
width: 50px;
border: 1px solid #000;
background-color: yellow;
text-align: center;
}
</style>
<div class="container1">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container2">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container3">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container4">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
<div class="container5">
<div>A</div><div>B</div><div>C</div><div>D</div><div>E</div>
</div>
0 댓글