bootstrap agency 반응형 홈페이지 따라하기
github소스코드
<container>
에 고정 넓이값을 주고 margin: 0 auto;
로 좌우 중앙정렬을 한다.flex-wrap
을 이용해 자식 요소들의 width값이 부모 요소의 width값을 넘어갈 경우 줄바꿈을 하도록 한다.margin-bottom
값을 조정해준다..container {
width: 1140px;
margin: 0 auto;
background-color: silver;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.container .column {
width: 355px;
background-color: #ffffff;
border: solid 2px black;
margin-bottom: 10px;
}
.container .column:nth-child(4),
.container .column:nth-child(5),
.container .column:nth-child(6) {
margin-bottom: 0;
}
@media (min-width: 540px) and (max-width:720px) {
.container {
width: 720px;
}
.container .column:nth-child(4) {
margin-bottom: 10px;
}
}
모바일 버전의 경우 width에 비율값을 이용하는 것을 보고 처음부터 width값을 비율로 설정하는 것도 한번 시도해보았다.
1. 부모 태그 <container>
의 width를 100%로 설정하고 내부 요소들은 공백을 고려해서 width를 33%로 만들어주었다. 그랬더니 flexwrap:wrap
에 의해 의도한 대로 한 줄에 3개씩 요소가 들어갔다.
2. @media
로 인해 브라우저 넓이가 줄어들어도 부모 태그는 전체 브라우저 넓이의 100%를 그대로 차지하면 되기에 container의 넓이는 조정하지 않았다. 대신 내부 요소 column의 넓이를 비율값으로 정해주었다.
.container {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.container .column {
width: 33%;
border: solid 2px black;
margin-bottom: 10px;
}
@media (min-width: 540px) and (max-width:720px) {
.container .column {
width: 49%;
}
.container .column:nth-child(4) {
margin-bottom: 10px;
}
}
@media (min-width: 320px) and (max-width: 539px) {
.container {
box-sizing: border-box;
width: 100%;
padding: 0 20px;
}
.container .column {
width: 100%;
}
.container .column:nth-child(4),
.container .column:nth-child(5) {
margin-bottom: 10px;
}
}
vertical-align: middle
을 주면 해결된다고 해서 지난주 코드를 수정했다. 이전 영상에서도 나온 적이 있었는데 내가 까먹었던 것이다.ㅠㅠ오늘은 이전 영상들에서도 배웠던 flexwrap
이나 이미지의 아래 공백을 없애는 법 등 실전 팁들을 다시 한 번 상기할 수 있는 시간이었다. 일지를 쓰면서 나름 돌아보긴 하지만, 학문을 공부할 때처럼 실시간으로 필기하는 공부가 아니다보니 일지를 쓸 때도 그날 배운 내용에 대해 빠뜨리는 것이 있었다. 꾸준한 실습을 통해 들은 것을 직접 사용해보는 시간이 많이 필요할 것 같다.