๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปWEB FrontEnd/CSS3

CSS3์™€ CSS๋ชจ๋“ˆ

<Do it! HTML5+CSS3>์„ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

๋ชฉ์ฐจ

  • CSS3
  • 1) CSS3์™€ ๋ธŒ๋ผ์šฐ์ € ์ ‘๋‘์‚ฌ(prefix)
  • 2) ๋ธŒ๋ผ์šฐ์ € ์ ‘๋‘์‚ฌ ์ž๋™์œผ๋กœ ๋ถ™์ด๊ธฐ

 

CSS3

  • CSS๋Š” ์›น ๋ฌธ์„œ์˜ ์ „๋ฐ˜์ ์ธ ์Šคํƒ€์ผ์„ ๋ฏธ๋ฆฌ ์ €์žฅํ•ด ๋‘” ์Šคํƒ€์ผ์‹œํŠธ์ด๋‹ค.
  • CSS์„ ์ €์žฅํ•ด ๋‘๋ฉด ์›น ํŽ˜์ด์ง€์˜ ํ•œ ๊ฐ€์ง€ ์š”์†Œ๋งŒ ๋ณ€๊ฒฝํ•ด๋„ ๊ด€๋ จ๋˜๋Š” ์ „์ฒด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์ด ํ•œ๊บผ๋ฒˆ์— ๋ณ€๊ฒฝ๋˜๋ฏ€๋กœ, ๋ฌธ์„œ ์ „์ฒด์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ณ  ์ž‘์—… ์‹œ๊ฐ„๋„ ๋‹จ์ถ•๋œ๋‹ค.
  • CSS3์˜ ๊ฒฝ์šฐ ๊ทธ๋ฆผ์ž ํšจ๊ณผ, ๊ทธ๋ผ๋ฐ์ด์…˜, ๋ณ€ํ˜• ๋“ฑ ๊ทธ๋ž˜ํ”ฝ ํŽธ์ง‘ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ œ์ž‘ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์–‘ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์–ด ์–ด๋„๋น„ ํ”Œ๋ž˜์‹œ๋ฅผ ์–ด๋Š ์ •๋„ ๋Œ€์ฒดํ•˜๊ณ  ์žˆ๋‹ค.

 

1) CSS3์™€ ๋ธŒ๋ผ์šฐ์ € ์ ‘๋‘์‚ฌ(prefix)

CSS3 ํ‘œ์ค€ ๊ทœ์•ฝ์ด ์™„์„ฑ๋˜์ง€ ์•Š์•„ ๋ธŒ๋ผ์šฐ์ €๋“ค์ด ์ƒˆ๋กœ์šด CSS3์†์„ฑ์„ ๋ถ€๋ถ„์ ์œผ๋กœ๋งŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€๋ถ€๋ถ„์˜ CSS3 ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์†์„ฑ ์ด๋ฆ„ ์•ž์— ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

  • - webkit - :  ์›นํ‚คํŠธ ๋ฐฉ์‹ ๋ธŒ๋ผ์šฐ์ €์šฉ(์‚ฌํŒŒ๋ฆฌ, ํฌ๋กฌ ๋“ฑ)
  • - moz - :  ๊ฒŒ์ฝ” ๋ฐฉ์‹ ๋ธŒ๋ผ์šฐ์ €์šฉ(๋ชจ์งˆ๋ผ, ํŒŒ์ด์–ดํญ์Šค ๋“ฑ)
  • - o - :  ์˜คํŽ˜๋ผ ๋ธŒ๋ผ์šฐ์ €
  • - ms - :  ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ

 

2) ๋ธŒ๋ผ์šฐ์ € ์ ‘๋‘์‚ฌ ์ž๋™์œผ๋กœ ๋ถ™์ด๊ธฐ

[ํŒŒ์ผ ์‚ฌ์ดํŠธ]์— ๋“ค์–ด๊ฐ€ 'only 2KB gzipped'๋ฅผ ํด๋ฆญํ•ด ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›๊ณ  ์›น๋ฌธ์„œ ํŒŒ์ผ๋กœ ๋Œ์•„์™€ <script>ํƒœ๊ทธ๋ฅผ ์ด์š”ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์›น ๋ฌธ์„œ์— ์—ฐ๊ฒฐ๋งŒ ํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์ด์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

<!DOCTYPE HTML>
<html lang="ko">
<head>
  <meta charset="utf-8">
  <title>Transform</title>
  <script src="prefixfree.min.js"></script>
  <style>
    .box{
      position:absolute;
      left:50px;
      top:70px;
      width:100px;
      height:60px;
      background:#fff;
      border:2px solid green;
      text-align:center;
      line-height:60px;
    }
    .box:hover {
      transform: rotate(15deg);
    }
  </style>
</head>

<body>
  <div class="box">Mouse Over</div>
</body>
</html>