본문 바로가기
개발공부_Blog/React.js

SCSS 문법 (Nesting)

by 독서개발자 2022. 9. 4.

SCSS는 CSS의 부족한 부분을 채줘주기 위한 CSS의 확장언어이다. 

  • 중첩 Nesting
  • 변수 Variable
  • 모듈화 Modularity
  • 믹스인 Mixins
  • 확장&상속 Extend&inheritance
  • 연산자Operators

 

중첩(Nesting)

상위 선택자의 반복을 피해서 편리하고 복잡한 구조를 작성할 수 있습니다.

이것은 선택자나 속성의 관계를 중첩 형태로 표현된 문법입니다. 

( 단, 지나치게 중첩된 규칙은 유지하기 어려운 것으로 판명될 수 있고, 나쁜 습관으로 간주되는 CSS를 초래할 수 있음 !)

// CSS

nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
nav li {
  display: inline-block;
}
nav a {
  display: block;
  padding: 6px 12px;
  text-decoration: none;
}
// SCSS 
nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  li { display: inline-block; }

  a {
    display: block;
    padding: 6px 12px;
    text-decoration: none;
  }
}

<ul>, <li> 및 <a> 선택자가 <nav>내부에 중첩되어 있음을 알 수 있다.

SCSS의 중첩규칙을 사용해 <nav>부모 선택자의 중복 작성을 피하고, 선택자 사이의 관계를 보기 쉽게 만들 수 있다.

 

 

 

속성중첩

CSS의 공통된 네임스페이스 속성을 중첩할 수도 있다.

'font-'로 시작하는 속성을 살펴보면 아래와 같은데,  SCSS 문법을 사용하면 'font-' 를 중복해서 사용하지 않아도 된다.

  • font-family
  • font-size
  • font-style
  • font-weight
h1 {
    font: {
        family: 'Malgun Gothic';
        size: 25px;
        style: normal;
        weight: bold;
    }
    line-height: 1;
}

 

 

 

리액트 책을 공부하면서 SCSS에 대한 내용을 접하게 되어 정리해 보았다. 더 많은 내용들이 있지만 지금 내가 사용할 문법의 내용이라면 SCSS의 중첩정도 일 것 같아서 간단하게만 작성했다. 아래의 페이지에 가면 더 많은 내용들을 볼 수 있다. 처음부터 모든 것을 다 알 수는 없으니, 하나씩 차근차근 알아가자 

 

 

 

참고 

'개발공부_Blog > React.js' 카테고리의 다른 글

try catch 에러핸들링  (0) 2022.09.04
async - await 비동기 작업  (0) 2022.09.04
SASS, SCSS란  (0) 2022.09.04
React router - useNavigate  (0) 2022.08.28
Router - URL파라미터/ 쿼리스트링  (0) 2022.08.28

댓글