Skip to content
yjkwon07 edited this page Jul 22, 2019 · 3 revisions

CSS

HTML๊ณผ CSS๊ฐ€ ๋งŒ๋‚˜๋Š” ๋ฒ•

1. ์„ ํƒ์ž

1-1. ์„ ํƒ์ž์™€ ์„ ์–ธ

li {
        color:red;
        text-decoration:underline;
}

1-2. ์„ ํƒ์ž์˜ ์ข…๋ฅ˜

1. ํƒœ๊ทธ ์„ ํƒ์ž

๋ฌธ์„œ์˜ ๋ชจ๋“  li ํƒœ๊ทธ๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

li{color:red}

2. ํด๋ž˜์Šค ์„ ํƒ์ž

ํด๋ž˜์Šค ์†์„ฑ์˜ ๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ๋“ค์„ ์„ ํƒํ•˜๋Š” ์„ ํƒ์ž์ž…๋‹ˆ๋‹ค.

3. ์•„์ด๋”” ์„ ํƒ์ž

๋ฌธ์„œ์—์„œ id๊ฐ’์ด select์ธ ํƒœ๊ทธ๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

#select{font-color:50px;}

1-3. ๋ถ€๋ชจ ์ž์‹ ์„ ํƒ์ž

practice

Answer

CheatSheet

1-4. ๊ฐ€์ƒ ํด๋ž˜์Šค ์„ ํƒ์ž(pseudo)

๊ฐ€์ƒ(pseudo) ํด๋ž˜์Šค ์„ ํƒ์ž๋Š” ํด๋ž˜์Šค ์„ ํƒ์ž๋Š” ์•„๋‹ˆ์ง€๋งŒ ์—˜๋ฆฌ๋จผํŠธ๋“ค์˜ ์ƒํƒœ์— ๋”ฐ๋ผ์„œ ๋งˆ์น˜ ํด๋ž˜์Šค ์„ ํƒ์ž์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ๋ถ™์€ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ฃผ์š” ํด๋ž˜์Šค ์„ ํƒ์ž๋ฅผ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

1-4-1. ๋งํฌ์™€ ๊ด€๋ จ๋œ ๊ฐ€์ƒ ํด๋ž˜์Šค ์„ ํƒ์ž

:link - ๋ฐฉ๋ฌธํ•œ ์ ์ด ์—†๋Š” ๋งํฌ
:visited - ๋ฐฉ๋ฌธํ•œ ์ ์ด ์žˆ๋Š” ๋งํฌ
:hover - ๋งˆ์šฐ์Šค๋ฅผ ๋กค์˜ค๋ฒ„ ํ–ˆ์„ ๋•Œ 
:active - ๋งˆ์šฐ์Šค๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ 

์œ„์˜ ์„ ํƒ์ž๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํŠนํžˆ visited์˜ ๊ฒฝ์šฐ๋Š” ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ์†์„ฑ๋งŒ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

color
background-color
border-color
outline-color
The color parts of the fill and stroke properties

2. ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ฝ

2-1. font-size

1. rem

html ํƒœ๊ทธ์— ์ ์šฉ๋œ font-size์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. html ํƒœ๊ทธ์˜ ํฐํŠธ ํฌ๊ธฐ์— ๋”ฐ๋ผ์„œ ์ƒ๋Œ€์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋ฐ”๋žŒ์งํ•œ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

2. px

๋ชจ๋‹ˆํ„ฐ ์ƒ์˜ ํ™”์†Œ ํ•˜๋‚˜์˜ ํฌ๊ธฐ์— ๋Œ€์‘๋˜๋Š” ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ๊ณ ์ •๋œ ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค๋งŒ, ์‚ฌ์šฉ์ž๊ฐ€ ๊ธ€๊ผด์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๊ธ‰์  ์‚ฌ์šฉ์„ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

3. em

๋ถ€๋ชจ ํƒœ๊ทธ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์ƒ๋Œ€์ ์ธ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค. ๋ถ€๋ชจ์˜ ํฌ๊ธฐ์— ์˜ํ–ฅ์„ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์•…ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. rem์ด ๋“ฑ์žฅํ•˜๋ฉด์„œ ์ด ๋‹จ์œ„ ์—ญ์‹œ ์‚ฌ์šฉ์ด ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

2-3. color

Color FlatUI

