프로그래밍, 코딩, 컴퓨터/html, css, js

CSS 전처리기 - Less, Sass, Stylus 소개

마이데일리 2023. 6. 24. 19:26
반응형

프런트 엔드 개발의 세계에서 CSS 프리프로세서는 CSS 작성 프로세스를 간소화하고 향상시키는 데 매우 중요한 도구가 되었습니다. Less, Sass 및 Stylus와 같은 전처리기는 강력한 기능을 통해 전 세계 개발자들 사이에서 인기를 얻었습니다. 이 글에서는 CSS 전처리기의 세계를 탐구하고 이들이 제공하는 이점을 살펴보고 Less, Sass 및 Stylus의 세 가지 주요 전처리기를 소개합니다.

CSS 전처리기는 변수, 믹스인, 함수 및 중첩과 같은 프로그래밍과 유사한 기능을 도입하여 표준 CSS의 기능을 확장하는 도구입니다. 이를 통해 개발자는 보다 깨끗하고 모듈식이며 유지 관리 가능한 CSS 코드를 작성할 수 있습니다. 전처리기는 전처리기별 구문을 해석한 다음 브라우저가 이해할 수 있는 표준 CSS로 컴파일하여 작동합니다.

 

 

Less:

Less는 가장 초기의 CSS 전처리기 중 하나이며 CSS와 유사한 구문을 가지고 있습니다. Alexis Sellier가 개발한 Less는 변수, 믹스인, 함수 및 중첩을 도입하여 CSS 작성을 단순화합니다. 색상 작업, 수학 계산 및 외부 파일 가져오기와 같은 다양한 기능을 제공합니다.

 

 

Less의 주요 기능:

  1. 변수: Less를 사용하면 재사용 가능한 값을 저장할 변수를 정의할 수 있으므로 코드베이스 전체에서 값을 쉽게 업데이트할 수 있습니다.
  2. 믹스인: 혼합은 다양한 스타일에 포함될 수 있는 재사용 가능한 CSS 코드 블록입니다. 이는 코드 재사용을 촉진하고 유지 관리를 단순화합니다.
  3. 중첩: Less는 중첩 스타일을 허용하므로 가독성이 향상되고 반복적인 클래스 선택자의 필요성이 줄어듭니다.
  4. 함수: Less에는 색상 조작이나 계산 수행과 같은 값에 대한 작업을 수행하는 데 사용할 수 있는 내장 함수 세트가 포함되어 있습니다.
  5. 가져오기: Less를 사용하면 외부 Less 파일을 가져올 수 있으므로 스타일을 모듈식 구성 요소로 분할할 수 있습니다.

 

 

Sass:

Sass는 처음에 Ruby로 작성되었다가 나중에 CSS로 컴파일된 CSS 전처리기입니다. 광범위한 기능 세트와 대규모 커뮤니티 지원으로 인해 상당한 인기를 얻었습니다. Sass는 원래 "Sass" 구문(들여쓰기 기반)과 새로운 "SCSS" 구문(CSS와 유사)의 두 가지 구문을 도입했습니다.

 

 

Sass의 주요 기능:

  1. 변수: Sass는 개발자가 스타일시트 전체에서 값을 정의하고 재사용할 수 있도록 하는 변수를 지원합니다.
  2. 믹스인: 믹스인을 사용하면 스타일과 인수를 포함하여 재사용 가능한 코드 블록을 정의할 수 있으므로 유연한 모듈식 스타일시트를 쉽게 만들 수 있습니다.
  3. 중첩: Sass는 선택자의 중첩을 허용하여 보다 체계적이고 읽기 쉬운 코드를 생성하는 데 도움을 줍니다.
  4. 함수: Sass는 일련의 내장 함수를 제공하며 개발자가 사용자 지정 함수를 만들어 값에 대해 복잡한 작업을 수행할 수 있도록 합니다.
  5. 가져오기: Sass를 사용하면 스타일시트를 더 작고 관리하기 쉬운 파일로 나눌 수 있는 부분 파일을 가져올 수 있습니다.

 

 

Stylus:

Stylus는 간결하고 유연한 구문으로 유명한 CSS 전처리기입니다. Express 및 Koa와 같은 인기 있는 Node.js 프레임워크의 개발자인 TJ Holowaychuk이 만들었습니다. Stylus는 최소한의 접근 방식을 채택하여 개발자가 최소한의 구두점으로 CSS를 작성할 수 있도록 합니다.

 

 

