background-size 속성
background-size 속성은 배경 이미지의
크기를 설정합니다. 속성 값으로는
크기 단위
또는 키워드 auto,
cover, contain 중 하나를 사용합니다.
구문
선택자 {
background-size: 값;
}
키워드
| 값 | 설명 |
|---|---|
auto |
배경은 원본 이미지의 실제 크기인 자연스러운 크기를 갖습니다.
한쪽 방향에만 auto가 지정된 경우, 그 방향으로 배경은
비율을 왜곡하지 않도록 조정됩니다.
|
cover |
비율을 유지하면서 이미지를 확대/축소하여 요소 전체를 덮도록 합니다. 이미지는 전체가 들어가려고 하지만 항상 성공하는 것은 아니므로 일부가 잘릴 수 있습니다. 요소는 항상 이미지로 완전히 덮입니다. |
contain |
비율을 유지하면서 이미지를 확대/축소하여 요소 내에 전체가 들어가도록 합니다. 이미지 비율과 요소 크기에 따라 너비 전체를 차지하거나 높이 전체를 차지할 수 있습니다. 일반적으로 요소는 이미지로 완전히 덮이지 않습니다 (대신 이미지는 축소되어도 전체가 항상 보입니다). |
기본값: auto.
사용법
크기 단위와 auto는 다양한 조합으로 사용할 수 있습니다.
예: auto 20px, 30% 20px, auto 30% 등.
이 경우 첫 번째 매개변수는 배경의 너비를,
두 번째 매개변수는 배경의 높이를 설정합니다.
하나의 매개변수만 지정되면 너비와 높이 모두에 동시에 적용됩니다.
예제
현재 배경 이미지는 자연스러운 크기를 갖습니다:
<div id="elem"></div>
#elem {
background-repeat: no-repeat;
background-image: url("bg.png");
border: 1px solid black;
width: 550px;
height: 400px;
}
:
예제
현재 배경 이미지는 300px
by 400px 크기가 됩니다 (이 경우 이미지 비율이 왜곡됨):
<div id="elem"></div>
#elem {
background-size: 300px 400px;
background-repeat: no-repeat;
background-image: url("bg.png");
border: 1px solid black;
width: 400px;
height: 400px;
}
:
예제
현재 배경 이미지는 400px
by 400px 크기가 됩니다 (이 경우 이미지 비율이 왜곡됨):
<div id="elem"></div>
#elem {
background-size: 400px;
background-repeat: no-repeat;
background-image: url("bg.png");
border: 1px solid black;
width: 400px;
height: 400px;
}
:
예제
현재 배경 이미지는 수평 방향으로 400px
크기가 되고, 수직 방향 크기는 비율이 왜곡되지 않도록 조정됩니다:
<div id="elem"></div>
#elem {
background-size: 400px auto;
background-repeat: no-repeat;
background-image: url("bg.png");
border: 1px solid black;
width: 400px;
height: 400px;
}
:
예제
현재 배경 이미지는 수직 방향으로 400px
크기가 되고, 수평 방향 크기는 비율이 왜곡되지 않도록 조정됩니다:
<div id="elem"></div>
#elem {
background-size: auto 400px;
background-repeat: no-repeat;
background-image: url("bg.png");
border: 1px solid black;
width: 400px;
height: 400px;
}
:
예제 . contain 값
contain 값의 동작을 확인하세요:
<div id="elem1" class="elem"></div>
<div id="elem2" class="elem"></div>
<div id="elem3" class="elem"></div>
<div id="elem4" class="elem"></div>
<div id="elem5" class="elem"></div>
<div id="elem6" class="elem"></div>
.elem {
background-size: contain;
background-repeat: no-repeat;
background-image: url("bg.png");
border: 1px solid black;
margin-bottom: 20px;
}
#elem1 {
width: 600px;
height: 500px;
}
#elem2 {
width: 500px;
height: 600px;
}
#elem3 {
width: 400px;
height: 400px;
}
#elem4 {
width: 300px;
height: 400px;
}
#elem5 {
width: 200px;
height: 400px;
}
#elem6 {
width: 300px;
height: 100px;
}
:
예제 . cover 값
cover 값의 동작을 확인하세요:
<div id="elem1" class="elem"></div>
<div id="elem2" class="elem"></div>
<div id="elem3" class="elem"></div>
<div id="elem4" class="elem"></div>
<div id="elem5" class="elem"></div>
<div id="elem6" class="elem"></div>
.elem {
background-size: cover;
background-repeat: no-repeat;
background-image: url("bg.png");
border: 1px solid black;
margin-bottom: 20px;
}
#elem1 {
width: 600px;
height: 500px;
}
#elem2 {
width: 500px;
height: 600px;
}
#elem3 {
width: 400px;
height: 400px;
}
#elem4 {
width: 300px;
height: 400px;
}
#elem5 {
width: 200px;
height: 400px;
}
#elem6 {
width: 300px;
height: 100px;
}
:
예제 . cover 동작 개선
cover 값의 동작은
background-position 속성으로
이미지를 중앙 정렬하여 개선할 수 있습니다
(이 경우 말의 뒷부분이 아니라 머리 부분이 보이는 영역에 들어오게 됨):
<div id="elem1" class="elem"></div>
<div id="elem2" class="elem"></div>
<div id="elem3" class="elem"></div>
<div id="elem4" class="elem"></div>
<div id="elem5" class="elem"></div>
<div id="elem6" class="elem"></div>
.elem {
background-position: center;
background-size: cover;
background-repeat: no-repeat;
background-image: url("bg.png");
border: 1px solid black;
margin-bottom: 20px;
}
#elem1 {
width: 600px;
height: 500px;
}
#elem2 {
width: 500px;
height: 600px;
}
#elem3 {
width: 400px;
height: 400px;
}
#elem4 {
width: 300px;
height: 400px;
}
#elem5 {
width: 200px;
height: 400px;
}
#elem6 {
width: 300px;
height: 100px;
}
:
같이 보기
-
배경에 대한 단축 속성인
background속성