ํฌ๊ณ ์ฅ๊ธฐ์ ์ธ ํ๋ก์ ํธ์ ๋ง์ ๊ฐ๋ฐ์๊ฐ ํจ๊ป ์ฐธ์ฌํ ๊ฒฝ์ฐ ๋ง์ ๊ท์น๋ค์ ์ธ์ฐ๋ฏ, css ๋ํ ์๋์ ๊ฐ์ ๋ชฉ์ ๋ค์ ์ํด ์ผ๊ด์ ์ผ๋ก ๊ท๋ฒ์ ์ ํด ๋๊ณ ์งํ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค~
- ์คํ์ผ์ํธ๋ฅผ ๋ฉํ ๋์ค ๊ฐ๋ฅํ๋๋ก ๋ ์ ๋นํ๋ค.
- ์ฝ๋๋ ๋ ์ฝ๊ธฐ ์ฌ์ด ์ํ๋ก ์ ์งํ๋ค.
- ์คํ์ผ์ํธ๋ฅผ ์ธ์ ๋ ํ์ฅ ๊ฐ๋ฅํ ์ํ๋ก ์ ์งํ๋ค
์ด๋ฌํ ๋ชฉ์ ๋ฌ์ฑ์ ์ํด ์ง์ผ์ผํ ๋ช๊ฐ์ง ๊ธฐ์ ์ ์ธ ๊ธฐ๋ฒ๋ค์ด ๋ช๊ฐ์ง ์์ต๋๋ค.
์ด ๋ฌธ์๋ ์ฐ์ ์ด๋ฐ๋ถ์ ๋ฌธ๋ฒ๊ณผ ํฌ๋ฉง, css์ ๊ตฌ์ฑ์ ๋ํด์ ๊ธฐ์ ํ๊ณ ์๊ณ ํ๋ฐ๋ถ์๋ css๋ฅผ ์์ฑํ๊ฑฐ๋ ์ค๊ณํ๊ธฐ์ ์์ ์๊ฐํ๋ ๋ฐฉ๋ฒ๊ณผ ๊ตฌ์ฑํ๋ ๋ฒ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ์ด๋ค๊ฐ์? ์ฌ๋ฏธ์์๊ฒ ๊ฐ์ฃ ?ใ ใ
- CSSํ์ผ์๊ตฌ์ฑ
- ์์คํ์ผ์์์
- ๋ฃฐ์ ๊ตฌ์ฑ
- ๋ช ๋ช ๋ฒ์น
- ์ฝ๋ฉํธ
- CSS์์ฑ๋ฒ์์ด๋ก
- [์๋ก์ด์ปจํฌ๋ํธ์ ์์ฑ๋ฐฉ๋ฒ](#์๋ก์ด์ปจํฌ๋ํธ์ ์์ฑ๋ฐฉ๋ฒ)
- ์ค๋ธ์ ํธ์งํฅCSS
- ๋ ์ด์์
- [UI์ฌ์ด์ฆ ์ง์ ](#UI์ฌ์ด์ฆ ์ง์ )
- ์๋ต๊ธฐ๋ฒ
- ID์๋ํด์
- ์ ๋ ํฐ
- CSS์ ๋ ํฐ์์๋
!important
- ๋งค์ง๋๋ฒ์์ ๋๊ฐ
- ์กฐ๊ฑด์ด๋ถ๋์คํ์ผ์ํธ
- ๋๋ฒ๊ทธ
- ํ๋ฆฌํ๋ก์ธ์
์๋ฅผ ๋ค์ด ์ ๋๋ก๋ ๋ฌธ์๊ฐ ์๋ค๊ณ ํด๋ ์ฐ๋ฆฌ๋ค์ ๊ทธ์ ๊ธฐ์กด ๊ณตํต ํฌ๋ฉง์ ๋ง์ถฐ ์ต์ ์ ๋คํด ๊ณ์ ๋ฐ๋ผ ์ด์ด๋๊ฐ ๋ฟ์ ๋๋ค. ๊ทธ๊ฒ์ ์ฝ๋ฉํธ์ ์ผ๊ด์ฑ๊ณผ ๋ฌธ๋ฒ์ ์ผ๊ด์ฑ ๊ทธ๋ฆฌ๊ณ ๋ผ๋ฒจ์ ๋ถ์ด๋ ๊ฒ์ ๋ํด ์ผ๊ด์ฑ์ด ์์์ ์๋ฏธํ์ง์.
์คํ์ผ์ํธ์ ํ์ผ์ ๋ํด ๊ฐ๋ฅํ ๊ฐ๋ก 80๋ฌธ์๊ฐ ๋์ง ์๋๋ก ์ ํ์ ๋ก์๋ค. ์์ธ์ ์ผ๋ก๋ ๊ทธ๋ผ๋ฐ์ด์ ์ง์ ์ ํ๋ ๋ฌธ๋ฒ ํน์ ์ฝ๋ฉํธ ๋ด์ URL๋ฑ์ด ์์ต๋๋ค๋ง ์ด๊ฒ์ ์ด์ฉ์ ์๋ ๊ฒ์ด๋ฏ๋ก ๊ทธ๋๋ก ์ฌ์ฉํ์ฌ๋ ๋ฌด๊ดํฉ๋๋ค.
์ ๋ ใํ๊ทธ๋ฌธ์ใ๋ณด๋ค 4์คํ์ด์ค๊ฐ ๋ค์ด๊ฐ ์ธ๋ดํธ๊ฐ ์ข๊ธฐ๋ ํ๊ณ ๋ฉํฐ๋ผ์ธCSS(CSS์ ์ง์ ์ ๋ณต์ํ์ผ๋ก ๋๋๋ ๋ฐฉ๋ฒ)๋ฅผ ์ฌ์ฉํด์ ์์ฑํ๊ธฐ๋ ํฉ๋๋ค.
CSS๋ฅผ ํ ๊ฐ์ ํฐ ํ์ผ์ ์ ๋ฆฌํ๋ ๊ฑธ ์ข์ํ๋ ๋ถ๋ค์ด ์์ต๋๋ค. ์ด์ ๋ถํฐ ๋ฐฐ์ธ ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฅด๋ ํ ํน๋ณํ ๋ฌธ์ ๋ ์์ต๋๋ค. ์ ๋ Sass๋ก ๊ฐ์ํ๊ธฐ ๋๋ฌธ์, ์คํ์ผ์ํธ ํ์ผ์ ์๊ฒ ๋๋ ์ธํด๋ฃจ๋ ์ํค๋๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ด๋์ชฝ์ด๋ ์๊ด์ ์ข์ต๋๋ค. ์ด๋์ชฝ์ ํ์๋๋ผ๋ ์ด์ ๋ถํฐ ์ค๋ช ํ ๋ฃฐ๊ณผ ๊ฐ์ด๋๋ผ์ธ์ ์ ์ฉ๊ฐ๋ฅํฉ๋๋ค. ํ ๊ฐ์ง ํฐ ์ฐจ์ด๋ก ์น์๋ฉด ๋ชฉ์ฐจ์ ์น์ ํ์ด๋ธ์ ๋ถ์ด๋ ๋ฐฉ๋ฒ๋ฟ์ ๋๋ค. ์๋์ ์ค๋ช ์ ์ฝ์ด ์ฃผ์ธ์.
์คํ์ผ์ํธ๋ฅผ ์์ฑํ๊ธฐ ์ ์ ์ฐ์ ์คํ์ผ์ํธ ๋ด์ฉ์ ๋ชฉ์ฐจ๋ฅผ ์ ์ด๋ก์๋ค. ์๋ฅผ๋ค์ด ์๋์ ๊ฐ์ต๋๋ค.
/*------------------------------------*\
$CONTENTS
\*------------------------------------*/
/**
* CONTENTS............์ง๊ธ ์ฌ๊ธฐ
* RESET...............๋ํดํธ์ค์
* FONT-FACE...........๋ธ๋๋ ํฐํธ์ ์ค์
*/
๋ชฉ์ฐจ๊ฐ ์์ผ๋ฉด, ์ด ํ์ผ์ด ์ด๋ค ์ญํ๊ณผ ๊ธฐ๋ฅ์ ํ๋์ง ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์ฒ ๋ด๋ ๋ฑ ์์ ์์ต๋๋ค. ๋ชฉ์ฐจ์ ๊ฐํญ๋ชฉ์, ๊ฐ ์น์ ์ ํ์ดํ์ ๋ํ ์ค๋ช ์ ๋๋ค.
ํน์ ํ๋์ ๊ฑฐ๋ํ ์คํ์ผ์ํธ์์ ์์ ์ ํ๊ณ ๊ณ์๋ค๋ฉด, ๋ชฉ์ฐจ์ ์ ํ ๋ชจ๋ ์น์ ๋ด์ฉ์ ๋ชจ๋ ๊ฐ์ ํ์ผ ์์ ์ ๋ฆฌ๋์ด ์๊ฒ ์ฃ . ๋๋ ๋น์ ์ด ์ฌ๋ฌ๊ฐ์ cssํ์ผ์์ ์์ ์ ํ๊ณ ์๋ค๋ฉด , ๋ชฉ์ฐจ์ ๊ฐ ํญ๋ชฉ์ ์ธํด๋ฅด๋ ๋์ด์๋ ๊ฐ๊ฐ์ ํ์ผ ์์ ์์๊ฒ์ ๋๋ค.
๋ชฉ์ฐจ์ ๋์ํ ์น์ ํ์ดํ์ด ์๋ค๋ฉด ์ด๊ฑด ๋ญ ๋ชฉ์ฐจ๋ฅผ ๋ง๋ค์ด๋ ์๋ฌด๋ฐ ๋์๋ ๋์ง ์์ต๋๋ค ์น์ ์ ์๋์ ๊ฐ์ด ์ ์ด์ฃผ์ธ์.
/*------------------------------------*\
$RESET
\*------------------------------------*/
$
๊ธฐํธ๋ฅผ ์น์
๋ช
์์์ ์ ์์ฑํ๋ฉดใ$[์น์
๋ช
]
๊ณผ ๊ฐ์ด ๊ฒ์ํด์ ํ ๋ฒ์ ์น์
ํ์ดํ๋ง์ ๊ฒ์๋์์ผ๋ก ์ง์ ํ ์๊ฐ ์์ต๋๋ค.
ํน ํ๋์ ์คํ์ผ์ํธ์์ ์์
์ ํ๊ณ ์๋ค๋ฉด ์น์
์ ์ค๊ฐ์ ๋นํ์ 5๊ฐ ์ง์ด๋ฃ์ด์ฃผ์ธ์.
์๋์ ๊ฐ์ต๋๋ค.
/------------------------------------
$RESET
*------------------------------------*/
[์ฌ๊ธฐ์
๋ฆฌ์
์คํ์ผ์ ์ ์ต๋๋ค]
/*------------------------------------*\
$FONT-FACE
\*------------------------------------*/
์ด ๋นํ์ ๊ฐ์ธ์ฌ ์๋ค๋ฉด ์์ฒญ ๊ธด ์์ค๊ฐ ์ ํ ํ์ผ ์์์ ์คํธ๋กค์ ํ๋๋ผ๋ ๋ฐ๋ก ์น์ ๊ตฌ๋ถ์ด ๋ ๊ฒ๋๋ค. ํน์ ๋น์ ์ด ์ฌ๋ฌ๊ฐ์ ์คํ์ผ์ํธ์์ ์์ ์ ํ๊ณ ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด ๊ฐ ํ์ผ์ ๋จธ๋ฆฌ๋ง์ ์น์ ํ์ดํ์ ์ ๋ ๊ฑธ๋ก๋ ์ถฉ๋ถํ ๊ฒ๋๋ค. ๋นํ์ ๋ฃ์ ํ์๊ฐ ์๊ฒ ์ฃ .
์คํ์ผ์ํธ์ ๋ํ ์ผ๋๊ฐ ๋ฎ์ ์์ผ๋ก ์ ์ด์ค์๋ค. ์ณ๋ฐ๋ฅธ ์์ผ๋ก ์ ๋ ๊ฒ๋ง์ผ๋ก๋ ์์๊ณผ ์บ์คํ์ด๋ฉ์ ์ด์ ์ ์ถฉ๋ถ์ ์ด๋ฆด ์ ์์ต๋๋ค. ๋๋ถ์ด ์บ์ค์บ์ด๋๋ css์ ์ฒซ๊ธ์ C์ ๋๋ค.
๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๊ตฌ์ฑ์ด ์๋ ์คํ์ผ์ํธ์ ์์๋ ์๋์ ๊ฐ์ด ๋์ด ์์ต๋๋ค.
- ๋ฆฌ์ โ ์ค๋น์ง์ .
- ์๋ฆฌ๋จผํธ๏ผ์์๏ผ โ ํด๋์ค๋ช
์์
h1
์ด๋ul
๋ฑ. - ์ค๋ธ์ ํธใ์ถ์ํ โ ๋ฒ์ฉ์ ใ์ ์ฒด์ ์ธ ๋์์ธ ํจํด.
- ์ปดํฌ๋ํธ โ ์ค๋ธ์ ํธ๋ก ๊ตฌ์ฑ๋ ๋ถ๋ถ๏ผ์ปดํฌ๋ํธ๏ผ์ด๋ ๊ทธ ํ์ฅ.
- ์์ ์คํ์ผ โ ์๋ฌ์ํ..๋ฑ๋ฑ
์ด๊ฒ๋ค์ ์์ธํ ์ค๋ช ์ ์ด์ด์ ๊ณ์ํ๊ฒ ์ต๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์ ์ ๊ฐ ์น์ ์ ์ ์ ์ ์ํ ๋ด์ฉ์ ๊ธฐ์ค์ผ๋ก ๊ณ์นํ์ฌ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์คํ์ผ์ด ๋ฌด๋์ง๋ ์ผ์ ๋๋๋ก์ด๋ฉด ํผํ๊ณ ํด๋์ค์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ฌ ์ฌ๋ฌ ๋ฌธ์ ์ ๋์ํ ์ ์๋๋ก ์คํ์ผ์ํธ๋ฅผ ์ค๊ณํฉ์๋ค.
์ข๋ ์์ธํ ๋ด์ฉ์ ๋ณด๊ณ ์ถ์ผ์ ๋ถ์ใJonathan Snook์ SMACSS ์ ๊ฐ์ถํฉ๋๋ค.
[selector]{
[property]:[value];
[<- Declaration ->]
}
์ ๋ ๋ฃฐ์ ๊ตฌ์ฑ์ ์ธ์ธ ๋ ๋ช๊ฐ์ง ํ์ค์ ์ธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
- ํด๋์ค๋ช ์ ๋จ์ด๋ ํ์ดํ์ผ๋ก ๊ตฌ๋ถํ๊ณ ๏ผ๋จใBEM๊ธฐ๋ฒ์ ๋ํด์๋ ์ ํ์ ์ด์ง ์์ต๋๋ค.ใโปBEM๏ผ
- ์คํ์ด์ค 4๊ฐ์ ์ธ๋ดํธ
- ๋ฉํฐ๋ผ์ธ
- ์ ์ ํ ์ ์ธ์์๏ผ์ํ๋ฒณ์์์๋๏ผ
- ๋ฒค๋prefix๋ก ์ ๋ฆฌ๋ ์ธ๋ดํธ
- DOM๊ตฌ์ฑ๊ณผ ์ผ์นํ๋๋ก ๋ฃฐ์ ์ ์ธ๋ดํธ
- ์ธ๋ฏธ์ฝ๋ก ์ ๋ฐ๋์ ๋ถ์ ๋๋ค.
์๋๊ฐ ์์ ๋๋ค.
.widget{
padding:10px;
border:1px solid #BADA55;
background-color:#C0FFEE;
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
}
.widget-heading{
font-size:1.5rem;
line-height:1;
font-weight:bold;
color:#BADA55;
margin-right:-10px;
margin-left: -10px;
padding:0.25em;
}
์ฌ๊ธฐ์ใ .widget-heading
๊ฐ .widget
์ ์์์์๋ผ๋ ๊ฑธ ์๊ฒํ๊ธฐ ์ํด์ ใ.widget-heading
์ ๋ฃฐ์
๋ฅผ .widget
๋ณด๋ค๋ ๋ ๊น๊ฒ ์ธ๋ดํธ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
์ด๊ฒ์ ๊ฐ๋ฐ์๊ฐ ๋ฃฐ์
์ ์ธ๋ดํธ๋ฅผ ์ด์ง ํ์ด๋ณด๋ ๊ฒ๋ง์ผ๋ก ๋ฃฐ์
์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ฝ๊ฒ ์๊ฒ ํ๋๋ฐ ํธ๋ฆฌํฉ๋๋ค.
.widget-heading
์ ๊ฐ css์ ์ธ์ด ์์๋๋ก ๋์ด๋์ด ์๋ค๋๊ฑธ ์ฝ๊ฒ ์์ ์์ต๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐใ.widget-heading
๋ ํ
์คํธ๊ฐ ๋ฉ์ธ์ ์์์ด๊ธฐ ๋๋ฌธ์ ์ฐ์ ํ
์คํธ๋ฅผ ์์ํ๋ ๋ด์ฉ๋ถํฐ ์์ํด์ ๊ทธ๋ฐ์ ๋๋จธ์ง ์์๋ฅผ ๋์ดํ๋ฉด ๋ฉ๋๋ค.
๋ฉํฐ๋ผ์ธ์ ๋ฃฐ ์์ธ๋ ์๋์ ๊ฐ์ ๊ฒ๋ค ์ ๋๋ค.
.t10 { width:10% }
.t20 { width:20% }
.t25 { width:25% } /* 1/4 */
.t30 { width:30% }
.t33 { width:33.333% } /* 1/3 */
.t40 { width:40% }
.t50 { width:50% } /* 1/2 */
.t60 { width:60% }
.t66 { width:66.666% } /* 2/3 */
.t70 { width:70% }
.t75 { width:75% } /* 3/4*/
.t80 { width:80% }
.t90 { width:90% }
์ด ์์ ๊ฒฝ์ฐ([inuit.cssโs table grid system] (https://github.com/csswizardry/inuit.css/blob/master/base/_tables.scss#L96) ์์ ์ธ์ฉ)ใ์ด์ฒ๋ผ ์ผํ์ผ๋ก ์ ๋ฆฌํด๋ฒ๋ฆฌ๋๊ฒ ์ข๋ ์๊ธฐ ์ฝ์ต๋๋ค.
๋๊ฐ ์ ๋ ํด๋์ค๋ช
์ ๋จ์ด๋ฅผ ํ์ดํ์ผ๋ก ๊ตฌ๋ณํ๊ณ ์์ต๋๋ค๋ง๏ผ์๏ผ.foo-bar
ใ๋์์๏ผ.foo_bar
, .fooBar
๏ผ
๋๋ถ๋ถ์ ๊ฒฝ์ฐ์ ๋ํด์๋ ์ ๋ BEM๊ธฐ๋ฒ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.๏ผBEM์ด๋ใBlockใElementใModifier์์ฝ์ด์
๋๋ค๏ผ
BEM
๋ ์ผ์ข
์ ๋ช
๋ช
๋ฒ์
๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฑธ๋ก ,CSS์
๋ ํฐ๋ฅผ ๋ณด๋ค ์๊ฒฉํ๊ฒ ํ์ฌ ํ๋์๋ ์์๋ณด๊ธฐ ์ฝ๊ณ ์๋ฏธ ์๋ ์ฝ๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์ด ๋ช ๋ช ๋ฒ์น์ ํจํด์ ์๋์ ๊ฐ์ต๋๋ค. .block{} .block__element{} .block--modifier{}
.block
๋ ์์๋ ๋ฒจ์ ์ถ์๋ช ์ด๋ ์ปจํฌ๋ํธ๋ช ์ ํ์ํฉ๋๋ค..block__element
๋.block
์ ์์๋ฅผ ์ ์ฒด์ ์ผ๋ก ๋ณด์กฐํ๋ ์์์์๋ฅผ ํ์ํฉ๋๋ค.block--modifier
๋.block
์์์์ฒด์ ์๋ ์ํ๋ ๋ณ๊ฐ์ ๋ฒ์ ์ ํ์ํฉ๋๋ค.
BEMํด๋์ค๋ช ๊ณผ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ง ํน์ ํ๋์ ์ฐธ๊ณ ์ ๋ฅผ ํ์ํฉ๋๋ค.
.person{}
.person--woman{}
.person__hand{}
.person__hand--left{}
.person__hand--right{}
์ด ์์์๋ ์ฐ์ person(์ฌ๋)์ ๋ํ๋ด๋ ๊ธฐ๋ณธ์ ์ธ ์ค๋ธ์ ํธ(์ถ์์ ์ธ ๊ฐ๋ )์ ์ ์ํ๊ณ ์์ต๋๋ค. ์ด person์๋ woman(์ฌ์ฑ)์ด๋ผ๋ ๋ณ๋์ ํ์ ์ด ์์ต๋๋ค. ๊ฒ๋ค๊ฐ person์ hand(์) ์์๋ฅผ ์์์์๋ก์จ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ hand ์์์๋ left(์ข)์ right(์ฐ)๋ผ๋ ๋ ๋ถ๋ฅ๊ฐ ์๋ค๋ ๊ฑธ ์์ ์์ต๋๋ค.
์ด ๋ช
๋ช
๋ฒ์น์ ์์ด์ ์
๋ ํฐ๋ ๊ธฐ๋ณธ์ ์ธ ์ค๋ธ์ ํธ๋ณ๋ก ๋ช
์นญ๊ณต๊ฐ์ ๋๋๋๊ฒ ๊ฐ๋ฅํฉ๋๋ค.
๊ฒ๋ค๊ฐ ์์์์์ธ์ง(__
) ๊ทธ ์๋ ๋ถ๋ฅ์ธ์ง๋ฅผ(--
) ์ฉ๋์ ๊ตฌ๋ถํจ์ ๋ฐ๋ผ ์ด ์
๋ ํฐ๊ฐ ์ด๋ค ์ญํ ์ ๊ฐ์ง๊ณ ์๋์ง ์ ์ ์์ต๋๋ค.
.page-wrapper
๋ผ๋ ๋
๋ฆฝ์ ์ธ ์
๋ ํฐ๋ช
์ ๊ฐ์ง๊ณ ์๊ฐํด๋ด
์๋ค.
์ด ์
๋ ํฐ๋ ๋ช
์นญ์ ์ถ์์์๋ ์ปจํฌ๋ํธ์ ์ผ๋ถ๊ฐ์๋๋ผ page wrapper(ํ์ด์ง๋ฅผ ๊ฐ์ธ๋)๋ผ๋ ๋ช
์นญ์ผ๋ก ์ง์๊ฒ์ด๋ฏ๋ก ์ด๊ฒ์ ๋ฐ๋ฅธ ์๋ช
์ด๋ผ๊ณ ๋ณผ ์ ์๋๊ฒ๋๋ค.
๊ทธ๋ฌ๋ฉด .widget-heading
์ ์ดํด๋ด
์๋ค. ์๊ฑด ์ด๋ค ์ปจํฌ๋ํธ์ ๊ด๊ณํ๊ณ ์์๊ฒ์ด๋ฏ๋ก(.widget
์ ์์์์๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค) ์ด๋ด๊ฒฝ์ฐ์ .widget__heading
๋ผ๊ณ ์ด๋ฆ์ ๋ฐ๊พธ๋๊ฒ ์ ์ ํ๊ฒ ๋ค์.
BEM๋ฒ์ ์ซ ๋ณด๊ธฐ์ข์ง๋ ์๊ณ ์ธ๋ฐ์์ด ์ฅํฉํ ๊ฐ์ด ์์ง๋ง ํด๋์ค๋ช ๋ง์ ๋ณด๊ณ ์์๊ฐ์ ๊ด๊ณ๋ ๊ธฐ๋ฅ์ ์๋๊ฒ ๊ฐ๋ฅํ๋ฏ๋ก ๋๋จํ ์ ์ฉํฉ๋๋ค. ๋ํ BEM๊ธฐ๋ฒ์ ๋ฐ๋ณต์ ์ธ ๋จ์ด๊ฐ ๋น๋ฒํ๋ฏ๋ก gzip๊ฐ์ ์ ํ์ ์ธ ์์ถํ์๊ณผ๋ ์ ์ด์ธ๋ฆฝ๋๋ค.
๋น์ ์ดBEM๋ฒ์น์ ์ฌ์ฉํ๋ ํ์ง ์๋ ํด๋์ค๋ช
์ ์ธ์ ๋ ์ ์๊ฐํด์ ๋ช
๋ช
ํด์ผ ํฉ๋๋ค.
๊ตฌ์ฒด์ ์ธ ์ดํ์ ๊ฐ์ต๋๋ค๋ง,,๋๋ฌด ์งง์ง์๊ฒ ๋๋ฌด ๊ธธ์ง ์๊ฒ ํ์ํ๋งํผ ์ต๋ํ ์งง์ ๊ธธ์ด๋ก ํด์ฃผ์ธ์.
์ด์ด์ ์ค๋ธ์ ํธ์ ์ถ์๋ช
์ ๋ง์ฐํ๊ฒ ๋๋ผ๊ฒ ํ์ง์(์๋ฅผ๋ค์ด .ui-list
๋ผ๋ ์ง .media
)
๋ ์ ์๋ ํ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฌ์ฉํ ์ ์๊ฒ ๋๊ณ ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ธ์ ํธ๋ฅผ ํ์ฅํ ๋ ํ์คํ ๋ช
์นญ์ ๋ถ์ฌ (์๋ฅผ ๋ค์ด .user-avatar-link
๋ฑ๋ฑ)๋ก๋๋ค
ํด๋์ค ๋ช
์ ์ซ์๋ ๊ทธ์๋ฐ๋ฅธ ํ์ผ์ฌ์ด์ฆ์ ์ฆ๊ฐ์ ๋ํด ์ ๊ฒฝ์ธ ํ์๋ ์์ต๋๋ค. gzip์์ถ์ด ๋ฏฟ์ ์ ์์ ๋งํ ์๊ฒ ์์ถํด์ฃผ๊ธฐ ๋๋ฌธ์ด์ง์.
๋ณ ๋๋จํ๊ฑด ์๋์ง๋ง HTML๋ด์์ ํด๋์ค๋ช ์ ์ฝ๊ธฐ ์ฝ๊ธฐ ํ๊ธฐ ์ํด ๊ฐ๊ฒฉ์ 2์คํ์ด์ค ๋จ์ด๋จ๋ ค๋์ฃผ์ธ์. ์๋์ ๊ฐ์ต๋๋ค.
์ด๋ฐ ์คํ์ด์ค๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ์ธํด ๋ณต์์ ํด๋์ค๋ช ์ ์ข๋ ์ฝ๊ฒ ํ์ ํ ์๋ ์๊ณ ์ฝ๊ธฐ ํธํ๊ฒ ๋ฉ๋๋ค.
CSS์คํ์ผ์์ ์ฌ์ฉ์ค์ธ ํด๋์ค๋ช ์ JavaScript์์ ์ฌ์ฉํ๋ ๊ฑด ์ ๋๋ก ํ์ง ๋ง๋๋ค!!!! JS๋ก ์คํ์ผ ํด๋์ค๋ช ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์๋ชป ์์์น๋ ๋ชปํ JS๋์์ด ์์ง์ด์ง ์๊ฒ ๋๋ ์์ฒญ๋ ์ผ์ด ๋ฒ์ด์ง ์๋ ์์ต๋๋ค.
ํน์๋ผ๋JS์์ ์ฌ์ฉํ๊ณ ์ถ์ ํด๋์ค๋ช
์ ๋งํฌ์
ํ ํ์๊ฐ ์๋ค๋ฉด JS์ฉ์ด๋ผ๊ณ ์์ ์๊ฒ ํด๋์ค๋ช
์ ๋ถ์ฌ๋ก์๋ค.
๋จ์ํ๊ฒ .js-
๋ผ๋ ์์ผ๋ก ๋ถ์ด๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค. ์๋ฅผ๋ค์ด .js-toggle
๋ผ๋์ง .js-drag-and-drop
์ด๊ฒ ๋ค์.
์ด๋ฐ ๊ฒฝ์ฐ JS์ฉ๊ณผ CSS์ฉ์ ํด๋์ค๋ช
์ ๋์์ ๋งํฌ์
ํ์
๋ ์๊ด์์ต๋๋ค. ์ค๋ณต ๊ธฐ์ฌ๋ผ ๊ท์ฐฎ๋ค๊ฑฐ๋ ํ์ง ์์๊ฑฐ์์.(๋ฐ๋ก ์์ ๋ถ์ด๋ ๊ฑฐ๋๊น์~)
<th class="is-sortable js-is-sortable">
</th>
์์ ๋งํฌ์ ์ ์๋ก๋ค์ด 2๊ฐ์ ํด๋์ค๋ฅผ ๋ณํ๊ธฐ์ฌํ๊ณ ์๋๋ฐ์ ํ ๊ฐ๋ Sort๊ฐ๋ฅํ ํ ์ด๋ธ ์ปฌ๋ผ์ ์ค์ ํ ์คํ์ผ๋ช ๋ค๋ฅธ ํ๋๋ Sort๊ธฐ๋ฅ ์คํฌ๋ฆฝํธ์ฉ ํด๋์ค๋ช ์ ๋๋ค.
์๊ตญ์ธ ๊ฐ๋ฐ์๏ผcolor๊ฐ ์๋๋ผ colour๋ผ๊ณ ์จ๋ฒ๋ฆฌ๋ฉฐ ์๊ฐ์ ๋ญ๋นํ๋ ์ฌ๋๏ผ๋ ์๋๋ฏ ํ์ง๋ง ์ ๋ ์ผ๊ด์ฑ์ ์ค์ํด์ ๋ฏธ๊ตญ์์ด๋ก๏ผUS-English๏ผ CSS๋ฅผ ์ฐ๋๊ฒ ์ณ๋ค๊ณ ์๊ฐํ๊ณ ์์ต๋๋ค.
๋ค๋ฅธ ์์ด ์ฝ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก CSSS๋ฅผ color:red;
์ฒ๋ผ ๋ฏธ๊ตญ์์ด๋ก ์ฐ๋ฉด์ .colour-picker{}
๊ฐ์ด (์๊ตญ์์ด)ํด๋์ค๋ช
์ ์ฐ์ด ์ฐ๋๊ฑด ์ผ๋ฐ์ ์ด์ง ์์ต๋๋ค.
์ด์ ์ ์๋์ ๊ฐ์ด 2๊ฐ ๊ตญ์ด๋ก ํด๋์ค๋ช
์ ์์ฑํ๋ ๋ฒ์ ์ด๋๋ฐ์ด์คํ์ ๋ ์์์ต๋๋ค.
.color-picker,
.colour-picker{
}
๊ทธ๋ฌ๋ ์ต๊ทผ์ ์์ ์ ๋ ๋งค์ฐ ๊ฑฐ๋ํ Sass๋ฅผ ์ฌ์ฉํ ํ๋ก์ ํธ์์ ๋๋์ ใcolourใ๋ฅผ ์ฌ์ฉํ ๋ณ์ ๏ผ์๋ฅผ๋ค์ด $brand-color
๋๋ $highlight-color
๏ผ๋ฅผ ์ ์ง๋ณด์ ํ๋ ๋์ ์ด๊ฑด ์ ๋ง ํฐ์ผ๋๊ฒ ๊ตฌ๋ ํ๊ณ ๊นจ๋ฌ์์ต๋๋ค. ์ด๊ฒ์ ๊ฒ 2๋ฒ ์ ๋ ๊ฒ์ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๊ฑฐ๋ ํด์ผํ๊ธฐ ๋๋ฌธ์ด์์ฃ .
์ผ๊ด์ฑ์ด ์ค์ํ ๊ฒฝ์ฐ์ ์ธ์ ๋ ํด๋์ค๋ช ๊ณผ ๋ณ์๋ Locale Categories์ ๋ง์ถฐ ์ ๋๋ก ํฉ์๋ค.
์ ๋ docBlockํ์ ์ฝ๋ฉํธ ์คํ์ผ์ ํญ 80๋ฌธ์์ ์ ํํ์ฌ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์๋์ ๊ฐ์ต๋๋ค.
/**
* ์ด๊ฑดdocBlockํ ์ฝ๋ฉํธ ์
๋๋ค.
*
* ์ฌ๊ธฐ๋ ๋งค์ฐ ๊ธด ์ฝ๋ฉํธ๋ก ์์ธํ๊ณ ๋ด์ฉ์ด ๊ธด๊ธ์ด ์ต๋๋ค.
* ์ข ๊ธธ๊ธดํ์ง๋ง ํญ 80๋ฌธ์๋ก ์ ํ์ ๋ฌ์ ๋ฐ๋ณต์ฌ์ฉํฉ๋๋ค.
*
* ์ฝ๋ฉํธ์์์ ๋งํฌ์
์ ์จ๋๋ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์จ ์ฃผ์ธ์.
*
<div class=foo>
<p>Lorem</p>
</div>
*
* ์ฝ๋๋ฅผ ์จ์ผํ ๊ฒฝ์ฐ์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ์ ๋ฐฉํด๊ฐ ๋์ง ์๋๋ก ์์คํ
๋ฆญ์ค
* ๋ก ํ์ ์์ํ์ง ๋ง์์ฃผ์ธ์.
*/
์ฌ๋ฌ๋ถ ์ฝ๋ฉํธ์ ์ ๋ฆฌ๋ฌธ์๋ ๋ ์ ์๋ํ ๋ง์ด ์์ฑํด์ฃผ์ธ์. ๋น์ ์๊ฒ ์์ด์ ์ฝ๋ฉํธ๊ฐ ์์ด๋ ์ฝ๋๊ฐ ์ ๋ณด์ด๊ณ ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํ ์ ์๊ฒ ์ง๋ง ๋ค๋ฅธ ๊ฐ๋ฐ์์๊ฒ ์์ด์ ์ ๋ ๊ทธ๋ด๋ฆฌ ์์์ง ๋ชจ๋ฅด๋๊น์. ํ๊ฐ ๋ถ๋์ ์์ ์ฝ๋๋ฅผ ์์ฑ ํ์ด๋ ๊ทธ๋๋ ์ญ์ ์ฝ๋ฉํธ๋ฅผ ๊ผญ ์ ์ด์ฃผ์ธ์.
์ฌ๊ธฐ์๋ ์๋์ ์ธ๊ฐ์ง ์ฝ๋ฉํธ๋ฅผ ์ฌ์ฉํ ๋ช๊ฐ์ ์ง์ทจ์ ์ธ ๊ธฐ์ ์ ์๊ฐํฉ๋๋ค.
- ์ค์ ํ ์ ๋ ํฐ
- ์ฝ๋์ ํ๊ทธ๋ถ์ด๊ธฐ
- ์ํธ๋งํฌํฌ์ธํฐ
์
๋ ํฐ๋ฅผ ์ ํ์ ์ผ๋ก ์ฌ์ฉํด์ผ ํ๋๊ฑด ๋ฑํ ์๋๋๋ค. ๊ทธ๋ฌ๋๊น ul.nav{}
์ฒ๋ผ ์จ์ผํ๋๊ฑด ์๋๋ผ๋ ๊ฑฐ์ฃ
๋จ์ํ๊ฒ .nav
๋ผ๊ณ ์ฐ๋ฉด๋ฉ๋๋ค. ์
๋ ํฐ๋ฅผ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ๋๊ฑด ์
๋ ํฐ์ ํผํฌ๋จผ์ค๋ฅผ ์ ํ์ํค๋ ์ผ์
๋๋ค.
๋ํ ์ ํํ ์์ ์ด์ธ์ ์ ์ฉ์ด ๋์ง ์์์ผ๋ก ํด๋์ค๋ช
์ ์์ฌ์ฉ๋น๋๋ ๋น์ฐํ ๋จ์ด์ง๊ฒ ๋๊ฒ ์ฃ .
์ ํ ๋๋ฒ ~๋ค๋ฒ ์ข์ ์ผ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ด์จ๋ ๋ ์ ์๋๋๋ก ํผํ๋๋ก ํฉ์๋ค.
๊ฒ๋ค๊ฐ ๋ฐ๋ก ์ ๊ฐ๋ฐ์์ ํด๋์ค์ ์๋๋ฅผ ์ ๋ฌํ ๋์ ๊ฐ๋ ํธ๋ฆฌํ ๋๊ฐ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด .product-page
๋ผ๋ ํด๋์ค๋ช
์ ๋ํด ์๊ฐํด ๋ณผ๊น์. ์ด ํด๋์ค๋ช
์ ์์์ ์ค๋ ๋ญ๊ฐ๊ฐ ์์๋ฒํ ๋๋์ด ๋๋ค์(์์์ ๋ฐฐ์ ์ฃ ? ๋ช
์นญ๋ฐฉ๋ฒ)์ด์ฉ๋ฉด html
๋ body
์์์ ์ฌ์ฉํ ์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค์.
๊ทธ๋๋ ์ญ์ .product-page
๋ผ๋ ๋ช
์นญ๋ง์ผ๋ก๋ ๋์ฒด ์ด๋ค ์์์ ์ฌ์ฉํด์ผํ ์ง ๋๋ฌด์ง ๋ชจ๋ฅด๊ฒ ์ด์.
๊ทธ๋ฌ๋ฉด ์ฝ๋ฉํธ๋ฅผ ์ฌ์ฉํด์ ์ ํ์ ์ธ ์ ๋ ํธ์ฒ๋ผ ๋ณด์ด๊ฒ๋ ํด๋ณผ๊ฐ์. ์ฐ์ ์ด ํด๋์ค๋ฅผ ์ด๋ค ์์์ ์ฌ์ฉํด ์ฃผ์์ผ๋ฉด ์ข์์ง ๋ค๋ฅธ ๊ฐ๋ฐ์์๊ฒ ๊ฐ๋ฅด์ณ์ฃผ๋๊ฒ ๊ฐ๋ฅํฉ๋๋ค. ์๋์ฒ๋ผ ๋ง์ด์์.
/*html*/.product-page{}
์ด๊ฑธ๋ก ์ด ํด๋์ค๋ช ์ ์ด๋ค ์์์ ์ฌ์ฉํ๋ฉด ์ข์์ง๋ฅผ ์ ํํ๊ฒ ์๊ฒ ๋์์ ๊ฒ๋๋ค. ๊ฒ๋ค๊ฐ ์ข์ ์ ์ค๋ช ํ ์์ธํ๋ ์ฌ์ฌ์ฉ์ฑ์ ๋ํ ๋ฌธ์ ๋ ์์๊ฒ๋๋ค.
๋ค๋ฅธ ์๋ฅผ ๋ค์ด๋ณผ๊ฒ์.
/*ol*/.breadcrumb{}
/*p*/.intro{}
/*ul*/.image-thumbs{}
์ด์ฒ๋ผ ์ด ํด๋์ค๋ฅผ ์ด๋์ ์ฌ์ฉํ ์ง ์ ๋ ํฐ์ ๋์์ ๋ฐ๊พธ์ง ์๊ณ ์๋ ค์ฃผ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
ํน์ ๋น์ ์ด ์๋ก์ด ์ปจํฌ๋ํธ๋ฅผ ์์ฑํ๋ค๊ณ ์น๊ณ ๋ช๊ฐ์ ํ๊ทธ์ ์ฝ๋ฉํธ๋ฅผ ์ ๊ณ ๋์ ๊ทธ ์ปจํฌ๋ํธ๊ฐ ๊ฐ์งใ๊ธฐ๋ฅใ์ ๋ํด ๊ด๊ณ์ฑ์ ๋ถ์ฌํด๋ด ์๋ค. ์๋ฅผ๋ค์ด ์๋์ ๊ฐ์ต๋๋ค.
/**
* ^navigation ^lists
*/
.nav{}
/**
* ^grids ^lists ^tables
*/
.matrix{}
์ด๋ ๊ฒ ํ๊ทธ์ ์ฝ๋ฉํธ๋ฅผ ๋ถ์ด๋ ๋ฒ์ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ใ๊ธฐ๋ฅใ๋ผ๊ณ ๊ฒ์ํ ๊ฒฝ์ฐ ์์ ์ด ์ฐพ๋ ์ฝ๋์ ์ฝ๊ฒ ๋๋ฌํ๋๊ฒ ๊ฐ๋ฅํด์ง๋๋ค.
๊ฒฐ๊ตญ ๊ฐ๋ฐ์๊ฐ ๋ฆฌ์คํธํ ๊ธฐ๋ฅ์ ๋ํด ๋ฌด์ธ๊ฐ ๊ฒ์ํ ๊ฒฝ์ฐ ^lists
๋ผ๋ ๋จ์ด๋ฅผ ๊ฒ์ํ๋ค๊ณ ์น๊ณ .nav
๋ .matrix
๋ผ๋ ํด๋์ค๋ช
์(๊ฒ์๊ฒฐ๊ณผ๊ฐ ์ด๋ง์ด๋งํ๊ฒ ๋์ฌ์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค์)์ ํํ๊ฒ ๋ฐ๊ฒฌํ๋๊ฒ ๊ฐ๋ฅํด์ง๋ค๋ ๋ง์
๋๋ค.
์ค๋ธ์ ํธ์งํฅ์ธ ๋ฐฉ๋ฒ์ ๊ฐ๋ฐ์ ์งํํ๊ณ ์์ผ๋ฉด ๋ผ๋๊ฐ ๋๋ ๊ธฐ๋ณธ์ ์ธ ํ์ CSS์ ๊ทธ์ ๋์ํ๋ ํผ๋ถ(๋ณด์ฌ์ง๋ ๋ถ๋ถ) ์ญํ ์ ํ์ฅ๋ถ๋ถ์ผ๋ก ๋๋ ์์ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค๊ณ ์๊ฐ๋๋ค์. ์ด๋ฐ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๋ถ๋ถ๊ณผ ํ์ฅ๋ถ๋ถ์ ๋ฐ์ ํ ๊ด๊ณ๊ฐ ์์ต๋๋ค๋ง ํ์ผ์์ผ๋ก๋ ๋จ์ด์ ธ ์กด์ฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง์. ์ด ๊ธฐ๋ณธ๋ถ๋ถ๊ณผ ํ์ฅ๋ถ๋ถ์ ์๋ก๋ฅผ ์ ์์ ์๋ ๋งํฌ๋ฅผ ๋ถ์ด๊ธฐ ์ํด ์ํธ๋งํฌํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค. ์ด๊ฑธ ํ๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ ์ฝ๋ฉํธ๋ฅผ ๋ฌธ์์ ์ ์ด์ฃผ์ธ์.
์ฐ์ ๊ธฐ๋ณธ๋ถ๋ถ์ ์ด๋ ๊ฒ ์จ์ฃผ์ธ์.
/**
* `.foo` ์ theme.css๋ก๋ถํฐ ๊ณ์นํจ
*/
.foo{}
๋ค์์ผ๋กใํผ๋ถ ๋ถ๋ถ์ ํ์ฅ๋ถ๋ถ์ ์ด๋ ๊ฒ ์ ์ด์ฃผ์ธ์.
/**
* base.css ์ `.foo` ์ ๊ณ์นํ๊ณ ์์.
*/
.bar{}
์ด๊ฑธ๋ก ๋จ์ด์ก๋ ์ง์ ์ ์ฝ๋์ ๊ฐํ ๊ด๊ณ ํ์ฑ์ด ๋์์ต๋๋ค.
์ง๊ธ๊น์ง์ ์ ๋ ํฐ๋ ์ด๋ค์์ผ๋ก CSS๋ฅผ ๊ตฌ์ฑํ๊ณ ๊ธฐ์ ํ ๊ฒ์ธ์ง์ ๋ํด ๋ค๋ฃจ์์ต๋๋ค. ๋ชน์ ํ์์ ์ธ ๋ด์ฉ์ด์์ง์. ์ด ์น์ ์์๋ ์ข๋ ์ด๋ก ์ ์ธ ์๊ฐ๋ค๊ณผ ๊ตฌ์ฑ๋ฒ๋ค์ ๋ํด ์ค๋ช ํ๊ฒ ์ต๋๋ค.\
์๋ก์ด ์ปจํฌ๋ํธ(๋ถํ)์ ๋ง๋ค ๊ฒฝ์ฐ๋ ์ฐ์ CSS๋ณด๋ค๋ ๋งํฌ์ ๋ถํฐ ์์ฑํด๋ด ์๋ค. ์ด๋ฐฉ๋ฒ์ ์ด์ฉํจ์ ๋ฐ๋ผ ์ด๋ CSS์์ฑ์ด ๊ณ์น๋์ด์ง๊ณ ๋ฌด์์ ์ถ๊ฐํด์ผํ ์ง๋ฅผ ์์์ ์ผ๋ก ํ์ธ ํ ์ ์๊ณ ์ด๋ก์ธํด ์ฅํฉํ๊ฒ ๊ธธ๊ฒ ์ฐ๋ CSS์ ์๋ชป๋ ์ฌ์ฉ์ ํผํ ์ ์์ต๋๋ค. ๋งํฌ์ ์ ๋จผ์ ์์ฑํ๋ ๊ฑธ๋ก ํ์๋๋ ๋ฐ์ดํฐ๋ ๋ด์ฉ ๋๋ ๊ทธ๊ฒ์ด ๊ฐ์ง์๋ฏธ์ ๋ํ ์ง์คํ ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ์ดํ์ ์ ์ ํ ํด๋์ค๋ช ๊ณผ CSS์ ์ฌ์ฉ์ ๋ํด ์๊ฐํ๊ณ ์ฐ๋๊ฒ ๊ฐ๋ฅํด์ง๋ ๊ฒ๋๋ค.
์ ๋ ์ค๋ธ์ ํธ์งํฅ CSS๋ฐฉ์์ผ๋ก ์์ ํ๊ณ ์์ต๋๋ค. ์ปดํฌ๋ํธ์ ํ์ด ์๋ ๊ธฐ๋ณธ์ ์ธ ๋ถ๋ถ๊ณผ ํ์ฅ๊ฐ๋ฅํ ๋ถ๋ถ(ํผ๋ถ์ญํ )์ผ๋ก ๋๋ ์ ์ฐ๊ณ ์๋๊ฑฐ์ฃ . ์ค์ ์ฌ์ฉ๋ ์์ค๋ ์๋๋๋ค๋ง ์๋ฅผ๋ค์๋ฉด ์ด๋ฐ ๋ถ์๊ธฐ์ ๋๋ค .room{}
.room--kitchen{}
.room--bedroom{}
.room--bathroom{}
์ง์ ๋ช๊ฐ์ ๋์ ๋ค์ํ ํ์
์ ๋ฐฉ์ด ์๋ค๊ณ ์น๋ค๋ฉด ๊ทธ ๋ฐฉ๋ค์ ๋น์ทํ ํน์ง๋ค์ด ์์๊ฒ๋๋ค
์ฆ ๋ชจ๋ ๋ฐฉ์ ๋ง๋ฃจ์ ์ฒ์ฅ ๋ฒฝ ๋ฌธ์ด ์์๊ฑฐ์์.
๊ฑฐ๊ธฐ์ ๊ณตํต์ ์ธ ํน์ง์ ์ ๋ณด๋ฅผ ์ถ์ํ๊ฒ .room{}
ํด๋์ค๋ก ๋ชจ๋ ์์ฑ์ ๊ณต์ ํ ๊ฒ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์ ๋ฐฉ์ ์์ธํ ์ดํด๋ณด๋ฉด ๋ ๋ค๋ฅธ์ ๋ ์์ง์.
๋ถ์์ ํ์ผ์ด ๋ถ์ ๋ง๋ฃจ์ ์นจ์ค์ ์นดํซ์ด ๊น๋ ค์์์ง๋ ๋ชจ๋ฅด๊ณ ์์ค์ ์ฐฝ๋ฌธ์ด ์์๊ฒ์ด๊ณ ์นจ์ค์ ์ฐฝ๋ฌธ์ด ์์๊ฑฐ์์.
๋ํ ๊ฐ๊ฐ์ ๋ฐฉ์ ๋ฒฝ๋ค์ ๋ค์ํ ์์ผ๋ก ๋ค๋ฅด๊ฒ ์น ํด์ ธ ์์ ๊ฑฐ์์.
์ค๋ธ์ ํธ์งํฅCSS์ ์ํ๋ฉฐ ๊ธฐ๋ณธ์ ์ธ ์ค๋ธ์ ํธ๋ ๊ณตํต์ ์คํ์ผ์ ์ง์ ํ๊ณ ๊ตฌ์ฒด์ ์ธ ํด๋์ค๋ก ๋ค์ด๊ฐ๋ฉด ๊ธฐ๋ณธ ์ค๋ธ์ ํธ๋ฅผ ํ์ฅ ํ ์ ๋ํฌํ ํน์ฑ์ ์ ์ํ๋๋ก ํ๊ณ ์์ต๋๋ค.
์ด๊ฑธ๋ก ๋๋์ ์ปจํฌ๋ํธ๋ฅผ ๋ฐ๋ก๋ฐ๋ก ์์ฑ ํ์ง ์๊ณ ์ปจํฌ๋ํธ๊ฐ์ ๋ฐ๋ณต์ ์ธ ๋์์ธ ํจํด์ ๋์ง์ด ๋ด์ด ์ฌ์ฌ์ฉ๊ฐ๋ฅํ ํด๋์ค๋ก์จ ์ถ์ํ ํด๋ณผ ์ ์์ต๋๋ค. ๊ฒฐ๊ตญ ๋ผ๋๊ฐ ๋๋ ๊ธฐ๋ณธใ์ค๋ธ์ ํธใ์ ๋ง๋ค๊ณ ๊ทธ ์์ ๊ธฐ๋ณธ์ค๋ธ์ ํธ์ ์ถ์ํํ ํด๋์ค๋ฅผ ์ ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ํด๋์ค๋ฅผ ํ์ฅํด์ ๋ณด๋ค ์ ๋ํฌํ ์์ธ์คํ์ผ์ ์ ์ํ๋ ๊ฒ๋๋ค.
ํน์ ์๋ก์ด ์ปจํฌ๋ํธ๋ฅผ ์์ฑํ ๊ฒฝ์ฐ์ ๊ทธ ์ปจํฌ๋ํธ์ ๋บ๋์ ํผ๋ถ๋ถ๋ถ์ ๋๋ ๋ณด์ธ์. ์ปจํฌ๋ํธ์ ๋ผ๋๋ ๊ตฌ์ถ์์ ์ฌ์ฌ์ฉ์ ๊ณ ๋ คํ์ฌ ๋ฒ์ฉ์ ์ธ ํด๋์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ํด๋์ค๋ก ํผ๋ถ๋ถ๋ถ์ ์ ์ํ์ฌ ๋์์ธ ์์๋ฅผ ์ง์ด ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค.
์ปจํฌ๋ํธ๋ฅผ ์๋กญ๊ฒ ๋ง๋ค ๊ฒฝ์ฐ ๊ฐ๋กํญ์ ๋ณ๋์ ์ ํ์ ๋์ง ์์๋ ๋ฉ๋๋ค. ํ ๋ ์ด์์์ด ๊ฐ๋ฅํ๋๋ก ํ๊ณ ์ปจํฌ๋ํธ๋ฅผ ์ง์ด ๋ฃ๋ ์ชฝ์ ๊ฐ๊น์ด ์์๋ ๊ทธ๋ฆฌ๋์์คํ ์ด ๊ฐ๋กํญ์ ๊ฒฐ์ ํ๋๋ก ๋ก์๋ค.
๋์ด๋ ์ ๋๋ก ์ค์ ํ๋๊ฒ ์๋๋๋ค.
๋์ด๋ (์ด๋ฏธ์ง๋ ์คํ๋ผ์ดํธ ๊ฐ์)์ฌ์ดํธ์์ _ํ์ํ๊ธฐ์ ์_์ฌ์ด์ฆ๊ฐ ์ ํด์ง ๊ฒ์ ๋ํด์๋ง ์ ์ฉํ๋ ๊ฒ๋๋ค.
ํน์ฌ๋ผ๋ p
๋ผ๋์ง ul
, div
์ด๋ฐ๊ฒ๋ค์ ๋์ด๋ฅผ ์ค์ ํด์๋ ์๋ฉ๋๋ค.
๋์ด๋ฅผ ์กฐ์ ํ๊ณ ์ถ์๋๋ line-height
๋ฅผ ์ฌ์ฉํ๋ ๊ฑธ๋ก ์ ์ฐํ๊ฒ ๋์ฒ๊ฐ๋ฅํ ๊ฒ๋๋ค.
๊ทธ๋ฆฌ๋ ์์คํ ์ ์ ๋ฐ์ด๋ผ๊ณ ์๊ฐ๋์ด์ง๋๋ค. ๋ฌด์ธ๊ฐ์ ๋ด์ฉ๋ฌผ์ ์ง์ด ๋ฃ์ผ๋๊น์. ์ฌ์ค ๊ทธ๋ฆฌ๋์์คํ ์์ฒด์ ์ญํ ์ ์์ผ๋๊น์. ๊ทธ๋ฆฌ๋์์คํ ์ ์ฌ์ฉํ๋ค๋ฉด ๋น์ ์ ๊ทธ ์ค์ฌ์ ์ฌ๋ฃ๋ฅผ ์ฑ์ ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค. ์คํ์ผ์ ๊ทธ๋ฆฌ๋ _์์_์์์ ๋ํด์ ์ ์ฉํฉ์๋ค. _์ด๋ค_์ํฉ์ ์์ด์๋ ์ ๋ ๋ฐ์ค๋ชจ๋ธ์ ์์ฑ์ ๊ทธ๋ฆฌ๋๋ฅผ ๊ตฌ์ฑํ๋ ์์์ ์ ์ฉํด์๋ ์๋ฉ๋๋ค.
์ ๋ UI์ฌ์ด์ฆ ์กฐ์ ์ ๋ช๊ฐ์ธ๊ฐ์ ๋ฐฉ๋ฒ์ ๋ง์ถฐ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ํผ์ผํธ(%), ํฝ์ (pixel)ใ, ๋ฌธ์ํญ(em, rem)์ ์ฌ์ฉํ๊ณ ์ด์ธ์ ๋ฐฉ๋ฒ์ ์ ํ ์ฌ์ฉํ๊ณ ์์ง ์์ต๋๋ค.
๊ทธ๋ฆฌ๋์์คํ ์์๋ ์ด์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ํผ์ผํธ๋ก ์ค์ ํ๋ฉด ์ข์ต๋๋ค. ๊ทธ๋ฆฌ๋์์คํ ์ ์ปฌ๋ผ ํญ์ด๋ ํ์ด์ง ๋ ์ด์์์ ์ ์ดํ๋ ๊ฑธ๋ก ์ปจํฌ๋ํธ๊ฐ ์์ ๋กญ๊ฒ ์ฌ์ด์ฆ๋ฅผ ์กฐ์ ํ๋ฉฐ ์ฌ๋ฐฑ์ ๋จ๊ธฐ๋๊ฒ ๊ฐ๋ฅํฉ๋๋ค(์ข์ ์ ์๊ธฐํ์ต๋๋ค) ํฐํธ์ฌ์ด์ฆ์ ๋ํด์๋ rem๋จ์์ ์ฌ์ฉํ๊ณ ์๋น ๋ฐฉ๋ฒ์ผ๋ก์จ๋ pixel์ง์ ์ ๋ณํํฉ๋์ฌ ์ด ๋ฐฉ๋ฒ์ em๋จ์์ ์ํ ์ ์ฐ์ฑ์ ํ๋ณดํ๋ฉด์ ๋์์ ํฝ์ ์ง์ ์ผ๋ก ๋ฐฑ์ ํ๋ ๊ฑธ๋ก(ํฝ์ ํด๋ฐฑ)์ ๋ขฐ๊ฐ์ ์ป์ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ Sass๋ฅผ ์ฌ์ฉํด์ rem๊ณผ ํฝ์ ํด๋ฐฑ์ ์คํํ ์๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๏ผ์ฌ๊ธฐ ์์์๋ ๋ฒ ์ด์ค ํฐํธ์ฌ์ด์ฆ($base-font-size)๊ฐ ์ด๋๊ฐ์ ์ง์ ๋์ด ์๋ค๊ณ ์นฉ์๋ค๏ผ
@mixin font-size($font-size){
font-size:$font-size +px;
font-size:$font-size / $base-font-size +rem;
}
์ ๋ ์ฌ์ ์ ์ง์ ํ ์ ์์๋ ํฝ์ ๋จ์๋ฐ์ ์ง์ ํ์ง ์์์ต๋๋ค. ์ด๋ฏธ์ง๋ฑ์ ์ ๋์ ์ผ๋ก ํฝ์ ์ฌ์ดํธ๊ฐ ์ ํด์ง๊ฒฝ์ฐ์๋ ํฝ์ ์ ์ง์ ํด ์ฌ์ฉํฉ๋๋ค.
์ ๋ ๊ทธ๋ฆฌ๋์์คํ ์ ๋ง์ถฐ ๋ฌธ์์ ์ฌ์ด์ฆ์ ๊ดํด ์ผ๋ จ์ ํด๋์ค๋ฅผ ์ ์ํ์ต๋๋ค[โป1]ใ ์ด ํด๋์ค๋ Double stranded heading hierarchy ๋ฐฉ์์ผ๋ก[โป2] ์คํ์ผ์ ์ ์ฉ์ ํ๊ณ ์์ต๋๋ค. ์ด ๋ฐฉ์์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์ ์ ๋ค๋ฅธ ํฌ์คํธ[Pragmatic, practical font-sizing in CSS] (http://csswizardry.com/2012/02/pragmatic-practical-font-sizing-in-css)๋ฅผ ์ฐธ์กฐํด์ฃผ์ธ์
[โป1] ๏ผํด๋ใํธ๋ใ์ฌ์ด๋๋ฐ ๋ฑ์ใ์ฌ๋ฌ๊ฐ์ง ๋ฌธ์์ ์ฌ์ด์ฆ๋ฅผ ์กฐ์ ํ๋ ์ผ์ ๋๋ค. [โป2] ๏ผ๋ ผ๋ฆฌ์ ์ธ ํํ ๊ตฌ์กฐ์ ๋ฌผ๋ฆฌ์ ์ธ ํํ ๊ตฌ์กฐ์ ์ฌ์ด์ฆ๋ฅผ ๋ณต์กํ์ง ์๊ฒ ๊ฐ๋จํ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์์ธํ ๋งํฌ๋ ์ข์ ์ ์ฐธ์กฐ๋ฅผ ๋ด์ฃผ์ธ์.
CSS์ ์๋ต๊ธฐ๋ฒ์ ์ฃผ์ํด์ ์ฌ์ฉํด์ฃผ์ธ์ใ
CSS์์ฑ์ ์ ์์๋ background:red;
์ฒ๋ผ ์งง๊ฒ ์ฐ๋ ๋งค๋ ฅ์ ์ธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค๋ง
์ด๋ ๊ฒ ์จ๋ฒ๋ฆฌ๊ธฐ ์์ํ๋ฉด ใ๋๋ ๋ฐฐ๊ฒฝ์ผ๋ก ์ด๋ฏธ์ง๋ ์์ง๋ง ๋ณธ๋ฌธ๊ณผ ๊ฐ์ ์คํฌ๋กค๋ฌ ์ข์ธก์์ x-y๋ฐฉํฅ์ผ๋ก ๋ฐ๋ณต์ ์ผ๋ก ๋ค์ด๊ฐ๊ณ ๋ฐฐ๊ฒฝ์์ ๋นจ๊ฐ์ผ๋ก ์ข์์ใ๋ผ๊ณ ์ง์ ํด ๋ฒ๋ฆฌ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.10ํ๋์ 9ํ๋ ๊ทธ๊ฑธ๋ก ๊ทธ๋ค์ง ๋ฌธ์ ๊ฐ ์์์ง๋ ๋ชจ๋ฅด์ง๋ง ๋จ์ 1๋ฒ์ ํฐ์ผ์ด ๋ฒ์ด์ง์ง๋ ๋ชจ๋ฆ
๋๋ค. ์๋ต๊ธฐ๋ฒ์ด๋๊ฒ ์ฐ๋๊ฑฐ๋ ๋ง๋๊ฑฐ๋๋ ์๊ฐ์ ์ข ์ด๋ถ์ด ๋๊ธฐ๋ ํฉ๋๋ค.
ํ์คํ๊ฒ background-color:red;
๋ผ๊ณ ์ ์ด ์ฃผ์ธ์.
๋จ์ง ์์์ ์๋ ์ฌ๋ฐฑ์๋ง ์ค์ ํ๊ณ ์ถ์๋ค๋ฉด margin-bottom:0;
๋ผ๊ณ ์ ๋๊ฒ ์ต๊ณ ์
๋๋ค.
๊ฐ์ ์์ผ๋ก margin:0;
์ ์งง์๊ฒ ํธ๋ฆฌ ํฉ๋๋ค๋ง ์ข ๋ ๋ช
์์ ์ผ๋ก ์จ์ค์ผํฉ๋๋ค
์ค์ ๋ก ์์์ ์๋๋ง ์คํ์ผ์ ์ค์ ํ๊ณ ์ถ๋ค๋ฉด margin-bottom:0;
๋ผ๊ณ ์จ์ฃผ๋๊ฒ ์ ์ผ ์ ์ ํฉ๋๋ค.
CSS์ ์์ฑ์ ๋ช
์์ ์ผ๋ก ์จ์ฃผ๊ณ ์๋ต๊ธฐ๋ฒ์์๋ฐ๋ผ ์๋์์ด ์์ฑ์ด ์ค์ ๋์ง ์๋๋ก ์ ๊ฒฝ์จ์ผ ํฉ๋๋ค.
๊ฒฐ๊ตญ ์์์ ์๋๋ถ๋ถ์ ์ฌ๋ฐฑ๋ง์ ์์ ๊ณ ์ถ์ ๊ฒฝ์ฐ์ธ๋ฐ๋ ์ฌ๊ฐ ์ธ๊ฐ์ ์ฌ๋ฐฑ์ ์ ๋ถ margin:0;
๋ก ์์ ๋ฒ๋ฆฌ๋๊ฑด ์ ๋ง ๋์ผ์ค์ง์.
์๋ต๊ธฐ๋ฒ์ ์ข๊ธฐ๋ ํ์ง๋ง ๊ฐ๋จํ ์ค์ฉํ๊ณ ๋ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์ฐ์ ์ ๋ ํฐ์ ์ผ๋ฐ๋ก ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ CSS์ ID์ ๋ํด์ ์ฃผ์ํด์ผํ ๊ฒ ์์ต๋๋ค. ์ ๋๋ก CSS์ ID์ ๋ ํฐ๋ ์ฌ์ฉํด์๋ ์๋ฉ๋๋ค
JS์์ ์ฐ๊ณ๋ฅผ ์ํ ๋งํฌ์ ๊ณผ ์์์ ์ง์ ์ ์ํด ID์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ธด ํฉ๋๋ค๋ง ์คํ์ผ์ ์ค์ ์๋ ํด๋์ค๋ฅผ ์ฌ์ฉํด์ฃผ์ธ์. ์ฌ๋ฌ๋ถ๋ ํ ๊ณณ๋ฐ์ ์ฌ์ฉํ์ง ๋ชปํ๋ ์คํ์ผ์ ์คํ์ผ์ํธ์ ๋๊ณ ์ถ์ง ์์ผ์๊ฒ ์ฃ !
ํด๋์ค์๋ ์ฌ์ด์ฉ์ฑ๊ณผ ์ด์ ์ด ์๊ณ (์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ํ์ง ์๋ ) ํด๋์ค์๋ ๋ฐ์ด๋ ์ ์์ธ๋๏ผlow specificity / ์ญ์ฃผ: ์ฌ๋ฌ์ฅ์์ ์ฌ์ฉ๊ฐ๋ฅํ ์ฑ๊ฒฉ)์ด ์์ต๋๋ค ์์ธ๋๋ฅผ ๋ฎ๊ฒ ๊ฐ์ง๋๊ฑด ์ ๋์ ์ธ ์๋ฌด์ ๋๋ค. ํ๊ฐ์ ID๋ ํ๊ฐ์ ํด๋์ค๋ณด๋ค๋ 255๋ฐฐ๋ ์ ์ ์์ญ์ ๋ฐ์ ์ง์ ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์์ผ๋ก ์ ๋ ์์ํ CSS์์ ์ฌ์ฉํ์ง ์๋๋ก ํด์ฃผ์ธ์.
์ ๋ ํฐ๋ ๋๋๋ก ์งง๊ณ ํจ์จ์ ์ผ๋ฉฐ ๋ํ ์ด์์ฑ ์ข๊ฒ ์ ๊ฒฝ์จ๊ฐ๋ฉฐ ์ฌ์ฉํด ์ฃผ์ธ์.
๋ฌด๊ฑฐ์ด ์์์
๋ ํฐ๏ผlocation-based selectors๏ผ๋ ๋ช๊ฐ์ง ์ด์ ์ ์ํด ํผํด์ผํ ๊ฒ๋ค์
๋๋ค,
์๋ฅผ๋ค์ด .sidebar h3 span{}
๋ผ๋ ์
๋ ํฐ์ ๋ํด ์๊ฐํด๋ณด์ฃ
์ด ์
๋ ํฐ๋ ์์์ ์ง์ ์ด ๋ง์ผ๋ฏ๋ก ์คํ์ผ์ ์ ์งํ์ฑ span
์์์ ์คํ์ผ์ .sidebar
์ h3
์ ์์ ์ง์ ํ๋๊ฒ ์ด์ธ์ ์ด๋ํ๋๊ฒ ๋ถ๊ฐ๋ฅํฉ๋๋ค,
๋๋ฌด๊ธด ์
๋ ํฐ๋ ํผํฌ๋จผ์ค์ ๋ฌธ์ ๋ ์ผ์ผํต๋๋ค,
์ฆ ์
๋ ํฐ์ ์ฒดํฌ์๊ฐ ๋๋ฌด ๋ง์์ง์ฃ (์๋ฅผ๋ค์ด.sidebar h3 span
๋ผ๋ฉด 3ํ .content ul p a
๋ผ๋ฉด 4๋ฒ์ ์ฒดํฌ๊ฐ ๋ฐ์ํฉ๋๋ค.)
๋ธ๋ผ์ฐ์ ์๊ฒ ํฐ ๋ถ๋ด์ ์ง์๋ฒ๋ฆฝ๋๋ค.
์คํ์ผ์ ๋์์๋ํ ํน์ ์์์์์ ์์กดํ์ง ์๊ฒ ํ๊ณ ์งง๊ณ ์ข์ ์ ๋ ํฐ๊ฐ ๋์ ์๋๋ก ์ ๊ฒฝ์จ์ผ ํฉ๋๋ค.
์ ์ฒด์ ์ผ๋ก ์
๋ ํฐ๋ ์งง๊ฒ ํ๋๋ก ์์์ ์ผ๋ก ์์
ํด์ผํฉ๋๋ค๋ง (์๋ฅผ๋ค์ด ํด๋์ค ๊ณ์ธต์ ํ๊ฐ๋ง ํ๊ฑฐ๋)
ํด๋์ค๋ช
์์ฒด๋ ํ์ํ๊ฒฝ์ฐ๋ผ๋ฉด ๊ธธ์ด๋ ์๊ด์์ต๋๋ค. .usr-avt
๋ณด๋ค๋ .user-avatar
์ชฝ์ด ๋ ์ข์ต๋๋ค.
**๊ธฐ์ตํด์ฃผ์ธ์๏ผ**ํด๋์ค๋ช ์ ์๋ฏธ๋ ๋ฌด์๋ฏธ๋ ์๋๋๋ค. ๊ธฐ๋ฅ์ ์ธ๊ฐ ๊ทธ๋ ์ง ์์์ง๊ฐ ์ค์ํฉ๋๋ค. ํด๋์ค๋ช ์ ์ฝํ ์ธ ์์ ์๋ฏธ๋ฅผ ๋ถ์ฌํ๋๊ฒ์ ๊ด๋๊ณ ๊ธฐ๋ฅ์ฑ๊ณผ ์ฅ๋์ฑ์ ์๊ฐํด ์ด๋ฆ์ ๋ถ์ ์๋ค.
์ด์ ๊น์ง์ ๋
ผ๋ฆฌ๋ฅผ ๋์๋ด๋ ์ ํ์
๋ ํฐ๋ ๊ทธ๋ฆฌ ์ข์ง์๋ค๋๊ฑธ ์์ ์์ต๋๋ค.
div.promo
์ข์ธก๊ฐ์๊ฒฝ์ฐ๋ ๊ณผ๋ํ๊ฒ ์ ํํ ์
๋ ํฐ์
๋๋ค.
.promo
๋ค์๊ณผ ๊ฐ์ด ์ ๋ ๊ฒ๋ง์ผ๋ก๋ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋์ด ๋ผ ์ ์์ต๋๋ค.
๋ฌผ๋ก ๊ทธ๋๊ทธ๋ ์๋์ ์ผ๋ก ์ ํํ ํด๋์ค๋ช
์ ์ฌ์ฉํ๊ณ ์ถ์ ๋๊ฐ ์์ต๋๋ค๋ง,
(๊ฒฐ๊ตญ .error
๋ผ๋ ๋ฒ์ฉ์ ์ธ ํด๋์ค๊ฐ ์๋ค๊ณ ์น๊ณ ํน์ ์์์ ์์ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ ๏ผ์ด๋ฐ ๋๋์
๋๋ค .error{ color:red; }
div.error{ padding:14px; }
๏ผ๏ผใ
์ผ๋ฐ์ ์ผ๋ก ํผํด์ผํฉ๋๋ค.
๋ณ๋ ๊ณผ์ํ์ ์
๋ ํฐ์ ์๋ก ul.nav li a{}
๋ผ๋๊ฒ ์์ต๋๋ค.
์ด๊ฒ๋ ์์ํ ul
์์ ๋๊ฒ ๊ฐ๋ฅํฉ๋๋ค ์๋๋ฉด ์ ํฌ๋ .nav
๋ ๋ฆฌ์คํธ ์์๋ผ๋๊ฑธ ์๊ณ ์์ผ๋ฏ๋ก a
์์๋ ๋ฐ๋์
li
์์ ์์๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ต์ข
์ ์ผ๋ก ul.nav li a{}
๋ .nav a{}
์ฒ๋ผ ๊ณ ์ณ์ธ ์ ์์ต๋๋ค.
๋ธ๋ผ์ฐ์ ๊ฐCSS์๋๋๋ง์ ์๋๋ฅผ ํฅ์์ํค๋๊ฒ์ ์ฌ์ค์
๋๋ค๋ง
ํจ์จ์ ๋น์ ์ด ์ ๊ฒฝ์ฐ๊ณ ์ฒ๋ฆฌํ๋ฉด ์ด๋ป๊ฒ๋ ๋๋ ๋ถ๋ถ์
๋๋ค.
์งง๊ฒ ๋ค์ฌ์ด ์
๋ ํฐ๋ฅผ ์ฌ์ฉํฉ์๋ค.
์ ๋๋ฒ์
์
๋ ํฐ ๏ผ*{}
๏ผ๋ฅผ ํค์
๋ ํฐ ๏ผโป3๏ผ๋ก์จ ์ฌ์ฉํด์๋ ์๋ฉ๋๋ค.
๋ํ CSS3์ ๋ณต์กํ ์
๋ ํฐ๋ฅผ ํผํ๋๊ฒ๋ ๋ฌธ์ ๋ฅผ ํผํ๋๋ฐ ๋์์ด ๋ฉ๋๋ค.
[โป3] ์ ๋ ํฐ์ ๊ฒฝ์ฐ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ๊ธฐ์ฌ๋๋ ์ ๋ ํฐ๋ฅผ ํค์ ๋ ํฐ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
DOM์์ ํน์ ์์๋ฅผ ์ง์ ํ๋ ์
๋ ํฐ๋ฅผ ์ฌ์ฉํ๋ ๋์
์คํ์ผ์ด ํ์ํ ์์ค์ ์ง์ ํด๋์ค๋ฅผ ์ฐ๋ ํธ์ด ํธํ ๊ฒฝ์ฐ๊ฐ ์ข
์ข
์์ต๋๋ค.
.header ul{}
๋ผ๋ ์
๋ ํฐ์ ์๋ฅผ ์๊ฐํด๋ด
์๋ค.
๋ฌธ์ ์ ul
์์๋ฅผ ์ฐ๋ฆฌ๋ค์ด ๋ง๋๋ ์น์ฌ์ดํธ์ ๋ฉ์ธ๋ค๋น๊ฒ์ด์
์ ๋น์ ํด ๋ด
์๋ค.
ul
์์๊ฐ ํด๋์ ์ค๊ฐ์ ์๊ณ ๊ฑฐ๊ธฐ์ ul
์์๋ฐ์ ์๋ค๊ณ ํ์๋ ์ข์ ์ ์
๋ ํฐ๋ ์ ์์ง์ผ๊ฒ๋๋ค.
๊ทธ๋ฌ๋ ์ด๊ฒ ์ด์์ ์ธ ์ ์ ํ ์
๋ ํฐ๋ผ๊ณ ๋ ๋งํ ์ ์์ต๋๋ค.
์ ์ง๋ณด์๋ฅผ ์๊ฐํ์ง ์๋๋ผ๋ ์
๋ ํฐ๋ก์ ์์๋ฅผ ์ ์ ํ์ง ์ง์ ํ๊ธฐ ์ด๋ ค์ด ์ํฉ์ด ์๊ธด ํ ๊ฒ๋๋ค.
์ด๋ฐ ์ํฉ์ ๋ณ๋์ ul
์์๋ฅผ ํด๋์ ์ถ๊ฐํ๋ฉด ์๋ํ์ง ์๋ ๋ค๋น๊ฒ์ด์
์ฉ ์คํ์ผ์ด ์ ์ฉ๋์ด์ ธ ๋ฒ๋ฆฝ๋๋ค.
์ด๋ ๊ฒ ๋๋ฉด ๋๋์ ์ฝ๋ ๋ฆฌํฉํ ๋ง์ ํด์ผํ๋ ๊ฐ .header
๋ด์ ๋ณ๋ ์ถ๊ฐํ ul
์์์ ๋ค๋น๊ฒ์ด์
์ ์คํ์ผ์ ์ง์์ผํ๋ ์ํฉ์ด ์๊ฒจ๋ฒ๋ฆฝ๋๋ค.
์
๋ ํฐ์ ์๋๋ ๋ฌด์์ ์คํ์ผ๋งํ๋๋๋ ๋ชฉ์ ์ ๋ฐ๋ฅธ ์๋์ ์ผ์นํ์ง ์์ผ๋ฉด ์๋ฉ๋๋ค.
์๋์ ๊ฐ์ด ํ๋ฒ ์ค์ค๋ก์๊ฒ ๋ฌผ์ด๋ณด์ธ์.
ใ๋๋ ์ด ์์๋ฅผ .header
๋ด์ ul
์ด๋ผ ์ ํํ๊ฒ์ธ๊ฐ? ์๋๋ฉด ์น์ฌ์ดํธ์ ๋ฉ์ธ ๋ค๋น๊ฒ์ด์
์ด๋ผ ์ ํํ๊ฑด๊ฐ?ใ
์ด ์ง๋ฌธ์ ๋ต์ ๋ฐ๋ผ ๋น์ ์ ์ธ ์ฉ๋์ ๋ง๋ ์
๋ ํฐ๊ฐ ์ ํ๋์ด์ง ๊ฒ์
๋๋ค.
ํค์
๋ ํฐ๋ ์์์ ํ์
์ ์ง์ ํ๊ฑฐ๋ ์ถ์์ค๋ธ์ ํ ์ ํด๋์ค๋ฅผ ์ง์ ํด๋ฒ๋ฆฌ๋ ๊ฒ์ฒ๋ผ ์ฌ์ฉํ์ง ๋ง์์ฃผ์ธ์.
.sidebar ul{}
๋ .footer .media{}
์ ๊ฐ์ ์
๋ ํฐ๋ฅผ ํ
๋ง์ฉ์ ์คํ์ผ์ํธ์์ ๊ตณ์ด ๋ณด๊ณ ์ถ์ง๋ ์์ ๊ฒ์
๋๋ค.
์ด์ฐ๋๋ ๋ช ์์ ์ด์ด์ผํฉ๋๋ค. ๊ฒฐ๋ก ์ ์ ์ ํ ํจ๊ณผ๋ฅผ ๋ณด๊ณ ์ถ์ ์์์ ๋ง์ถฐ ์ฌ์ฉํด์ผํฉ๋๋ค. ์ด ๋ถ๋ชจ์์๋ ์๋๋๋ค ๋ํ ๋งํฌ์ ์ด ๋ฐ๋๊ฒ์ ๋ฏธ๋ฆฌ ์๊ฐํ๊ณ ์ ์ํ์ฌ์๋ ์๋ฉ๋๋ค ํ์ฌ ์ด์ฉ๋ค ๊ทธ๋ฅ ๊ทธ๋ ๊ฒ ๋ง๋๋๊ฒ ์๋๋ผ ๊ผญ ํ์ํ ์์์ ๋ง์ถฐ ์ ๋ ํฐ๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค.
์ฌ๊ธฐ ์ ๋ฆฌ๋์ด์ ธ ์๋ ์ ์ ๊ธฐ์ฌ๊ฐ ์์ผ๋ ๊ผญ ์ฐธ์กฐํด์ฃผ์ธ์. Shoot to kill; CSS selector intent
!important
์ ์ํฌํธ์ ์ผ๋ก ์ฌ์ฉํ๋๊ฑด ์ข์ต๋๋ค.
!important
์ ๋ถ์ด๋ ๊ฒ๋ง์ผ๋ก ์ฐ์ ์ ์ผ๋ก ์ธ์ํ๋๊ฑธ ์์ ํ ์๊ฐํ๊ณ ์๋ค๋ฉด
๊ฐ์์ ์ผ๋ก!important๋ฅผ ๋ถ์ฌ๋ ๋์์ง ์์ต๋๋ค. ์๋ฅผ๋ค์ด
.error{ color:red!important }`๊ฐ์ ๊ฒ๋๋ค.
!important
์ ์ํ์ฐฉ์ค์ฉ์ผ๋ก ์ฌ์ฉํ๋๊ฑด (CSS๊ฐ ๊ผฌ์ฌ์ ์ด๋ป๊ฒ๋ ํ๊ณ ์ถ์๋) ๊ทธ๋ฅ ์ถ์ฒํ์ง ์์ต๋๋ค.
CSS๋ฅผ ๊ณ ์น๊ณ ์
๋ ํฐ๋ฅผ ๋ฆฌํฉํ ๋ง๊ฐ๋ฅํ๊ฒ ํด๋ณด๋ฉด์ ์ด ๊ผฌ์ธ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ๋ ํด๊ฒฐํ๋ ค๊ณ ํด๋ณด์ธ์
์
๋ ํฐ๋ ์งง๊ฒ ํ๊ณ ID๋ฅผ ํผํ๋๊ฒ ๋ง์ผ๋ก ์ด๋ฐ ๊ฒฝ์ฐ์ ๋ฌธ์ ๋ ๋๋ถ๋ถ ํด๊ฒฐ๋ฉ๋๋ค.
๋งค์ง๋๋ฒ๋ ์ ๋ใ์ด์ ๋๋ฉด ์ด๋ป๊ฒ๋ ๋๊ฒ ๋คใ๋ผ๋ ์ด์ ์์ ์ฌ์ฉํ๋ ์ซ์์ ๋๋ค. ์ ๊ทธ๊ฒ์ด ์์์ง์ด๋๊ฒ ์ ๋ง๋ก ์ฃผ๋ก ๋ฏธ๋์ฑ์ด ์๋์ง ์ ์ฐ์ฑ๊ณผ ๊ด์ฉ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ์ข์ง ์์ ์ผ์ ๋๋ค. ๋ฌธ์ ์ ์ ์ ํ ํด๊ฒฐ์ด ์๋๋ผ ๋์ฒ๋ฐฉ์๊ฐ์ ๊ฒ์ ๋๋ค.
์๋ฅผ๋ค์ด ๋ค๋น๊ฒ์ด์
์์์ ์๋์ ๋๋กญ๋ค์ด์์๋ฅผ ์์ง์ด๊ธฐ ์ํด
.dropdown-nav li:hover ul{ top:37px; }
๋ผ๋ ์ฝ๋ฉ์ ํ๋ฉด
37px์ด๋ผ๋ ๋งค์ง๋๋ฒ๊ฐ ๋์ค๊ธฐ ๋๋ฌธ์ ์ข์ง ์์ต๋๋ค.
์ด๋ฐ๊ฒฝ์ฐ .dropdown-nav
์ ์์๊ฐ 37px์ ๋์ด์์ ๋ฐ์ ์ ๋๋ก ์์ง์ด์ง ์์ต๋๋ค
๋์ .dropdown-nav li:hover ul{ top:100%; }
๋ผ๊ณ ์ฝ๋ฉํ๋ฉด
.dropdown-nav
์ด ์ด๋ค ๋์ด์ ์์ด๋ ๋๋กญ๋ค์ด์์๋ ๋ค๋น๊ฒ์ด์
์์์ ์์์๋ถํฐ ๋์ด 100%์ ์์น์ ํ์๋ฉ๋๋ค.
์์น๋ฅผ ์ง์ ์ฝ๋ฉํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ ๋งค๋ฒ 2๋ฒ์ ๋๋ ์ ์๊ฐํด์ฃผ์ธ์.
์ฆ ํค์๋๋ ๋ณ๋์ง์ ๏ผ์๋ฅผ๋ค์ดtop:100%
๋ผ๋๊ฑดใ์์์๋ถํฐ ๋์ด 100%์ ๋์ดใ๋ผ๋ ๋ณ๋์ง์ ๏ผ์ด
์ฌ์ฉํ ์ง ์๋์ง ์๋์ง ์ ๋ถ ์์น๋ฅผ ์ง์ ํ์ง ์๊ณ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋์ง ์ ์๊ฐํ๊ณ ์์
ํ์ธ์.
์ ๋ถ ํ๋์ฝ๋ฉํ ์์น๋ ๋ฐ๋์ ํ์ํ์ง ์์ ๋ ธ๋ ฅ์ผ ์ ์์ต๋๋ค.
IE์ฉ ์คํ์ํธ๋ ๋์ฒด๋ก ํผํ๋๊ฒ ๊ฐ๋ฅํฉ๋๋ค.(๊ตณ์ด ๋ฐ๋ก ์์ฑํ์ง ์์๋ ๋ฉ๋๋ค) IE์ฉ ์คํ์ผ์ํธ๊ฐ ํ์ํ ๊ฒฝ์ฐ๋ ๊ธฐ๋ฅ๋ถ์กฑ์ ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ์ํด์ ์ ๋๋ค.(PNGํฌ๋ช ๋ ์กฐ์ ๊ฐ์๊ฑฐ์ฃ )
์ผ๋ฐ์ ์ผ๋ก IE์ฉ ์คํ์ผ์ํธ๊ฐ ์์ด๋ ์ ๋ถ์ ๋ ์ด์์์ ๋ฃฐ์ด๋ ๋ฐ์ค๋ชจ๋ธ์ CSS๋ฅผ ๊ณ ์น๋๊ฑธ๋ก ์ ๋๋ก ๋ณด์ฌ์ง๊ธด ํฉ๋๋ค. ์ด๊ฑด ๊ฒฐ๊ตญ
<!--[if IE 7]> element{ margin-left:-9px; } < ![endif]-->
์๋ฐ ์ฝ๋๋ ๋จ์ํ๊ฒใ์ด๋ป๊ฒ๋ ํด๋ณด์ด๊ฒ ๋คใ๋ผ๋ ์์ ๋ง๊ตฌ์ก์ด๋ก ๋๋ด๋๊ฑธ ์๋ฏธํฉ๋๋ค.
๋ง์ฝ CSS์ ๋ฌธ์ ๊ฐ ๋ถ๋ชํ๋ค๋ฉด ๊ทธ ๋ฌธ์ ๋ฅผ ์์ ํ๊ณ ์ ํ๋ค๋ฉด ๋ฌด์๊ฐ ์ถ๊ฐํ๊ธฐ์ ์ ์ฝ๋๋ฅผ ์ญ์ ํฉ์๋ค ์ด๋ฏธ ์จ์ง CSS์ ๋ฌธ์ ๊ฐ ์์ด์ ๊ทธ CSS์ ๋ฌด์ธ๊ฐ ์ถ๊ฐํ๊ณ ์ ํ๋ค๋ฉด ๊ทธ๊ฑด ๋ฐ๋ฅธ ํด๊ฒฐ์ฑ ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
๋ฌธ์ ๊ฐ ์์ด์ง๊ธฐ ์ ์ ์์ฌ๋๋ ๋งํฌ์
๊ณผ CSS๋ฅผ ์ญ์ ํ๋ ๊ฑธ๋ก ์ด๋ ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๋์ง ์์ ์์ ๊ฒ๋๋ค.
์ด์ํ ๋ ์ด์์์ ์์ง์์ ์์ ๊ธฐ ์ํด ์ด๋๊ฐ์overflow:hidden;
์ ๋ฃ๊ณ ์ถ์ ์ ํน์ ์๋ฌ๋ฆฌ์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ overflowใฏ๋ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ๊ฒฐ๊ตญ ์ฆ์์ ๊ฐ์ ํ ๊ฒ ์๋๋ผ ์ฐ์ ๋ฌธ์ ๋ฅผ ์ ๋๋ก ํ์
ํ๊ณ ํด๊ฒฐํฉ์๋ค
์ ๋ ํ๋ฆฌํ๋ก์ธ์๋ก์จ Sass๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค ํ๋ฆฌํ๋ก์ธ์๋ ์๊ฒฉํ๊ฒ ์ฌ์ฉํฉ์๋ค Sass๋ CSS๋ฅผ ๋ณด๋ค ํ์ํํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด์ ์์์ ๋ง๋ ๊ตฌ์กฐ๋ฅผ ๋ง์น๋(์์์ ๋ ํฐ๋ฅผ ๋จ์ฉํ๋ค)์ผ์ ํผํฉ์๋ค. ์์์ ๋ง๋ ๊ตฌ์กฐ๋ผ๋ ๊ฒ์ ํ๋ฆฌํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ CSS๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ์๋ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ๋ง์ ๋๋ค. ๊ฒฐ๊ตญ
.header{}
.header .site-nav{}
.header .site-nav li{}
.header .site-nav li a{}
์ด๋ฐ ์์ฑ๋ฒ์ ์ง๊ธ๊น์ง์ ๋ฐฐ์ด๊ฑธ ์ค์ผ๋ก ๋ดค์ ๋ ํต์์ ์ธ css๋ก์จ ์ ํ ํ์๊ฐ ์์ผ๋ฏ๋ก Sass์์ ์๋์ ๊ฐ์ด ์ ๋ ๊ฒ์ ์ ๋ ์๋ฉ๋๋ค.
.header{
.site-nav{
li{
a{}
}
}
}
๋ง์ฝ์ Sass์์ ๋ค์์ ์๋ฅผ ์ ์๋๋ ์๋์ ๊ฐ์ด ํด์ฃผ์ธ์.
.header{}
.site-nav{
li{}
a{}
}