-
[CSS] ์์/๋ฐฐ๊ฒฝ ๊ด๋ จ ์คํ์ผ๊ณผ ์์ ๐ FrontEnd/HTML & CSS 2022. 5. 20. 22:20
์์ํ๋ฉด์
์์, ๋ฐฐ๊ฒฝ๊ณผ ๊ด๋ จ๋ ์คํ์ผ์ ์์ ์ ํจ๊ป ๊ณต๋ถํฉ๋๋ค.
1. ์น์์ ์์ ํํํ๊ธฐ
(1) 16์ง์ ํ๊ธฐ๋ฒ
- #ffffff ์ฒ๋ผ #๊ณผ ํจ๊ป 6์๋ฆฌ์ 16์ง์๋ก ํ์ํฉ๋๋ค.
- ์์์๋ถํฐ ๋ ์๋ฆฌ์ฉ ๋นจ๊ฐ, ์ด๋ก, ํ๋์ ์์ ๋๋ค.
- ํ๋๋ ์์ด์ง ์์์ ๋๋ 00, ๊ฐ๋ ์์์ ๋๋ ff๋ก ํ์ํฉ๋๋ค.
- ์ฌ์ฉํ ์ ์๋ ๊ฐ์ 000000(๊ฒ์์)์์๋ถํฐ ffffff(ํฐ์)๊น์ง์ ๋๋ค.
/* ์ */ p { color: #000000; /* ๊ธ์์ ๊ฒ์ */ } .accent { color: #ff0000; /* accent ํด๋์ค ์คํ์ผ์ ์ ๋นจ๊ฐ */ }
(2) rgb์ rgba ํ๊ธฐ๋ฒ
- color: rgb(255, 0, 0) ์ฒ๋ผ ์ธ ์๋ฆฌ์ ์ซ์๋ก ํ์ํฉ๋๋ค.
- ์ ์ซ์๋ถํฐ ๋นจ๊ฐ, ์ด๋ก, ํ๋์ ์์ ๋๋ค.
- ํ๋๋ ์์ด์ง ์์์ ๋๋ 0, ๊ฐ๋ ์์์ ๋๋ 255๋ก ํ์ํฉ๋๋ค.
- ํฌ๋ช ๋๋ฅผ ์กฐ์ ํ ๋๋ color: rgb(255, 0, 0, .3) ์ฒ๋ผ ๋ง์ง๋ง์ ์ํ ๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
- ์ํ ๊ฐ์ ๋ถํฌ๋ช
๋๋ฅผ ๋ํ๋ด๋ ๊ฐ์ผ๋ก 0~1 ๊ฐ ์ค์์ ์ฌ์ฉํฉ๋๋ค.
- (1์ ๋ถํฌ๋ช , 0์ ์์ ํฌ๋ช )
/* ์ */ #box1 { background-color: rgb(255, 0, 0); /* box1 ์ด๋ผ๋ ์คํ์ผ์ ๋ฐฐ๊ฒฝ์์ ๋นจ๊ฐ ๊ณ์ด */ }
/* ๊ธฐ๋ณธํ */ rgba(red ๊ฐ, green ๊ฐ, blue ๊ฐ, alpha ๊ฐ); hsla(hue ๊ฐ, saturation ๊ฐ, lightness ๊ฐ, alpha ๊ฐ);
- ํฌ๋ช ๋๋ฅผ ์กฐ์ ํ ๋๋ ๋ง์ง๋ง์ ์ํ๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
- ์ํ๊ฐ์ ๋ถํฌ๋ช ๋๋ฅผ ๋ํ๋ด๋ ๊ฐ์ผ๋ก 0~1 ๊ฐ ์ค์์ ์ฌ์ฉํฉ๋๋ค. (1์ ๋ถํฌ๋ช , 0์ ์์ ํฌ๋ช )
/* ์ : ๋ฐํฌ๋ช ํ ๋นจ๊ฐ์ */ rgba(255,0,0,0.5) /* ๋๋ */ rgba(255,0,0,.5) /* ๋๋ */ hsla(360,100%,50%,0.5)
(3) hsl๊ณผ hsla ํ๊ธฐ๋ฒ
- color: hsl(240, 100%, 50%) ์ฒ๋ผ ์ธ ์๋ฆฌ์ ์ซ์๋ก ํ์ํฉ๋๋ค.
- ์์ ์ซ์๋ถํฐ ์์(hue), ์ฑ๋(saturation), ๋ฐ๊ธฐ(light)์ ์ ์ ๋๋ค.
/* ์ */ #area2 { background: hsl(360, 100%, 75%); /* ์์์ ๋นจ๊ฐ, ์ฑ๋ 100%, ๋ฐ๊ธฐ 75%์ธ ์ */ }
(4) ์์ ์ด๋ฆ ํ๊ธฐ๋ฒ
- red๋ yellow, black ์ฒ๋ผ ์ ์๋ ค์ง ์์ ์ด๋ฆ์ผ๋ก ํ์ํฉ๋๋ค.
(1) ~ (4) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>Color in Web</title> <style> body { background: hsl(240, 1000%, 75%); } .text1 { color: #ffffff; } .text2 { color: rgb(255,255,255); } .text3 { color: rgba(255,255,255,0.2); } .text4 { color: white; } </style> </head> <body> <h1 class="text1">์์</h1> <h1 class="text2">์์</h1> <h1 class="text3">์์</h1> <h1 class="text4">์์</h1> </body> </html>
+ ์์ ์ถ์ถ ์ฌ์ดํธ ์ด์ฉํ๊ธฐ
- Color Picker ์ฌ์ดํธ๋ฅผ ์ด์ฉํด์ ์ํ๋ ์์์ ์ถ์ถํฉ๋๋ค.
- ๊ตฌ๊ธ์ Color Picker ์ ๊ฒ์ํด๋ ์ ๊ณตํฉ๋๋ค.
2. ๋ฐฐ๊ฒฝ์๊ณผ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง
(1) background-color ์์ฑ - ๋ฐฐ๊ฒฝ์ ์ง์ ํ๊ธฐ
- 16์ง์๋ rgb ๊ฐ, rgba ๊ฐ ๋๋ ์์ ์ด๋ฆ์ ์ฌ์ฉํฉ๋๋ค.
- background-color ๊ฐ์ ์์๋์ง ์์ต๋๋ค.
/* ๊ธฐ๋ณธํ */ background-color: <์์>
(1) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>์ด์ฝ ๋ฐฐ๊ฒฝ์</title> <style> body { background-color:rgb(78, 16, 0); /* ๋ฌธ์ ์ ์ฒด ๋ฐฐ๊ฒฝ์ */ } div { background-color:white; /* div ์์ญ ๋ฐฐ๊ฒฝ์ */ width:90%; /* ๋๋น */ padding:15px; /* ํจ๋ฉ */ border:1px solid black; /* ํ ๋๋ฆฌ */ } p { line-height:30px; } </style> </head> <body> <div> <h1>์ด์ฝ๋ฆฟ(Chocolate)</h1> <p> ์ด์ฝ๋ฆฟ์ ์นด์นด์ค ์ฝฉ์ ์ฌ๋ฃ๋ก ๊ฐ๊ณตํ ์ํ์ด๋ค. ์์ฑํ ์นด์นด์ค ์ฝฉ์ ๋ณถ์ ๋ค ์ด๋ฅผ ๊ฐ์์ ๋ง๋ ์นด์นด์ค ๋งค์ค์ ์ง๋ฐฉ ์ฑ๋ถ๋ง์ผ๋ก ๋ง๋ค์ด์ง ์ฝ์ฝ์ ๋ฒํฐ๋ฅผ ํผํฉํ์ฌ ๋ง๋๋๋ฐ, ์คํ ๋ฑ์ ๋ค๋ฅธ ์ฌ๋ฃ๋ฅผ ๋ ๋ฃ์ด ๋ง๋ค๊ธฐ๋ ํ๋ค. ์นด์นด์ค ๋งค์ค์ ํจ๋์ ๋ฐ๋ผ ๋คํฌ ์ด์ฝ๋ฆฟ, ๋ฐํฌ ์ด์ฝ๋ฆฟ, ํ์ดํธ ์ด์ฝ๋ฆฟ์ผ๋ก ๊ตฌ๋ถํ๋ค. </p> </div> </body> </html>
(2) background-clip ์์ฑ – ๋ฐฐ๊ฒฝ ์ ์ฉ ๋ฒ์ ์กฐ์ ํ๊ธฐ
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ ๋ฐฐ๊ฒฝ์์ ์ด๋๊น์ง ์ ์ฉํ ์ง ๋ฒ์๋ฅผ ์ง์ ํฉ๋๋ค.
- border-box : ํ ๋๋ฆฌ ๋ถ๋ถ๊น์ง ์ ์ฉํฉ๋๋ค.
- padding-box : ํจ๋ฉ ๋ถ๋ถ๊น์ง ์ ์ฉํฉ๋๋ค.
- content-box : ๋ง์ง ๋ถ๋ถ๊น์ง ์ ์ฉํฉ๋๋ค.
/* ๊ธฐ๋ณธํ */ background-clip : border-box | padding-box | content-box
(2) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๋ฐฐ๊ฒฝ ์ ์ฉ</title> <style> div { width: 300px; padding: 20px; border: 5px dotted #00ff; background: skyblue; margin-bottom: 20px; } .bg1 { background-clip: border-box; } .bg2 { background-clip: padding-box; } .bg3 { background-clip: content-box; } </style> </head> <body> <div class="bg1"> <p><strong>๋ฐฐ๊ฒฝ : </strong> ๋ค ์ชฝ์ ๊ฒฝ์น. ์ข์ ์๋ฏธ๋ก๋ ํน์ ํ ๋ฌผ์ฒด, ์ธ๋ฌผ, ์ฌ๊ฑด, ํ๊ฒฝ ๋ฐ์๋ฅผ ๋๋ฌ์ผ ์ฃผ์์ ์ ๊ฒฝ์ ๋ปํ๋ค. ๋๋ ์์ ๋์์ง ์๊ณ ๋ค์์ ๋๋ณด์ ์ฃผ๋ ํ์ ๋ปํ๊ธฐ๋ ํ๋ค. ์ด๋๋ ๋ท๋ฐฐ๊ฒฝ์ด๋ผ๊ณ ๋ ํ๋ค. </p> </div> <div class="bg2"> <p> <strong>๋ฐฐ๊ฒฝ : </strong> ๋ค ์ชฝ์ ๊ฒฝ์น. ์ข์ ์๋ฏธ๋ก๋ ํน์ ํ ๋ฌผ์ฒด, ์ธ๋ฌผ, ์ฌ๊ฑด, ํ๊ฒฝ ๋ฐ์๋ฅผ ๋๋ฌ์ผ ์ฃผ์์ ์ ๊ฒฝ์ ๋ปํ๋ค. ๋๋ ์์ ๋์์ง ์๊ณ ๋ค์์ ๋๋ณด์ ์ฃผ๋ ํ์ ๋ปํ๊ธฐ๋ ํ๋ค. ์ด๋๋ ๋ท๋ฐฐ๊ฒฝ์ด๋ผ๊ณ ๋ ํ๋ค. </p> </div> <div class="bg3"> <p> <strong>๋ฐฐ๊ฒฝ : </strong> ๋ค ์ชฝ์ ๊ฒฝ์น. ์ข์ ์๋ฏธ๋ก๋ ํน์ ํ ๋ฌผ์ฒด, ์ธ๋ฌผ, ์ฌ๊ฑด, ํ๊ฒฝ ๋ฐ์๋ฅผ ๋๋ฌ์ผ ์ฃผ์์ ์ ๊ฒฝ์ ๋ปํ๋ค. ๋๋ ์์ ๋์์ง ์๊ณ ๋ค์์ ๋๋ณด์ ์ฃผ๋ ํ์ ๋ปํ๊ธฐ๋ ํ๋ค. ์ด๋๋ ๋ท๋ฐฐ๊ฒฝ์ด๋ผ๊ณ ๋ ํ๋ค. </p> </div> </body> </html>
(3) background-image ์์ฑ – ์น ์์์ ์ด๋ฏธ์ง ๋ฃ๊ธฐ
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ์ง์ ํฉ๋๋ค.
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ํ์ผ ๊ฒฝ๋ก๋ ์๋ ๊ฒฝ๋ก ๋๋ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค.
/* ์ */ body { background-image: url("bg1.png"); } #area { background-image: url("bg2.png"); }
(4) background-repeat ์์ฑ – ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ๋ฐ๋ณตํ๊ธฐ
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ๋ฐ๋ณต ์ฌ๋ถ์ ๋ฐ๋ณต ๋ฐฉํฅ์ ์ง์ ํฉ๋๋ค.
(5) background-size ์์ฑ - ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ํฌ๊ธฐ ์กฐ์ ํ๊ธฐ
- ์์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ๊ฐ์ง ํฌ๊ธฐ๋ก ์ฌ์ฉํฉ๋๋ค.
/* ๊ธฐ๋ณธํ */ background-size: auto | contain | cover | <ํฌ๊ธฐ ๊ฐ> | <๋ฐฑ๋ถ์จ>
(3) ~ (5) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง</title> <style> div{ width:100px; height:100px; border:2px double gray; margin-bottom:20px; float: left; } .bg1{ background: url('images/bg4.jpg') no-repeat left top; background-size:auto; } .bg2 { background: url('images/bg4.jpg') no-repeat left top; background-size:200px 150px; } .bg3 { background: url('images/bg4.jpg') no-repeat left top; background-size:60% 40%; } .bg4 { background: url('images/bg4.jpg') no-repeat left top; background-size:contain; } .bg5 { background: url('images/bg4.jpg') no-repeat left top; background-size:cover; } .bg6{ background: url('images/bg4.jpg') no-repeat left top; background-size:100% 100%; } </style> </head> <body> <div class="bg1"></div> <div class="bg2"></div> <div class="bg3"></div> <div class="bg4"></div> <div class="bg5"></div> <div class="bg6"></div> </body> </html>
(6) background-position ์์ฑ – ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ์์น ์กฐ์ ํ๊ธฐ
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ณตํ์ง ์๊ณ ํ๋ฒ๋ง ํ์ํ ๊ฒฝ์ฐ์ ํน์ ํ ์์น์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐ์นํ ์ ์์ต๋๋ค.
- ๋ฐฑ๋ถ์จ(%) ํ๊ธฐ๋ฒ : ์ด๋ฏธ์ง์ ๊ฐ๋ก ์์น์ ์ธ๋ก ์์น๋ฅผ %๋ก ๋ํ๋ ๋๋ค.
/* ์ */ background-postion: 0% 0% background-position: 20% 60%
- ๊ธธ์ด(px) ํ๊ธฐ๋ฒ : ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ์์น๋ฅผ ์ง์ ๊ธธ์ด๋ก ์ง์ ํฉ๋๋ค.
/* ์ */ background-position: 30px 20px;
- ํค์๋ ํ๊ธฐ๋ฒ :
- ๊ฐ๋ก ๋ฐฐ์น๋ left์ center, right ์ค์์ ์ ํํฉ๋๋ค.
- ์ธ๋ก ๋ฐฐ์น๋ top๊ณผ center, bottom ์ค์์ ์ ํํฉ๋๋ค.
/* ์ */ background-position: center bottom
(6) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ์์น</title> <style> div { position: relative; left: 20%; width: 80%; height: auto; border: 1px gray solid; padding: 10px; margin-bottom: 20px; } #bg1 { background-image: url('images/bg2.jpg'); background-repeat: no-repeat; background-position: left top; padding-top: 150px; } #bg2 { background-image: url('images/bg2.jpg'); background-repeat: no-repeat; background-position: center; } </style> </head> <body> <div id="bg1"> <h1>์ด์ฝ๋ฆฟ(Chocolate) ์์๋ค</h1> <ul> <li>์ด์ฝ๋ฆฟ ์์ด์คํฌ๋ฆผ</li> <li>์ด์ฝ๋ฆฟ ์ผ์ดํฌ</li> <li>์ด์ฝ๋ฆฟ ์์ดํฌ</li> </ul> </div> <div id="bg2"> <h1>์ด์ฝ๋ฆฟ(Chocolate) ์์๋ค</h1> <ul> <li>์ด์ฝ๋ฆฟ ์์ด์คํฌ๋ฆผ</li> <li>์ด์ฝ๋ฆฟ ์ผ์ดํฌ</li> <li>์ด์ฝ๋ฆฟ ์์ดํฌ</li> </ul> </div> </body> </html>
(7) background-origin ์์ฑ – ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ์์น ๊ธฐ์ค ์กฐ์ ํ๊ธฐ
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ์์น์ ๊ธฐ์ค์ ์ด๋๋ก ํ ์ง ์ง์ ํ ์ ์๋ค.
- border-box : ๋ฐ์ค ๋ชจ๋ธ์ ๊ฐ์ฅ ์ธ๊ณฝ์ธ ํ ๋๋ฆฌ(border)๊น์ง ํฌํจํด์ ๊ธฐ์ค์ ๋๋ค.
- padding-box : ํ ๋๋ฆฌ๋ฅผ ๋นผ๊ณ ํจ๋ฉ (padding) ๋ฒ์ ์์์ ๊ธฐ์ค์ ๋๋ค.
- content-box : ๋ด์ฉ ๋ถ๋ถ๋ง ๊ธฐ์ค์ ๋๋ค.
/* ๊ธฐ๋ณธํ */ background-origin: border-box | padding-box | content-box
(7) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง</title> <style> div { width: 300px; padding: 10px; border: 10px solid #eee; background: url('images/bg5.png') no-repeat; margin-bottom: 20px; } .bg1 { background-origin: border-box; } .bg2 { background-origin: padding-box; } .bg3 { background-origin: content-box; } </style> </head> <body> <div class="bg1"> <p> <strong>“๋ชจํ๋ ๊ฐ์ ๋ชฐ๋๋ธ๋ ํ์ ํ ๊น?”</strong> ๋ชจํ๋๋ ์นตํ ์ผ์ ์ผ์ข ์ด๊ณ , ๋ชฐ๋๋ธ๋ ์ธ๋์์ ์ฌ๋๋ผ์ด๋ค. ๋ฐ๋ผ์ “๋ชฐ๋๋ธ์ ๊ฐ์ ๋ชจํ๋๋ ํ์ ํ ๊น?”๊ฐ ๋ฐ๋ฅธ ํํ์ด๋ค. ๊ทธ๋ฐ๋ฐ ๋ชจํ๋์ ๊ฐ์ ๋ชฐ๋๋ธ๋ฅผ ๋ง์ ๋ค๊ณ ํ๋ค. </p> </div> <div class="bg2"> <p> <strong>“๋ชจํ๋ ๊ฐ์ ๋ชฐ๋๋ธ๋ ํ์ ํ ๊น?”</strong> ๋ชจํ๋๋ ์นตํ ์ผ์ ์ผ์ข ์ด๊ณ , ๋ชฐ๋๋ธ๋ ์ธ๋์์ ์ฌ๋๋ผ์ด๋ค. ๋ฐ๋ผ์ “๋ชฐ๋๋ธ์ ๊ฐ์ ๋ชจํ๋๋ ํ์ ํ ๊น?”๊ฐ ๋ฐ๋ฅธ ํํ์ด๋ค. ๊ทธ๋ฐ๋ฐ ๋ชจํ๋์ ๊ฐ์ ๋ชฐ๋๋ธ๋ฅผ ๋ง์ ๋ค๊ณ ํ๋ค. </p> </div> <div class="bg3"> <p> <strong>“๋ชจํ๋ ๊ฐ์ ๋ชฐ๋๋ธ๋ ํ์ ํ ๊น?”</strong> ๋ชจํ๋๋ ์นตํ ์ผ์ ์ผ์ข ์ด๊ณ , ๋ชฐ๋๋ธ๋ ์ธ๋์์ ์ฌ๋๋ผ์ด๋ค. ๋ฐ๋ผ์ “๋ชฐ๋๋ธ์ ๊ฐ์ ๋ชจํ๋๋ ํ์ ํ ๊น?”๊ฐ ๋ฐ๋ฅธ ํํ์ด๋ค. ๊ทธ๋ฐ๋ฐ ๋ชจํ๋์ ๊ฐ์ ๋ชฐ๋๋ธ๋ฅผ ๋ง์ ๋ค๊ณ ํ๋ค. </p> </div> </body> </html>
(8) background-attachment ์์ฑ – ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ๊ณ ์ ํ๊ธฐ
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๊ณ ์ ํฉ๋๋ค -> ์คํฌ๋กค ๋ง๋๋ฅผ ์์ง์ด๋๋ผ๋ ๋ด์ฉ๋ง ์คํฌ๋กค๋๋ฏ๋ก ๋ง์น ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ์์ ๋ด์ฉ์ด ๋ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
- scroll : ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ ๋ด์ฉ ๋ฐ๋ผ์ ์คํฌ๋กค ๋ฉ๋๋ค. (๊ธฐ๋ณธ ๊ฐ)
- fixed : ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๊ฐ ๊ณ ์ ๋์ด ์คํฌ๋กค ๋์ง ์์ต๋๋ค.
/* ๊ธฐ๋ณธํ */ background-attachment: scroll | fixed
(8) ์์ (๋ฒ ๋ ์ฌ์ง ์ฃผ์)
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๋ฒ ๋ ์คํฌ๋กค</title> <style> body { background-image:url('images/venom.jpeg'); background-repeat: no-repeat; background-position: center; background-attachment: fixed; } div { background:rgba(255,255,255,0.6); width:80%; height:auto; margin-left:10%; } </style> </head> <body> <div> <h2>๋ฒ ๋(Venom)</h2> <p> 1984๋ ์ ์ฒซ ๋ฑ์ฅํ ์คํ์ด๋๋งจ์ ์ฃผ์ ์ํผ๋น๋ฐ ์ค ํ๋. ๊ฒ์ ์คํ์ด๋๋งจ ์ํธ๋ฅผ ๋ฐํ์ผ๋ก ํ ํํ์ ๋ชจ์ต์ ์ฌ๋น์คํธ ํน์ ์ ์ผ๋ง์ ์ธ ํฌ์ค๊ฐ ์ด์ฐ๋ฌ์ ธ ์คํ์ด๋๋งจ์ ๋น๋ฐ ์ค ๊ฐ์ฅ ์ธ๊ธฐ๊ฐ ๋ง์ ๋น๋ฐ์ผ๋ก ์ ๋ช ํ๋ค. ๊ทผ๋ณธ์ ์ผ๋ก ์ ์ฅ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๋ค๋ฉด ๋ฅํฐ ์ฅํ ํผ์ค์ ํจ๊ป ์์ ์๋ ์คํ์ด๋๋งจ์ ์์ ์ด๋ผ๊ณ ํ ์ ์์ผ๋ฉฐ, ๋ฅํฐ ์ฅํ ํผ์ค๋ ์คํ์ด๋๋งจ๊ณผ ๋์ง์ฑ์ ์ง๋๊ณ ํฌ์ํ๋ ๊ฑฐ์ธ์ ์๋ฉด๊ฐ์ ๊ด๊ณ๋ผ๋ฉด, ๋ฒ ๋์ ํผํฐ์๊ฒ์ ๋์ ํผํฐ๋ก ๋๋ ๋ณธ์ง์ ์ผ๋ก ๋ง์ฃผํด์ผ ํ๋ ๊ตด๋ ์ ๊ฐ๋ค๊ณ ํ ์ ์๋ค. ๊ทธ ํ์๋ถํฐ ์คํ์ด๋๋งจ์์ ์์ํ, ๊ทธ์ผ๋ง๋ก ์คํ์ด๋๋งจ์ ์์น ์๋๋ฏธ. </p> <h2>์ค๋ช </h2> <p> ์คํ์ด๋๋งจ์๊ฒ์ ๋จ์ด์ ธ๋๊ฐ ์ฌ๋น์คํธ๊ฐ ์์กด์ ์ํด ๋ค๋ฅธ ์์ฃผ๋ฅผ ์ฐพ์ ํ์ํ ๋น๋ฐ์ผ๋ก, 1๋ ์๋ ๋ธ๋ก, 2๋ ์์ ค๋ก ํฌ์ธ๋ํ , 3๋ ๋งฅ ๊ฐ๊ฐ, 4๋ ํ๋์ ํฐ์จ, 5๋ ๋ฆฌ ํ๋ผ์ด์ค, 6๋ ๋๋ฐ ๋ธ๋ก ์ด๋ ๊ฒ ์ฌ์ฏ ๋ช ์ ์์ฃผ๊ฐ ๋์๊ณ , ๋ฒ์ธ๋ก ์๋์ ์ ์ฝํผ์ '์ค ์จ์'์๊ฒ ๋ถ์ ์ฌ ๋ฒ ๋์ด ์๋ค. ์์์๋ ์ธ๊ธํ๋ค์ํผ ๋ฅํฐ ์ฅํ ํผ์ค์ ๋๋ถ์ด ์์ ์คํ์ด๋๋งจ ์ต์ ์ ์์น ์๋๋ฏธ์ด๋ค. </p> <h2>ํ์๋ค</h2> <ul> <li>์นด๋์ง - ์ด๋ ๋ฒ ๋ ์ฌ๋น์คํธ์ ์์.</li> <li>์คํฌ๋ฆผ - ๋ฒ ๋ ์ฌ๋น์คํธ ๋ณต์ ํ.</li> </ul> </div> </body> </html>
(9) background ์์ฑ – ์์ฑ ํ๋๋ก ์ฌ์ฉํ๊ธฐ
- ๋ฐฐ๊ฒฝ๊ณผ ๊ด๋ จ๋ ์์ฑ์ ํ๊บผ๋ฒ์ ์ค์ฌ์ ํํํฉ๋๋ค.
/* ์ */ body { background: url(bg.jpg) center no-repeat fixed; }
3. ๊ทธ๋ผ๋ฐ์ด์ ํจ๊ณผ๋ก ๋ฐฐ๊ฒฝ ๊พธ๋ฏธ๊ธฐ
(1) ๊ทธ๋ฌ๋ฐ์ด์ ๋ธ๋ผ์ฐ์ ์ ๋์ฌ
- ํ์ฌ์ ํ์คํ๋ ๊ตฌ๋ฌธ ์ธ์๋ ์ง์ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด ์ ๋์ฌ๋ฅผ ๋ถ์ฌ ์ ๋ ฅํด์ผ ํฉ๋๋ค.
(1) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๊ทธ๋ผ๋ฐ์ด์ </title> <style> div { width: 700px; height: 300px; border-radius: 10px; } .grad { background: blue; /* css3 ๋ฏธ์ง์ ๋ธ๋ผ์ฐ์ */ background: -webkit-linear-gradient(left top, blue, white); /* ์ด๊ธฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ background: -moz-linear-gradient(right bottom, blue, white); /* ์ด๊ธฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ background: -o-linear-gradient(right bottom, blue, white); /* ์ด๊ธฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ background: linear-gradient(to right bottom, blue, white); /* ์ต์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ } </style> </head> <body> <div class="grad"></div> </body> </html>
(2) ์ ํ ๊ทธ๋ผ๋ฐ์ด์
- ์์ง ๋ฐฉํฅ์ด๋ ์ํ ๋ฐฉํฅ์ผ๋ก, ํน์ ๋๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์์์ด ์ผ์ ํ๊ฒ ๋ณํ๋ ๊ทธ๋ผ๋ฐ์ด์ ์ "์ ํ ๊ทธ๋ผ๋ฐ์ด์ "์ด๋ผ๊ณ ํฉ๋๋ค.
- ์ ํ ๊ทธ๋ผ๋ฐ์ด์ ์ ์ง์ ํ ๋๋ ๋ฐฉํฅ๊ณผ ์์์ด ํ์ํฉ๋๋ค.
- ์์น:
- to ์ ํจ๊ป ์ฌ์ฉํด์ ๋๋๋ ์์น๋ฅผ ์ง์ ํฉ๋๋ค.
- to left : ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก, to right : ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก,
- to bottom : ์์์ ์๋๋ก, to top : ์๋์์ ์๋ก
- ๊ฐ๋:
- ๊ทธ๋ผ๋ฐ์ด์ ์ ๊ฐ๋๋ ์ ํ ๊ทธ๋ผ๋ฐ์ด์ ์ ๋ฐฉํฅ์ ์ง์ ํฉ๋๋ค.
- ๋งจ ์๋ถ๋ถ์ด 0deg์ด๊ณ , ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ํ๋ฉด์ 90deg, 180deg๊ฐ ๋ฉ๋๋ค.
- 270deg๋ –90deg์ ๊ฐ์ต๋๋ค.
/* ๊ธฐ๋ณธํ */ linear-gradient (๊ฐ๋ ๋๋ ์์น, color-stop, [color-stop,...]);
(2) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>์ ํ ๊ทธ๋ผ๋ฐ์ด์ </title> <style> div { width: 200px; height: 200px; border-radius: 10px; float: left; margin-left: 10px; } .line1 { background: linear-gradient(90deg, red, white); /* 90๋, ๋นจ๊ฐ์, ํฐ์ */ } .line2 { background: linear-gradient(-90deg, blue, white); /* 270๋, ํ๋์, ํฐ์ */ } .line3 { background: linear-gradient(to bottom, yellow, white); /* ์์์ ์๋๋ก, ๋ ธ๋์์์ ํฐ์์ผ๋ก */ } .line4 { background: linear-gradient(to top, black, white 50%, black); /* ์๋์์ ์๋ก, ๊ฒ์ ์, 50% ์์น์์ ํฐ์์ผ๋ก ๋ฐ๋๊ณ ๋ค์ ๊ฒ์ ์์ผ๋ก */ } </style> </head> <body> <div class="line1"></div> <div class="line2"></div> <div class="line3"></div> <div class="line4"></div> </body> </html>
(3) ์ํ ๊ทธ๋ผ๋ฐ์ด์
- ์ ๋๋ ํ์์ ์ค์ฌ์์๋ถํฐ ๋์ฌ์์ ๊ทธ๋ฆฌ๋ฉฐ ๋ฐ๊นฅ ๋ฐฉํฅ์ผ๋ก ์์์ด ๋ฐ๋๋ ๊ทธ๋ผ๋ฐ์ด์ ์ "์ํ ๊ทธ๋ผ๋ฐ์ด์ "์ด๋ผ๊ณ ํฉ๋๋ค.
- ์์น:
- ์์ ์(๋๋ ํ์)์ ์ค์ฌ๊ณผ ๋๋๋ ์(๋๋ ํ์)์ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค.
- ํค์๋(๊ฐ๋ก:left, center, right, ์ธ๋ก: top, center, bottom) ๋๋ ๋ฐฑ๋ถ์จ์ ์ด์ฉํฉ๋๋ค.
- ์๋ตํ๋ฉด center center๋ก ์ธ์ํฉ๋๋ค.
- ๋ชจ์:
- ๊ทธ๋ผ๋ฐ์ด์ ์ ๋ชจ์์ ์(circle)๊ณผ ํ์(ellipse) ์ค์์ ์ง์ ํฉ๋๋ค.
- ํฌ๊ธฐ:
- closest-side : ๊ทธ๋ผ๋ฐ์ด์ ๊ฐ์ฅ์๋ฆฌ๊ฐ ๊ทธ๋ผ๋ฐ์ด์ ์ค์ฌ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์์์ ๋ชจ์๋ฆฌ์ ๋ง๋ฉ๋๋ค.
- closest-corner : ๊ทธ๋ผ๋ฐ์ด์ ๊ฐ์ฅ์๋ฆฌ๊ฐ ๊ทธ๋ผ๋ฐ์ด์ ์ค์ฌ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์์์ ์ฝ๋์ ๋ฟ๋๋ก ํฉ๋๋ค.
- farthest-side : ๊ทธ๋ผ๋ฐ์ด์ ๊ฐ์ฅ์๋ฆฌ๊ฐ ๊ทธ๋ผ๋ฐ์ด์ ์ค์ฌ์์ ๊ฐ์ฅ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ๋ชจ์๋ฆฌ์ ๋ง๋ ๋๊น์ง ๊ทธ๋ฆฝ๋๋ค.
- farthest-corner : ๊ทธ๋ผ๋ฐ์ด์ ์ ๊ฐ์ฅ์๋ฆฌ๊ฐ ๊ทธ๋ผ๋ฐ์ด์ ์ ์ค์ฌ์์ ๊ฐ์ฅ ๋ฉ๋ฆฌ ๋จ์ด์ ธ์๋ ์ฝ๋์ ๋ฟ๋๋ก ํฉ๋๋ค. (๊ธฐ๋ณธ ๊ฐ)
(3) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>์ํ ๊ทธ๋ผ๋ฐ์ด์ </title> <style> div { width: 200px; height: 200px; float: left; margin-left: 10px; margin-bottom: 10px; } .rad1 { background: -webkit-radial-gradient(10% 10%, ellipse, white, red); /* 10% 10%์์ ์์ํ์ฌ ๋นจ๊ฐ์์์ ํฐ์์ผ๋ก ๋ฒ์ง๋ ํ์ํ ๊ทธ๋ผ๋ฐ์ด์ */ } .rad2 { background: radial-gradient(circle closest-side at 30% 40%, white, yellow, green); } .rad3 { background: radial-gradient(circle closest-corner at 30% 40%, white, yellow, green); } .rad4 { background: radial-gradient(circle farthest-side at 30% 40%, white, yellow, green); } .rad5 { background: radial-gradient(circle farthest-corner at 30% 40%, white, yellow, green); } </style> </head> <body> <div class="rad1"></div> <div class="rad2"></div> <div class="rad3"></div> <div class="rad4"></div> <div class="rad5"></div> </body> </html>
์์ ์งํ ์ค ํฌ๋กฌ ๊ธฐ์ค radial-gradient(10% 10%, ellipse, white, red) ๋ถ๋ถ์ด ์ ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์์ต๋๋ค.
webkit prefix (์ ๋์ฌ) ๋ฅผ ๋ฌ์์ฃผ๋ฉด ์ ๋๋ก ๊ธฐ๋ฅํฉ๋๋ค. ๋ค์ํ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ์ํด ๊ผญ ์ ๋์ฌ๋ฅผ ๋ฌ์์ฃผ์ด์ผ ํ ํ์์ฑ์ ๋๊ผ์ต๋๋ค.(4) ๊ทธ๋ผ๋ฐ์ด์ ๋ฐ๋ณต
- repeating-linear-gradient: ์ ํ ๊ทธ๋ผ๋ฐ์ด์ ์ ๋ฐ๋ณตํฉ๋๋ค.
- repeating-radial-gradient: ์ํ ๊ทธ๋ผ๋ฐ์ด์ ์ ๋ฐ๋ณตํฉ๋๋ค.
(4) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>์ ํ ์ํ ๊ทธ๋ผ๋ฐ์ด์ ๋ฐ๋ณต</title> <style> div { width:300px; height:300px; border-radius:10px; margin:10px; } .grad1 { background: red; /* css3 ๋ฏธ์ง์ ๋ธ๋ผ์ฐ์ */ background: -webkit-repeating-linear-gradient(yellow, yellow 20px, red 20px, red 40px); /* ์ด๊ธฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ background: -moz-repeating-linear-gradient(yellow, yellow 20px, red 20px, red 40px); /* ์ด๊ธฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ background: -o-repeating-linear-gradient(yellow, yellow 20px, red 20px, red 40px); /* ์ด๊ธฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ background: repeating-linear-gradient(yellow, yellow 20px, red 20px, red 40px); /* ์ต์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ } .grad2 { background: #ccc; /* css3 ๋ฏธ์ง์ ๋ธ๋ผ์ฐ์ */ background: -webkit-repeating-radial-gradient(circle, white, white 10%, #ccc 10%, #ccc 30%); /* ์ด๊ธฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ background: -moz-repeating-radial-gradient(circle, white, white 10%, #ccc 10%, #ccc 30%); /* ์ด๊ธฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ background: -o-repeating-radial-gradient(circle, white, white 10%, #ccc 10%, #ccc 30%); /* ์ด๊ธฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ background: repeating-radial-gradient(circle, white, white 10%, #ccc 10%, #ccc 30%); /* ์ต์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ */ } </style> </head> <body> <div class="grad1"></div> <div class="grad2"></div> </body> </html>
๋ง๋ฌด๋ฆฌํ๋ฉฐ
์์ ๊ทธ๋ฆฌ๊ณ ๋ฐฐ๊ฒฝ๊ณผ ๊ด๋ จ๋ ์คํ์ผ์ ์์ ์ ํจ๊ป ๊ณต๋ถํด ๋ณด์์ต๋๋ค.
๋ค์ํธ๋ ์คํ์ผ์ ๊ณต๋ถํฉ๋๋ค.
๋๊ธ๊ณผ ๊ณต๊ฐ์ ํญ์ ํ์์ ๋๋ค!
'๐ FrontEnd > HTML & CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS] ๋ ์ด์์์ ์ํ ์คํ์ผ๊ณผ ์์ (0) 2022.05.23 [CSS] ํ ์คํธ ๊ด๋ จ ์คํ์ผ๊ณผ ์์ - 2 (0) 2022.05.20 [CSS] ํ ์คํธ ๊ด๋ จ ์คํ์ผ๊ณผ ์์ - 1 (0) 2022.05.17 [CSS] CSS ๊ธฐ์ด (0) 2022.05.17 [HTML & CSS] ์ฃผ์ ๋ค๋ ๋ฒ (0) 2022.05.16