2-4. text-align

text-align์˜ ๊ฐ’์œผ๋กœ ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฐ’์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

left
right
center
justify

2-5. font

1. font-family

serif (์žฅ์‹์ด ์žˆ๋Š” ํฐํŠธ)
sans-serif
cursive (ํ˜๋ฆผ์ฒด)
fantasy
monospace (๊ณ ์ •ํญ)

2-6. ์„œ์ฒด

๊ณ ์ •ํญ๊ณผ ๊ฐ€๋ณ€ํญ

2-7. ์›นํฐํŠธ

egoing

3. ์กฐํ™”

3-1. ์ƒ์†(inheritance)

3-1-1. ์ƒ์†์„ ํ•˜๋Š” ์†์„ฑ๊ณผ ํ•˜์ง€ ์•Š๋Š” ์†์„ฑ

www.w3.org

3-2. stylish

stylish

3-3. ์บ์Šค์ผ€์ด๋”ฉ

CSS๋Š” Cascading Style Sheet์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค.

์›นํŽ˜์ด์ง€์˜ ๋””์ž์ธ์ด ์›น๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋ณธ ๋””์ž์ธ๊ณผ ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์šฉ์ž์˜ ๋””์ž์ธ ๊ทธ๋ฆฌ๊ณ  ์›นํŽ˜์ด์ง€ ์ €์ž์˜ ๋””์ž์ธ์ด ๊ฒฐํ•ฉ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์ฐฉ์•ˆํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

style attribute > id selector > class selector > tag selector

ํฌ๊ด„์ ์ธ๊ฒƒ์ด ๋” ์ž‘๋‹ค.

4. ๋ ˆ์ด์•„์›ƒ!!!!

4-1. ์ธ๋ผ์ธ VS ๋ธ”๋Ÿญ๋ ˆ๋ฐธ

html ์—˜๋ฆฌ๋จผํŠธ๋“ค์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

  • ํ™”๋ฉด ์ „์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ => block element
  • ํ™”๋ฉด์˜ ์ผ๋ถ€๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ํƒœ๊ทธ => inline level element

์ด ๊ณผ์ •์—์„œ display๋ผ๋Š” ์ค‘์š”ํ•œ ์†์„ฑ์— ๋Œ€ํ•ด์„œ๋„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

        h1,a{border:1px solid red;}
        h1{display: inline;}
        a{display:block;}

4-2. ๋ฐ•์Šค๋ชจ๋ธ

goJsBin

4-3. box-sizing

goJsBin

4-4. ๋งˆ์ง„๊ฒน์นจ ํ˜„์ƒ!!!

์ฐธ๊ณ 

๋งˆ์ง„๊ฒน์นจ(margin-collapsing) ํ˜„์ƒ์€ ์ƒํ•˜ ๋งˆ์ง„๊ฐ’์ด ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์‚ฌ๋ผ์ง€๋Š” ํ˜„์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ํ˜„์ƒ์€ ์ดˆ์‹ฌ์ž์—๊ฒŒ๋Š” ์ค‘์š”ํ•œ ๋‚ด์šฉ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง€๋‚˜์น˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉด ์‹ค๋ฌด๋ฅผ ํ•  ๋•Œ ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” CSS์˜ ๋™์ž‘์œผ๋กœ ์ธํ•ด์„œ ๊นŠ์€ ํ™”๋‚จ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ ์–ธ์  ๊ฐ€๋Š” ๋ณด์‹œ๋Š”๊ฒŒ ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ 

code

4-5. ํฌ์ง€์…˜

offset!!!!

static
relative
absolute
fixed

1. relative

  • ๋ถ€๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœํ•ด์„œ ์œ„์น˜๊ฐ€ ์ •ํ•ด์ง„๋‹ค.

relative

