background-size
์์ฑ์ ์์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ์ค์ ํฉ๋๋ค. ๊ทธ๋๋ก ๋๊ฑฐ๋, ๋๋ฆฌ๊ณ ์ค์ด๊ฑฐ๋, ๊ณต๊ฐ์ ๋ง์ถ ์ ์์ต๋๋ค.The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ก ๋ฎ์ด์ง ์์ ๊ณต๊ฐ์ background-color
์์ฑ์ผ๋ก ์ฑ์์ง๊ณ , ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์์ ํฌ๋ช
ํ๊ฑฐ๋ ๋ฐํฌ๋ช
ํ ๋ถ๋ถ์ ํตํด์๋ ๋ฐฐ๊ฒฝ์์ด ๋ณด์
๋๋ค.
๊ตฌ๋ฌธ
/* ํค์๋ ๊ฐ */
background-size: cover;
background-size: contain;
/* ๋จ์ผ ๊ฐ ๊ตฌ๋ฌธ */
/* ์ด๋ฏธ์ง ๋๋น (๋์ด๋ 'auto'๊ฐ ๋จ) */
background-size: 50%;
background-size: 3.2em;
background-size: 12px;
background-size: auto;
/* ๋ ๊ฐ ๊ฐ ๊ตฌ๋ฌธ */
/* ์ฒซ ๋ฒ์งธ ๊ฐ: ์ด๋ฏธ์ง ๋๋น, ๋ ๋ฒ์งธ ๊ฐ: ์ด๋ฏธ์ง ๋์ด */
background-size: 50% auto;
background-size: 3em 25%;
background-size: auto 6px;
background-size: auto auto;
/* ๋ค์ค ๋ฐฐ๊ฒฝ */
background-size: auto, auto; /* `auto auto`์ ํผ๋ํ์ง ๋ง ๊ฒ */
background-size: 50%, 25%, 25%;
background-size: 6px, auto, contain;
/* ์ ์ญ ๊ฐ */
background-size: inherit;
background-size: initial;
background-size: unset;
background-size
์์ฑ์ ๋ค์ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ์ง์ ํ ์ ์์ต๋๋ค.
contain
๋๋cover
ํค์๋ ๊ฐ ์ฌ์ฉ.- ๋๋น ๊ฐ๋ง ์ฌ์ฉ. ๋์ด๋ ์๋์ผ๋ก
auto
๊ฐ ๋ฉ๋๋ค. - ๋๋น์ ๋์ด ๊ฐ์ ๋ชจ๋ ์ฌ์ฉ. ์ฒซ ๋ฒ์งธ ๊ฐ์ ๋๋น๋ก, ๋ ๋ฒ์งธ ๊ฐ์ ๋์ด๋ฅผ ์ค์ ํฉ๋๋ค. ๊ฐ ๊ฐ์
<length>
,<percentage>
,auto
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ๋ฌ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ์ฌ์ด์ฆ๋ฅผ ์ง์ ํ๋ ค๋ฉด ๊ฐ๊ฐ์ ๊ฐ์ ์ผํ๋ก ๊ตฌ๋ถํ์ธ์.
๊ฐ
contain
- ์ด๋ฏธ์ง๊ฐ ์๋ฆฌ๊ฑฐ๋ ์ฐ๊ทธ๋ฌ์ง์ง ์๋ ํ๋ ๋ด์์ ์ ์ผ ํฌ๊ฒ ์ค์ .
cover
- ์ด๋ฏธ์ง๊ฐ ์ฐ๊ทธ๋ฌ์ง์ง ์๋ ํ๋ ๋ด์์ ์ ์ผ ํฌ๊ฒ ์ค์ . ์ด๋ฏธ์ง์ ๊ฐ๋ก์ธ๋ก๋น๊ฐ ์์์ ๋ค๋ฅด๋ค๋ฉด ์ด๋ฏธ์ง๋ฅผ ์ธ๋ก ๋๋ ๊ฐ๋ก๋ฐฉํฅ์ผ๋ก ์๋ผ๋ด์ด ๋น ๊ณต๊ฐ์ด ์๊ธฐ์ง ์๋๋ก ์ค์ ํฉ๋๋ค.
auto
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ์๋ณธ ํฌ๊ธฐ๋ฅผ ์ ์ง.
<length>
- ์๋ณธ ํฌ๊ธฐ์ ๋๋น/๋์ด๋ฅผ ์ฃผ์ด์ง ๊ฐ์ผ๋ก ๋๋ฆฌ๊ฑฐ๋ ์ค์. ์์๋ ์ ํจํ์ง ์์ต๋๋ค.
<percentage>
- Stretches the image in the corresponding dimension to the specified percentage of the background positioning area. The background positioning area is determined by the value of
background-origin
(by default, the padding box). However, if the background'sbackground-attachment
value isfixed
, the positioning area is instead the entire viewport. Negative values are not allowed.
์๋ณธ ํฌ๊ธฐ์ ๋น์จ
The computation of values depends on the image's intrinsic dimensions (width and height) and intrinsic proportions (width-to-height ratio). These attributes are as follows:
- A bitmap image (such as JPG) always has intrinsic dimensions and proportions.
- A vector image (such as SVG) does not necessarily have intrinsic dimensions. If it has both horizontal and vertical intrinsic dimensions, it also has intrinsic proportions. If it has no dimensions or only one dimension, it may or may not have proportions.
- CSS
<gradient>
s have no intrinsic dimensions or intrinsic proportions. - Background images created with the
element()
function use the intrinsic dimensions and proportions of the generating element.
Note: The behavior of <gradient>
s changed in Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5). Before this, they were treated as images with no intrinsic dimensions, but with intrinsic proportions identical to that of the background positioning area.
Note: In Gecko, background images created using the element()
function are currently treated as images with the dimensions of the element, or of the background positioning area if the element is SVG, with the corresponding intrinsic proportion. This is non-standard behavior.
Based on the intrinsic dimensions and proportions, the rendered size of the background image is computed as follows:
- If both components of
background-size
are specified and are notauto
: - The background image is rendered at the specified size.
- If the
background-size
iscontain
orcover
: - While preserving its intrinsic proportions, the image is rendered at the largest size contained within, or covering, the background positioning area. If the image has no intrinsic proportions, then it's rendered at the size of the background positioning area.
- If the
background-size
isauto
orauto auto
: -
- If the image has both horizontal and vertical intrinsic dimensions, it's rendered at that size.
- If the image has no intrinsic dimensions and has no intrinsic proportions, it's rendered at the size of the background positioning area.
- If the image has no intrinsic dimensions but has intrinsic proportions, it's rendered as if
contain
had been specified instead. - If the image has only one intrinsic dimension and has intrinsic proportions, it's rendered at the size corresponding to that one dimension. The other dimension is computed using the specified dimension and the intrinsic proportions.
- If the image has only one intrinsic dimension but has no intrinsic proportions, it's rendered using the specified dimension and the other dimension of the background positioning area.
-
Note: SVG images have a
preserveAspectRatio
attribute that defaults to the equivalent ofcontain
. In Firefox 43, as opposed to Chrome 52, an explicitbackground-size
causespreserveAspectRatio
to be ignored. - If the
background-size
has oneauto
component and one non-auto
component: -
- If the image has intrinsic proportions, it's stretched to the specified dimension. The unspecified dimension is computed using the specified dimension and the intrinsic proportions.
- If the image has no intrinsic proportions, it's stretched to the specified dimension. The unspecified dimension is computed using the image's corresponding intrinsic dimension, if there is one. If there is no such intrinsic dimension, it becomes the corresponding dimension of the background positioning area.
Note: Background sizing for vector images that lack intrinsic dimensions or proportions is not yet fully implemented in all browsers. Be careful about relying on the behavior described above, and test in multiple browsers to be sure the results are acceptable.
ํ์ ๊ตฌ๋ฌธ
<bg-size>#where
<bg-size> = [ <length-percentage> | auto ]{1,2} | cover | contain
where
<length-percentage> = <length> | <percentage>
์์
Please see Scaling background images for examples.
์ฐธ๊ณ
If you use a <gradient>
as the background and specify a background-size
to go with it, it's best not to specify a size that uses a single auto
component, or is specified using only a width value (for example, background-size: 50%
). Rendering of <gradient>
s in such cases changed in Firefox 8, and at present is generally inconsistent across browsers, which do not all implement rendering in full accordance with the CSS3 background-size
specification and with the CSS3 Image Values gradient specification.
.gradient-example {
width: 50px;
height: 100px;
background-image: linear-gradient(blue, red);
/* Not safe to use */
background-size: 25px;
background-size: 50%;
background-size: auto 50px;
background-size: auto 50%;
/* Safe to use */
background-size: 25px 50px;
background-size: 50% 50%;
}
Note that it's particularly not recommended to use a pixel dimension and an auto
dimension with a <gradient>
, because it's impossible to replicate rendering in versions of Firefox prior to 8, and in browsers not implementing Firefox 8's rendering, without knowing the exact size of the element whose background is being specified.
๋ช ์ธ
Specification | Status | Comment |
---|---|---|
CSS Backgrounds and Borders Module Level 3 The definition of 'background-size' in that specification. |
Candidate Recommendation | Initial definition. |
์ด๊ธฐ๊ฐ | auto auto |
---|---|
์ ์ฉ๋์ | all elements. It also applies to ::first-letter and ::first-line . |
์์ | no |
Percentages | relative to the background positioning area |
Computed value | as specified, but with relative lengths converted into absolute lengths |
Animation type | repeatable list of simple list of length, percentage, or calc |
๋ธ๋ผ์ฐ์ ํธํ์ฑ
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.