1.4.1 Container Query
약 5분
읽기 설정
글자 크기
줄 간격
글꼴
1.4.1 Container Query
Container Query란?
Container Query는 CSS의 혁신적인 기능으로, 부모 컨테이너의 크기에 따라 스타일을 적용할 수 있게 해줍니다. 이는 기존의 미디어 쿼리와는 다른 접근 방식을 제공합니다. 이전까지는 주로 viewport의 크기에 기반한 디자인만 가능했으나, Container Query를 통해 구성요소의 크기를 기준으로 반응형 디자인을 구현할 수 있습니다.
기본 사용법
Container Query는 @container 규칙을 사용하여 설정합니다. 아래의 예제를 통해 사용법을 살펴보겠습니다.
@container (min-width: 500px) {
.card {
background-color: lightblue;
padding: 20px;
border-radius: 8px;
}
}
위 코드에서 .card 클래스의 요소는 부모 컨테이너의 너비가 500px 이상일 때만 특정 스타일을 적용받습니다. 이처럼 Container Query를 이용하면 디바이스가 아닌 컨테이너 자체의 크기에 따라 CSS 속성을 조정할 수 있습니다.
예제
아래는 Container Query를 활용한 간단한 카드 레이아웃 예제입니다. 이 예제에서는 카드의 부모 컨테이너가 변화함에 따라 카드 디자인이 어떻게 바뀌는지 확인할 수 있습니다.
<div class="container">
<div class="card">Card 1</div>
<div class="card">Card 2</div>
</div>
.container {
container-type: inline-size;
}
.card {
width: 100%;
margin: 10px 0;
background-color: lightgray;
transition: background-color 0.3s;
}
@container (min-width: 400px) {
.card {
background-color: lightblue;
padding: 10px;
}
}
@container (min-width: 600px) {
.card {
background-color: lightcoral;
padding: 15px;
}
}
이 코드는 .container 요소에 container-type: inline-size;를 설정하여, 자식 요소인 .card의 스타일을 컨테이너의 크기에 따라 변경합니다.
실습
- 위의 HTML과 CSS 코드를 복사하여 본인의 코드 편집기에 붙여넣기 하세요.
- 브라우저에서 결과를 확인한 후, 컨테이너의 크기를 조정하여 카드 스타일이 어떻게 변화하는지 관찰하세요.
- 카드를 더 추가해 보고, 다양한 Container Query를 사용하여 디자인을 바꿔 보세요.
- 최종적으로, 자신만의 Container Query를 활용한 디자인을 만들어 보세요!
정리
Container Query는 CSS의 진일보한 개념으로, 부모 컨테이너의 크기를 기준으로 스타일을 적용할 수 있습니다. 이는 더 유연하고 강력한 반응형 디자인을 구현하는 데 도움을 줍니다. 이번 강의를 통해 최신 CSS 기능인 Container Query의 기본 개념과 실제 사용법을 익혔으니, 앞으로의 프로젝트에 잘 활용해보기를 바랍니다.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.