2. absolute

  • ๋ถ€๋ชจ ์ค‘์— ํฌ์ง€์…˜ ํƒ€์ž…์ด ์ง€์ •๋œ ๋ถ€๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ด์„œ ์œ„์น˜๊ฐ€ ์ง€์ •์ด ๋˜๊ณ  ๋ถ€๋ชจ์™€์˜ ๊ด€๊ณ„์„ฑ์ด ๋Š๊ธฐ๊ธฐ ๋•Œ๋ฌธ์— ์ž์‹ ์˜ ์ฝ˜ํ…์ธ  ํฌ๊ธฐ๋งŒ ํ•ด์ง„๋‹ค. css์†์„ฑ์ด ๋Š์–ด์ง€๋Š”๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

  • absoulte์˜ ๋ถ€๋ชจ๋ฅผ ์ฐพ๋Š”๋‹ค. default -> body
  • absoulte์˜ left, right๋Š” ๋ถ€๋ชจ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœํ•ด์„œ ์ž๊ธฐ๊ฐ€ ์›๋ž˜ ์œ„์น˜ํ•ด์•ผ ๋  ๊ทธ ์œ„์น˜์— ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ค€๋‹ค.
  • absoulte๋ฅผ ํ•˜๊ฒŒ๋˜๋ฉด ๋” ์ด์ƒ ๋ถ€๋ชจ์˜ ์†Œ์†์ด ์•„๋‹ˆ๋‹ค.
  • ํ•ด๋‹น ์—˜๋ฆฌ๋จผํŠธ์˜ ํฌ๊ธฐ๊ฐ€ ํฌ๊ธฐ๊ฐ€ ์ž์‹ ์˜ content size ์„ค์ •์ด ๋œ๋‹ค.

absolute

3. fixed

fixed

4-6. flex

4-6-1. flex์˜ ์—ฌ๋Ÿฌ ์†์„ฑ๋“ค

flex

1. flex-direction
row: row-reverse: column: column-reverse:

2. flex-wrap
nowrap: wrap: wrap-reverse:

3. align-items
flex-start: flex-end: center: baseline: stretch:

4. justify-content
flex-start: flex-end: space-between: center: space-around:

5. align-content 
flex-start: flex-end: center: space-between: space-around: stretch:

6. align-self
auto: flex-start: flex-end: center: baseline: stretch:

7. flex-grow
flex-shrink 

8. flex
.item { flex: flex-grow [flex-shrink] [flex-basis]; }

9. order

4-7. media query

w3schools.com

4-8. float

float:left

clear:left , right, both;

egoing

4-9. ๋‹ค๋‹จ(multi column)

๋‹ค๋‹จ(multi column)์€ ์‹ ๋ฌธ์ฒ˜๋Ÿผ ํ™”๋ฉด์„ ๋ถ„ํ• ํ•ด์„œ ์ข€ ๋” ์ฝ๊ธฐ ์‰ฝ๋„๋ก ๋งŒ๋“  ๋ ˆ์ด์•„์›ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. CSS์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ ˆ์ด์•„์›ƒ์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    .column{
        text-align: justify;
        column-count: 4;
/*        column-width: 200px;*/
        column-gap:30px;
        column-rule-style: solid;
        column-rule-width: 5px;
        column-rule-color: red;
      }
      h1{
        column-span: all;
      }
    </style>

5. ๊ทธ๋ž˜ํ”ฝ

5-1. ๋ฐฐ๊ฒฝ(background)

{
  background-color : red
  background-image : url("bg.png")
  background-repeat : repeat, no-repeat, repeat-x, repeat-y
  background-attachment : scroll, fixed
  background-position : left top  or x% y% or x y
  background-size : 100px 100px or cover or 
  contain
}

w3school

5-2. ํ•„ํ„ฐ(filter)

CSS filter playground

CSS-TRICKS - filter

img {
 -webkit-filter: grayscale(0%);
 -o-filter: grayscale(0%);
 filter: graysacle(0%);
}

5-3. ํ˜ผํ•ฉ(blend)

5-3-1. background-blend-mode

๋ฐฐ๊ฒฝ ๊ทธ๋ž˜ํ”ฝ ๊ฐ„์˜ ๋ธ”๋žœ๋“œ ํšจ๊ณผ

5-3-2. mix-blend-mode

์ปจํ…ํŠธ์™€ ๋ฐฐ๊ฒฝ ์‚ฌ์ด์˜ ๋ธ”๋žœ๋“œ ํšจ๊ณผ

codepen.io ๋ธ”๋žœ๋“œ ์˜ˆ์ œ

5-4. ๋ณ€ํ˜•(transform)

transform์€ ์—˜๋ฆฌ๋จผํŠธ์˜ ํฌ๊ธฐ, ์œ„์น˜, ๋ชจ์–‘์„ ๋ณ€๊ฒฝํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