Stylus의 주요 기능:

  1. 간결한 구문: Stylus에는 중괄호와 세미콜론이 생략된 최소한의 구문이 있어 코드가 더 깨끗하고 간결해집니다.
  2. 변수: Stylus는 스타일시트 전체에서 값을 저장하고 재사용하기 위한 변수를 지원합니다.
  3. 혼합: Stylus의 혼합은 다른 전처리기의 혼합과 유사하며 재사용 가능한 코드 블록을 제공합니다.
  4. 중첩: Stylus는 중첩된 선택기를 지원하여 가독성을 높이고 복잡한 스타일을 더 쉽게 관리할 수 있도록 합니다.
  5. 확장성: Stylus를 사용하면 사용자 지정 기능을 생성할 수 있으므로 확장성이 뛰어나고 특정 프로젝트 요구 사항에 적응할 수 있습니다.

 

 

전체코드확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE html>
<html>
<head>
  <title>Sass Example</title>
  <style>
    /* Variables */
    :root {
      --primary-color: #FF6347;
      --secondary-color: #3CB371;
    }
 
    /* Mixin */
    @mixin button-styles($background-color, $color) {
      background-color: $background-color;
      color: $color;
      padding: 10px 20px;
      border-radius: 4px;
    }
 
    /* Nesting */
    .container {
      width: 100%;
    }
 
    .container .header {
      background-color: var(--primary-color);
      color: white;
      padding: 20px;
    }
 
    .container .header h1 {
      font-size: 24px;
      margin-bottom: 10px;
    }
 
    .container .content {
      background-color: var(--secondary-color);
      color: white;
      padding: 30px;
    }
 
    /* Usage */
    .button {
      @include button-styles(var(--primary-color), white);
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="header">
      <h1>My Website</h1>
    </div>
    <div class="content">
      <p>Welcome to my website!</p>
      <button class="button">Click me</button>
    </div>
  </div>
</body>
</html>
 
cs

실행화면

css 전처리기

 

 

결론:

Less, Sass 및 Stylus와 같은 CSS 전처리기는 개발자가 CSS 코드를 작성하고 구성하는 방식에 혁신을 가져왔습니다. 변수, 믹스인, 함수 및 중첩을 도입함으로써 이러한 전처리기는 코드 재사용성을 촉진하고 가독성을 높이며 유지 관리를 단순화합니다. Less, Sass 및 Stylus는 많은 유사점을 공유하지만 각각 고유한 구문과 고유한 기능 집합을 가지고 있어 다양한 개발자의 기본 설정과 요구 사항을 충족합니다.

 

CSS 전처리기를 작업 흐름에 통합하면 생산성을 크게 향상하고 스타일시트를 보다 효율적으로 만들 수 있습니다. 그렇다면 Less, Sass 또는 Stylus를 사용해 보고 CSS 사전 처리의 이점을 직접 경험해 보는 것은 어떨까요?

 

 

[관련글]

[html, css, js] - HTML Iframe(아이프레임) 사용법

 

HTML Iframe(아이프레임) 사용법

HTML iframe(아이프레임) 는 웹 개발자들이 다른 웹페이지의 내용을 다른 페이지 안에서 보여줄 기능입니다. 비디오, 지도, 소셜 미디어 피드 또는 기타 유형의 외부 콘텐츠를 표시하려는 경우, ifram

2toy.tistory.com

[html, css, js] - HTML에 대한 소개 - 기초

 

HTML에 대한 소개 - 기초

HTML은 Hyper Text Markup Language의 약자로 웹 페이지를 만들기 위한 언어입니다. HTML은 웹 페이지의 구조, 콘텐츠, 레이아웃 등을 정의하는 데 사용됩니다. HTML로 작성된 웹 페이지는 브라우저에서 열

2toy.tistory.com

[html, css, js] - HTML 태그 및 요소, 속성 이해하기

 

HTML 태그 및 요소, 속성 이해하기

HTML(Hyper Text Markup Language)은 웹 페이지를 만들기 위해 사용되는 프로그래밍 언어입니다. HTML은 태그와 요소로 이루어져 있습니다. HTML 태그와 요소에 대한 이해는 웹 디자인 및 개발에서 기본이

2toy.tistory.com

[html, css, js] - CSS grid 그리드 기초 및 활용 방법

 

CSS grid 그리드 기초 및 활용 방법

CSS Grid는 개발자가 정교한 그리드 기반 디자인을 만들 수 있는 강력한 레이아웃 시스템입니다. 이 블로그 게시물에서는 CSS 그리드의 기본 사항을 살펴보고 그리드 레이아웃을 만드는 방법을 시

2toy.tistory.com

[html, css, js] - html, css, javascript를 활용한 간단 게시판 프로그램

 

html, css, javascript를 활용한 간단 게시판 프로그램

이 글은 html, css, javascript를 활용한 간단 게시판 프로그램 입니다. 게시물은 양식 아래에 표시되며 작성자의 이름과 게시물의 내용이 포함됩니다. 양식이 제출되면 JavaScript 코드는 새 게시물 요

2toy.tistory.com

반응형