Coding Archive

[ HTML & CSS ] CSS background ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€ ๋„ฃ๊ธฐ ๋ณธ๋ฌธ

๐Ÿ’ป Programming/HTML & CSS

[ HTML & CSS ] CSS background ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€ ๋„ฃ๊ธฐ

์ฝ”๋“ฑ์–ด 2023. 3. 7. 20:11

 

 

html์— img ํƒœ๊ทธ ๋ง๊ณ ๋„ backgroud๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค

ํ•ญ์ƒ ์ด๋ฏธ์ง€ํƒœ๊ทธ๋ฅผ ๋”ฐ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๋‹จ์ˆœํžˆ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ปฌ๋Ÿฌ ๊ฐ’๋งŒ ์ฃผ๊ณค ํ–ˆ์—ˆ๋Š”๋ฐ,

์ด๋ฒˆ์— ์•Œ๊ฒŒ ๋œ backgroud ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฏธ์ง€๋ฅผ backgroud๋กœ ์ด๋ฏธ์ง€๋ฅผ ์‰ฝ๊ฒŒ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

๐Ÿ“ background

backgroud๋Š” ๋‹จ์ถ•์†์„ฑ์œผ๋กœ ์•„๋ž˜์˜ ํ•˜์œ„ ์†์„ฑ์„ ํฌํ•จํ•œ๋‹ค.


โœ”๏ธ background ์†์„ฑ ๋ฐ ๊ธฐ๋ณธ๊ฐ’

background-attachment: scroll
background-clip: border-box
background-color: transparent
background-image: none
background-origin: padding-box
background-position: 0% 0%
background-repeat: repeat
background-size: auto auto

 

1๏ธโƒฃ [background-attachment]

๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ๋ทฐํฌํŠธ ๋‚ด์—์„œ ๊ณ ์ •ํ• ์ง€, ์•„๋‹ˆ๋ฉด ์ฝ˜ํ…์ธ ์™€ ํ•จ๊ป˜ ์Šคํฌ๋กคํ• ์ง€ ์ง€์ •

scroll ๋ฐฐ๊ฒฝ ์š”์†Œ ์ž์ฒด์— ๋Œ€ํ•ด ๊ณ ์ •ํ•˜๋ฉฐ, ์š”์†Œ์— ์Šคํฌ๋กค์ด ์กด์žฌํ•ด๋„ ๋ฐฐ๊ฒฝ์€ ํ•จ๊ป˜ ์Šคํฌ๋กค X
fixed ๋ทฐํฌํŠธ์— ๊ณ ์ •
local  ์š”์†Œ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•ด ๊ณ ์ •ํ•˜๋ฉฐ ์Šคํฌ๋กค์ด ์กด์žฌํ•˜๋ฉด ๋ฐฐ๊ฒฝ์€ ์ฝ˜ํ…์ธ ์™€ ํ•จ๊ป˜ ์Šคํฌ๋กค

2๏ธโƒฃ [background-clip] 

๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๊ฐ€ ํ…Œ๋‘๋ฆฌ, ์•ˆ์ชฝ ์—ฌ๋ฐฑ, ์ฝ˜ํ…์ธ  ์ƒ์ž ์ค‘ ์–ด๋””๊นŒ์ง€ ์ฐจ์ง€ํ• ์ง€ ์ง€์ •

 

border-box  ๋ฐฐ๊ฒฝ์ด border ๋ฐ”๊นฅ ๊ฒฝ๊ณ„๊นŒ์ง€ ์ฐจ์ง€
padding-box ๋ฐฐ๊ฒฝ์ด boder ์•ˆ์ชฝ ๊ฒฝ๊ณ„๊นŒ์ง€ ์ฐจ์ง€
content-box ๋ฐฐ๊ฒฝ์ด ์ฝ˜ํ…์ธ  ๋ฐ•์Šค๋กœ ์ž˜๋ฆผ
text ๋ฐฐ๊ฒฝ์ด ํ…์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ž˜๋ฆผ

3๏ธโƒฃ [background-color] 

์š”์†Œ์˜ ๋ฐฐ๊ฒฝ ์ƒ‰ ์ง€์ •

 

4๏ธโƒฃ [background-image]

์š”์†Œ์˜ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ํ•œ ๊ฐœ ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ ์ง€์ •

 

· ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋Š” ์Œ“์ด๊ฒŒ ๋˜๋ฉฐ, ๋งจ ์ฒ˜์Œ ์ง€์ •ํ•œ ์ด๋ฏธ์ง€๊ฐ€ ์ œ์ผ ์œ„์— ์œ„์น˜(์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•  ๋• ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„)

· ํ…Œ๋‘๋ฆฌ๋Š” ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€ ์œ„์—, [background-color]๋Š” ๋ฐ‘์— ๊ทธ๋ ค์ง

· ์š”์†Œ ๋ฐ•์Šค์™€ ํ…Œ๋‘๋ฆฌ์— ๊ด€๋ จํ•˜์—ฌ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทธ๋ฆด์ง€๋Š” [background-clip]๊ณผ [background-origin] CSS ์†์„ฑ์ด ์ •์˜

· ์œ ํšจํ•˜์ง€ ์•Š์€ URI๋ฅผ ์ง€์ •ํ•˜๋Š” ๋“ฑ ์ฃผ์–ด์ง„ ์ด๋ฏธ์ง€๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์—†์„ ๋•Œ none ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌ

 

5๏ธโƒฃ [background-origin]

๋ฐฐ๊ฒฝ์˜ ์›์ ์„ ํ…Œ๋‘๋ฆฌ ์‹œ์ž‘์ , ํ…Œ๋‘๋ฆฌ ๋‚ด๋ถ€, ์•ˆ์ชฝ ์—ฌ๋ฐฑ ๋‚ด๋ถ€ ์ค‘ ํ•˜๋‚˜๋กœ ์ง€์ •

 

*background-attachment๊ฐ€ fixed์ธ ๊ฒฝ์šฐ background-origin์€ ๋ฌด์‹œ๋จ

 

border-box  ๋ฐฐ๊ฒฝ์„ ํ…Œ๋‘๋ฆฌ ๋ฐ•์Šค์— ์ƒ๋Œ€์ ์œผ๋กœ ๋ฐฐ์น˜(border ๋ฐ”๊นฅ ๊ฒฝ๊ณ„์—)
padding-box ๋ฐฐ๊ฒฝ์„ ์•ˆ์ชฝ ์—ฌ๋ฐฑ ๋ฐ•์Šค์— ์ƒ๋Œ€์ ์œผ๋กœ ๋ฐฐ์น˜(border ์•ˆ์ชฝ ๊ฒฝ๊ณ„์—)
content-box ๋ฐฐ๊ฒฝ์„ ์ฝ˜ํ…์ธ  ๋ฐ•์Šค์— ์ƒ๋Œ€์ ์œผ๋กœ ๋ฐฐ์น˜

 

6๏ธโƒฃ [background-position]

๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ์œ„์น˜๋ฅผ ์„ค์ •

 

7๏ธโƒฃ [background-repeat]

๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ๋ฐ˜๋ณต ๋ฐฉ๋ฒ•์„ ์ง€์ •

 

repeat ๋ฐ˜๋ณต
no-repeat ๋ฐ˜๋ณตํ•˜์ง€ ์•Š์Œ
repeat-x  x์ถ•์œผ๋กœ๋งŒ ๋ฐ˜๋ณต
repeat-y y์ถ•์œผ๋กœ๋งŒ ๋ฐ˜๋ณต
space ์š”์†Œ๊ฐ€ ์ž˜๋ฆฌ์ง€ ์•Š์„ ๋งŒํผ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ˜๋ณต
round ๊ฐ€์šฉ ์˜์—ญ์ด ๋Š˜์–ด๋‚˜๋ฉด ๋ฐ˜๋ณต ์ด๋ฏธ์ง€๋„ ๋Š˜์–ด๋‚˜ ์—ฌ๋ฐฑ์„ ๋‚จ๊ธฐ์ง€ ์•Š์Œ

 

8๏ธโƒฃ [background-size]

๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์„ค์ •

 

contain ์ด๋ฏธ์ง€๊ฐ€ ์ž˜๋ฆฌ๊ฑฐ๋‚˜ ์ฐŒ๊ทธ๋Ÿฌ์ง€์ง€ ์•Š๋Š” ํ•œ๋„ ๋‚ด์—์„œ ์ œ์ผ ํฌ๊ฒŒ ์„ค์ •ํ•˜๋ฉฐ, ์—ฌ๋ฐฑ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ
cover ์ด๋ฏธ์ง€๊ฐ€ ์ฐŒ๊ทธ๋Ÿฌ์ง€์ง€ ์•Š๋Š” ํ•œ๋„ ๋‚ด์—์„œ ์ œ์ผ ํฌ๊ฒŒ ์„ค์ •
์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœ ์„ธ๋กœ๋น„๊ฐ€ ์š”์†Œ์™€ ๋‹ค๋ฅด๋‹ค๋ฉด ์ด๋ฏธ์ง€๋ฅผ ์ž˜๋ผ ์š”์†Œ์— ๋งž์ถค
auto ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ์›๋ณธ ํฌ๊ธฐ๋ฅผ ์œ ์ง€
length์™€ percentage  

 