egoing

MDN_transform

hover.css

CSShake

magic animation

5-5. SVG

svg๋Š” ๋ฐฑํ„ฐ(vector) ์ด๋ฏธ์ง€๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ํฌ๋งท์œผ๋กœ w3c์—์„œ ๋งŒ๋“  ๋ฐฑํ„ฐ ์ด๋ฏธ์ง€ ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. SVG ์ž์ฒด๋Š” CSS๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค๋งŒ CSS๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค์–‘ํ•œ ํšจ๊ณผ๋ฅผ ์ค„ ๋•Œ SVG๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋–„๋ฌธ์— ์—ฌ๊ธฐ์„œ๋Š” SVG์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์–ธ๊ธ‰๋งŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  img{
        width:400px;
  }

  .svg{
        height:400px;
        background-image: url(sample_vector.svg)
   }
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="210" height="210">
  <rect x="5" y="5" width="200" height="200" style="fill:red; stroke:black; stroke-width:10px"></rect>
</svg>

egoing

6. ๋ชจ์…˜๊ทธ๋ž˜ํ”ฝ

6-1. ์ „ํ™˜(transition)

์ „ํ™˜์€ ํšจ๊ณผ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” CSS์˜ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ด์™€ ๊ด€๋ จ๋œ ๊ฒƒ์œผ๋กœ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์†์„ฑ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

transition-duration
transition-property
transition-delay
transition-timing-function
transition
 a{
      font-size:3rem;
      display:inline-block;
/*
      transition-property: font-size transform;
      transition-duration: 0.1s;
      transition:all 0.1s;
*/
     /* transition:all 0.1s;*/
    transition:font-size 1s, transform 0.1s;

    }
    a:active{
      transform:translate(20px, 20px);
      font-size:2rem;
    }

goJsBin

goJsBin

transition timming function ๋งŒ๋“ค๊ธฐ

7. ์œ ์ง€๋ณด์ˆ˜

์œ ์ง€ํ•˜๊ณ  ๋ณด์ˆ˜ํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋””์ž์ธ์„ ๊ณผ๊ฐํ•˜๊ฒŒ ์ „๊ฐœํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ค์šด ์ผ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ผ์ •ํ•œ ๊ทœ๋ชจ์˜ ์‚ฌ์ดํŠธ๊ฐ€ ๋˜๋ฉด ์œ ์ง€๋ณด์ˆ˜๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•ด์„œ ํ”„๋กœ์ ํŠธ์˜ ๋ณต์žก๋„๋ฅผ ๋‚ฎ์ถ”๋Š” ๊ฒƒ์€ ์ •๋ง ์ค‘์š”ํ•œ ์ผ์ด ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋Œ€๊ทœ๋ชจ์˜ CSS ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ๋•Œ ํ•„์š”ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ…Œํฌ๋‹‰๋“ค์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

7-1 link์™€ import

๋˜‘๊ฐ™์€ CSS๋ฅผ ์ ์šฉํ•ด์•ผ ํ•˜๋Š” ์›นํŽ˜์ด์ง€๊ฐ€ 1000๊ฐœ๊ฐ€ ์žˆ์„ ๋•Œ CSS์˜ ๋‚ด์šฉ์ด ๋ฐ”๋€Œ์—ˆ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”? ์•„๋งˆ ์ฒœ๊ฐœ์˜ ์›นํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ์ˆ˜์ •ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ CSS์˜ ์ˆ˜์ •์„ ์†Œ๊ทน์ ์œผ๋กœ ๋งŒ๋“ค๊ณ  ๊ทธ๊ฒƒ์€ ๊ณง ์•„๋ฆ„๋‹ค์›€์„ ์–ต์••ํ•˜๋Š” ์•”๋‹ดํ•œ ์žฅ์• ๋ฌผ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๊ทผ๋ณธ์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ธ link ํƒœ๊ทธ์™€ @import์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

์™ธ๋ถ€๋กœ ํŒŒ์ผ์„ ๋นผ๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

  1. <style>@import url("style.css")</style>
<!doctype html>
<html>
<head>
<!--    <link rel="stylesheet" href="style.css">-->
    <style>
        @import url("style.css")
    </style>
</head>
<body>
    <h1>page2</h1>
