CSS ์์ฑ 12. background
โ๏ธ ํด๋น ๊ธ์ ํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์์์ HTML & CSS, SASS(SCSS) Part์ ๋ฐ์์ ๊ฐ์ฌ๋์ ๊ฐ์์๋ฃ๋ฅผ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
background
#
์์์ ๋ฐฐ๊ฒฝ์ ์ค์ - ๋จ์ถ ์์ฑ
#
์์ฑ ๊ฐ๊ฐ | ์๋ฏธ | ๊ธฐ๋ณธ๊ฐ |
---|---|---|
background-color | ๋ฐฐ๊ฒฝ ์์ | transparent |
background-image | ํ๋ ์ด์์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง | none |
background-repeat | ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ๋ฐ๋ณต | repeat |
background-position | ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ์์น | 0 0 |
background-attachment | ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ์คํฌ๋กค ์ฌ๋ถ(ํน์ฑ) | scroll |
#
์ฌ์ฉ๋ฒbackground: ์์ ์ด๋ฏธ์ง๊ฒฝ๋ก ๋ฐ๋ณต ์์น ์คํฌ๋กคํน์ฑ;
.box1 {background: red url("../img/image.jpg") no-repeat left top scroll;/* ์์ ์ด๋ฏธ์ง๊ฒฝ๋ก ๋ฐ๋ณต ์์น ์คํฌ๋กคํน์ฑ */}.box2 {background: url("../img/image.jpg") no-repeat right 100px;/* ์ด๋ฏธ์ง๊ฒฝ๋ก ๋ฐ๋ณต ์์น */}.box3 {background: red;/* ์์ */}
background-color
#
์์์ ๋ฐฐ๊ฒฝ ์์์ ์ง์ - ๊ฐ๋ณ ์์ฑ
#
์์ฑ ๊ฐ๊ฐ | ์๋ฏธ | ๊ธฐ๋ณธ๊ฐ |
---|---|---|
์์ | ์์์ ๋ฐฐ๊ฒฝ ์์ | |
transparent | ํฌ๋ช | transparent |
โ๏ธ ๊ธฐ๋ณธ๊ฐ์ด transparent ์ด๊ธฐ ๋๋ฌธ์ ์์์ ์ฌ์ด์ฆ๋ง ์ค์ ํ ๊ฒฝ์ฐ ๋ณด์ด์ง ์์๋ค.
#
์์ <div></div>
div {width: 200px;height: 100px;background-color: tomato;}
background-image
#
์์์ ๋ฐฐ๊ฒฝ์ ํ๋ ์ด์์ ์ด๋ฏธ์ง๋ฅผ ์ฝ์ - ๊ฐ๋ณ ์์
#
์์ฑ ๊ฐ๊ฐ | ์๋ฏธ | ๊ธฐ๋ณธ๊ฐ |
---|---|---|
none | ์ด๋ฏธ์ง ์์ | none |
url("๊ฒฝ๋ก") | ์ด๋ฏธ์ง ๊ฒฝ๋ก(URL) |
#
์ฌ์ฉ๋ฒbackground-image: url("๊ฒฝ๋ก");
.box {background-image: url("../img/image.jpg");width: 120px;height: 80px;}.box1 {/* ๊ฐ๋ณ ์์ฑ */background-image: url("../img/image1.jpg"),url("../img/image2.jpg"),url("../img/image3.jpg");}.box2 {/* ๋จ์ถ ์์ฑ */background: url("../img/image1.jpg") no-repeat,url("../img/image2.jpg") no-repeat 100px 50px,url("../img/image3.jpg") repeat-x;}
โ๏ธ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ์ฝ์ ์, ์์์ ํฌ๊ธฐ๊ฐ ์ค์ ๋์ด ์์ด์ผ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๊ฐ ๋ณด์ผ ์ ์๋ค.โ๏ธ ํ๋ ์ด์์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ์ฝ์ ํ ๊ฒฝ์ฐ , ๋ก ๊ตฌ๋ถํ๋ค. ๋จผ์ ์์ฑ๋ ์ด๋ฏธ์ง๊ฐ ๋ ์์ ์์ธ๋ค. ์ด๋ฐ โ๋ค์ค ๋ฐฐ๊ฒฝ ์ด๋ฏธ์งโ๋ IE8 ์ดํ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์๋ค.
background-repeat
#
๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ๋ฐ๋ณต์ ์ค์ - ๊ฐ๋ณ ์์
#
์์ฑ ๊ฐ๊ฐ | ์๋ฏธ | ๊ธฐ๋ณธ๊ฐ |
---|---|---|
repeat | ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ์์ง, ์ํ์ผ๋ก ๋ฐ๋ณต | repeat |
repeat-x | ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ์ํ์ผ๋ก ๋ฐ๋ณต | |
repeat-y | ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ์์ง์ผ๋ก ๋ฐ๋ณต | |
no-repeat | ๋ฐ๋ณต ์์ |
#
์์ <div></div>
.box {background-image:url("https://heropy.blog/css/images/logo.png");background-size: 100px;background-repeat: no-repeat;width: 550px;height: 300px;border: 2px dashed lightgray;}
background-position
#
๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ์์น๋ฅผ ์ค์ - ๊ฐ๋ณ ์์
#
์์ฑ ๊ฐ๊ฐ | ์๋ฏธ | ๊ธฐ๋ณธ๊ฐ |
---|---|---|
% | ์ผ์ชฝ ์๋จ ๋ชจ์๋ฆฌ๋ 0% 0% , ์ค๋ฅธ์ชฝ ํ๋จ ๋ชจ์๋ฆฌ๋ 100% 100% | 0% 0% |
๋ฐฉํฅ | ๋ฐฉํฅ์ ์ ๋ ฅํ์ฌ ์์น ์ค์ top , bottom , left , right , center | |
๋จ์ | px , em , cm ๋ฑ ๋จ์๋ก ์ง์ |
#
์ฌ์ฉ๋ฒ๊ฐ์ด ๋ฐฉํฅ์ผ ๊ฒฝ์ฐ
background-position: ๋ฐฉํฅ1 ๋ฐฉํฅ2;
๊ฐ์ด๋ฐ์ ์์น์ํฌ ๋๋ center center; ๋ก ํด๋ ๋์ง๋ง center ๋ฅผ ํ๋ฒ๋ง ์ ๋ ฅํด๋๊ฐ๋ฅํ๋ค.
๊ฐ์ด ๋จ์( %
, px
๋ฑ)์ผ ๊ฒฝ์ฐ
background-position: X์ถ Y์ถ;
โ๏ธ ๊ฐ์ด ๋ฐฉํฅ์ผ ๊ฒฝ์ฐ์๋ ์์๋ฅผ ๋ฐ๊ฟ๋ ์๊ด์ด ์์ง๋ง ๊ฐ์ด ๋จ์์ผ ๊ฒฝ์ฐ์๋ ์์๊ฐ X์ถ, Y์ถ์ผ๋ก ์ ํด์ ธ ์๋ค.
๋จ์์ ๋ฐฉํฅ์ ํผํฉํด์ ์ฌ์ฉํ ๊ฒฝ์ฐ
background-position: X์ถ(left, right, center) Y์ถ(top, bottom, center);
โ๏ธ ๋จ์์ ๋ฐฉํฅ์ ํผํฉํด์ ์ฌ์ฉํ ๊ฒฝ์ฐ left , right ์ ๊ฐ์ X์ถ ๋ฐฉํฅ์ ์ฒซ ๋ฒ์งธ๋ก, top , bottom ๊ฐ์ Y์ถ ๋ฐฉํฅ์ ๋ ๋ฒ์งธ๋ก ์์ฑํด์ผ ํ๋ค. center ๋ X์ถ๊ณผ Y์ถ์์น์ ๋ฐ๋ผ ๋์ํ๋ค.
#
์์ <div class="box"></div>
.box {width: 550px;height: 300px;border: 2px dashed lightgray;background-image:url("https://heropy.blog/css/images/logo.png");background-size: 100px;background-repeat: no-repeat;background-position: center;}
background-attachment
#
์์๊ฐ ์คํฌ๋กค๋ ๋ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ์คํฌ๋กค ์ฌ๋ถ(ํน์ฑ) ์ค์ - ๊ฐ๋ณ ์์ฑ
#
์์ฑ ๊ฐ๊ฐ | ์๋ฏธ | ๊ธฐ๋ณธ๊ฐ |
---|---|---|
scroll | ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๊ฐ ์์๋ฅผ ๋ฐ๋ผ์ ๊ฐ์ด ์คํฌ๋กค ๋จ | scroll |
fixed | ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๊ฐ ๋ทฐํฌํธ(viewport)์ ๊ณ ์ ๋์ด, ์์์ ๊ฐ์ด ์คํฌ๋กค๋์ง ์์ | |
local | ์์ ๋ด ์คํฌ๋กค ์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๊ฐ ๊ฐ์ด ์คํฌ๋กค ๋จ |
#
์์ fixed
<section class="section1"></section><section class="section2"></section><section class="section3"></section><section class="section4"></section><section class="section5"></section>
section {height: 300px;border: 2px dashed lightgray;}.section2 {background-image: url("https://www.istarbucks.co.kr/common/img/main/fav_prod_bg_new.jpg");background-size: auto 100%;background-position: right bottom;background-attachment: fixed;}.section3 {background-image:url("https://www.istarbucks.co.kr/common/img/main/reserve_bg.jpg");background-size: auto 100%;background-position: right bottom;background-attachment: fixed;}
local
<div class="container"><div class="for-scroll"></div></div>
.container {width: 400px;height: 300px;border: 4px solid red;margin: 50px;overflow: auto;background-image: url("https://heropy.blog/css/images/logo.png");background-size: 50%;background-attachment: local;}.for-scroll {height: 2000px;}
์ฌ์ฉ ๋น๋ ๋ฎ์.
background-size
#
๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ์ง์ - ๊ฐ๋ณ ์์ฑ
#
์์ฑ ๊ฐ๊ฐ | ์๋ฏธ | ๊ธฐ๋ณธ๊ฐ |
---|---|---|
auto | ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๊ฐ ์๋์ ํฌ๊ธฐ๋ก ํ์๋จ | auto |
๋จ์ | - px , em , % ๋ฑ ๋จ์๋ก ์ง์ - width height ํํ๋ก ์ ๋ ฅ ๊ฐ๋ฅ(E.g. 120px 370px )- width ๋ง ์ ๋ ฅํ๋ฉด ๋น์จ์ ๋ง๊ฒ ์ง์ ๋จ(E.g. 120px ) | |
cover | - ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ํฌ๊ธฐ ๋น์จ์ ์ ์งํ๋ฉฐ, ์์์ ๋ ๋์ ๋๋น์ ๋ง์ถฐ์ง- ์ด๋ฏธ์ง๊ฐ ์๋ฆด ์ ์์ | |
contain | - ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ํฌ๊ธฐ ๋น์จ์ ์ ์งํ๋ฉฐ, ์์์ ๋ ์งง์ ๋๋น์ ๋ง์ถฐ์ง- ์ด๋ฏธ์ง๊ฐ ์๋ฆฌ์ง ์์ |
#
์์ <div class="box"></div>
.box {width: 400px;height: 300px;border: 2px solid red;margin: 50px;background-image:url("https://heropy.blog/css/images/logo.png");/* 500x500 */background-repeat: no-repeat;background-size: contain;}
#
Referenceํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์ - HTML & CSS, SASS(SCSS) Part by ParkYoungWoong