Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS 미디어 쿼리로 화면 크기에 따라 열 너비 동적으로 변경하는 방법

화면 크기에 따라 열 너비 변경하기

반응형 웹 페이지를 제작할 때는 화면(뷰포트) 크기에 맞춰 열(column)의 너비를 유동적으로 조절해야 하는 경우가 많습니다. CSS의 미디어 쿼리(@media)를 활용하면 특정 화면 너비 조건에서 서로 다른 스타일을 적용할 수 있어, 데스크톱과 모바일 환경 모두에 최적화된 레이아웃을 손쉽게 구현할 수 있습니다.

아래 예제에서는 기본 상태에서 요소가 화면의 50% 너비를 차지하다가, 화면 너비가 700px 이하로 줄어들면 100%로 확장되도록 구현했습니다.

예제 코드

<!DOCTYPE html>
<html>
<head>
<style>
body {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.sample {
    width: 50%;
    background-color: lightblue;
    height: 200px;
    font-size: 18px;
}
@media only screen and (max-width: 700px) {
    body {
        margin: 0;
        padding: 0;
    }
    .sample {
        width: 100%;
    }
}
</style>
</head>
<body>
<h1>Changing column width based on screen size</h1>
<div class="sample">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Quod, maiores!</div>
<h3>Resize the browser window to 700px and below to see the above div width change to 100%</h3>
</body>
</html>

코드 설명

  • .sample 클래스: 요소의 기본 너비를 50%로 지정하고, 배경색(lightblue), 높이(200px), 글꼴 크기(18px)를 함께 설정합니다.
  • @media only screen and (max-width: 700px): 화면 너비가 700px 이하일 때만 해당 블록 안의 스타일이 적용됩니다.
  • 미디어 쿼리 내부에서 .sample의 width를 100%로 변경하여, 좁은 화면에서는 요소가 전체 너비를 차지하도록 합니다.

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

CSS 미디어 쿼리로 화면 크기에 따라 열 너비 동적으로 변경하는 방법

브라우저 창 크기를 700px 이하로 줄이면 아래 그림처럼 div 요소의 너비가 100%로 변경되는 것을 확인할 수 있습니다.

CSS 미디어 쿼리로 화면 크기에 따라 열 너비 동적으로 변경하는 방법