</body>
</html>
h1{
    color:red;
}

7-2. ์ฝ”๋“œ ์ •๋Ÿ‰ํ™”(minify)

CSS๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ CSS์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๋ฉด ์ปจํ…์ธ ์˜ ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž ๋ชจ๋‘์—๊ฒŒ ์†ํ•ด์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์„ ํ†ตํ•ด์„œ ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•ด์ฃผ๋Š” ๋„๊ตฌ๊ฐ€ minify ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ฝ”๋“œ๋ฅผ ๊ฒฝ๋Ÿ‰ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

http://adamburgess.github.io/clean-css-online/

clen-css

clean-css๋ž‘ clean-css-cli ๋กœ ๋‚˜๋‰˜์—ˆ๋‹ค.
clean-css-cli ์„ค์น˜

7-3. CSS ๋›ฐ์–ด๋„˜๊ธฐ (preprocessor)

CSS๋Š” ๋›ฐ์–ด๋‚œ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ CSS๊ฐ€ ๋ชจ๋“  ๋ฉด์—์„œ ์ข‹์„์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์–ด๋–ค ์ด๋“ค์€ CSS์— ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์„ ๋”ํ•œ ์ƒˆ๋กœ์šด ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ณ  ์ด ์–ธ์–ด์— ๋”ฐ๋ผ์„œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์‹คํ–‰์‹œํ‚ค๋ฉด ๊ฒฐ๊ณผ์ ์œผ๋กœ CSS๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋„๊ตฌ๋“ค์„ ๊ฐœ๋ฐœํ–ˆ๋Š”๋ฐ์š”. ์ด๋Ÿฐ ๋„๊ตฌ๋ฅผ preprocessor์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ด๋Ÿฐ ๋„๊ตฌ๋“ค์˜ ๊ฐœ๋…๊ณผ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

์•„๋ž˜๋Š” ๋Œ€ํ‘œ์ ์ธ preprocessor๋“ค์ž…๋‹ˆ๋‹ค

http://lesscss.org/ (์˜จ๋ผ์ธ ๋ณ€ํ™˜๊ธฐ)

http://sass-lang.com/

https://csspre.com/compile/ (์˜จ๋ผ์ธ ๋ณ€ํ™˜๊ธฐ)

์•„๋ž˜๋Š” ์ด๋Ÿฐ ๋„๊ตฌ๋“ค์— ๋Œ€ํ•ด์„œ ๋น„๊ตํ•œ ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค.

https://csspre.com/compile/

7-3-1. preprocessor๋ž€ ๋ฌด์—‡์ผ๊นŒ?

  1. ๋„ค์ด์ŠคํŒ… ๊ธฐ๋Šฅ

8. library

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(library)๋Š” ๋„์„œ๊ด€์ด๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ๋„์„œ๊ด€์ด๋ž€ ์–ด๋–ค ๊ณต๊ฐ„์ธ๊ฐ€์š”? ๊ณต์šฉ์œผ๋กœ ์ฑ…์„ ๊ณต์œ ํ•˜๋Š” ๊ณต๊ฐ„/์ฒด๊ณ„๋ฅผ ์šฐ๋ฆฌ๋Š” ๋„์„œ๊ด€์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋„์„œ๊ด€์˜ ์ด๋Ÿฐ ์—ญํ• ์„ ๋น„์œ ๋กœ ์ฑ„ํƒํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ๋งŽ์€ ๊ณณ์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋ถ€ํ’ˆํ™”ํ•œ ๊ฒƒ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. CSS์—๋„ ์ด๋Ÿฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ค‘์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์˜ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

8-1. fontello

๋”ฉ๋ฒณํฐํŠธ๋Š” ํฐํŠธ ๋Œ€์‹  ์–ด๋–ค ๋ฌธ์ž์— ํ•ด๋‹นํ•˜๋Š” ์ด๋ฏธ์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ํฐํŠธ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. fontello๋Š” ๋”ฉ๋ฒณ์ด๋‚˜ ์•„์ด์ฝ˜์„ ํฐํŠธ๋กœ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋ฅผ ๋ชจ์•„๋‘” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ํŠนํžˆ SVG ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋ฉด ํฐํŠธ๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

egoing

fontawesome.com

http://fontello.com/

thenounproject.com

Clone this wiki locally