9๏ธโƒฃ [background]

๋‹จ์ถ• ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ƒ‰์ƒ, ์ด๋ฏธ์ง€, ์›์ , ํฌ๊ธฐ, ๋ฐ˜๋ณต ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐฐ๊ฒฝ ์Šคํƒ€์ผ์„ ํ•œ ๋ฒˆ์— ์ง€์ •

background: no-repeat center/80% url("../img/image.png")

background: url("starsolid.gif") #99f repeat-y fixed;

โš ๏ธ background๋Š” ๋‹จ์ถ• ์†์„ฑ์œผ๋กœ,
background-clip๊ณผ ๊ฐ™์€ ๊ฐœ๋ณ„ ์†์„ฑ์„ ๋ณ„๋„๋กœ ์ง€์ •ํ•ด ์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด
๋‹จ์ถ• ์†์„ฑ ๋’ค์— ์ž‘์„ฑ๋ผ์•ผ ํ•จ! โš ๏ธ

div{
	background: black url(img/image.jpg) no-repeat 50% 50% / center;
	background-clip: padding-box;
}

/* ์ž˜๋ชป ์ž‘์„ฑ์˜ˆ์‹œ - ํ›„์ž ์šฐ์„ ์˜ ์›์น™์— ๋”ฐ๋ผ ๋‹จ์ถ•์†์„ฑ์ธ background ์†์„ฑ๋งŒ ์ ์šฉ */
div{
	background-clip: padding-box;
	background: black url(img/image.jpg) no-repeat 50% 50% / center;
}

 


โœ”๏ธ background ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€ ์ฒจ๋ถ€ํ•˜๊ธฐ

๋ฉ”์ธ ์ด๋ฏธ์ง€์™€ ์•„์ด์ฝ˜์„ background ์†์„ฑ์„ ์ด์šฉํ•ด ๋„ฃ์–ด๋ณด๊ธฐ

1
2
<div class="main-img"></div>
<button class="next-btn"></button>
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.main-img {
  background: url(blue.jpg) no-repeat center;
  background-size: cover;
  width: 288px;
  height: 196px;
}
.next-btn {
  background: #29363d url(next.png) no-repeat center;
  background-size: 10px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);
}
cs

 

 
์นด๋“œ ์ƒ๋‹จ์— ๋“ค์–ด๊ฐ€๋Š” ์ด๋ฏธ์ง€์™€ ํ•˜๋‹จ์— ์•„์ด์ฝ˜์„ background ์†์„ฑ์„ ์ด์šฉํ•ด ์ฒจ๋ถ€ํ–ˆ๋‹ค.

 

 

์›นํŽ˜์ด์ง€์— ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์ฃผ๋กœ <img> ํƒœ๊ทธ๋‚˜ CSS background ์†์„ฑ์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ด๋ฏธ์ง€๊ฐ€ ํŽ˜์ด์ง€์˜ ๋ฌธ๋งฅ์ƒ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ์ด๋ฏธ์ง€ ์ตœ์ ํ™” ๋“ฑ์˜ ์—ญํ• ์„ ํ•ด์•ผ ํ•œ๋‹ค๋ฉด

๋ฐฐ๊ฒฝ์ด ์•„๋‹Œ <img> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด,

์ด๋ฏธ์ง€๊ฐ€ ๋ณ„๋‹ค๋ฅธ ์ •๋ณด ์ œ๊ณต์˜ ์—ญํ•  ์—†์ด ์‹œ๊ฐ์ ์ธ ์Šคํƒ€์ผ์˜ ๊ธฐ๋Šฅ๋งŒ์„ ํ•˜๊ฑฐ๋‚˜ ์ตœ์ ํ™”๋ฅผ ๊ณ ๋ คํ•  ์ •๋„์˜ ํฌ๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด

๋ฐฐ๊ฒฝ์œผ๋กœ ๋„ฃ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

Comments