- [CSS] Tailwind에서 중첩된 CSS가 감지되었다는 경고 : Nested CSS was detected...2023년 10월 27일 09시 26분 16초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
1. 중첩된 CSS가 감지되었다고?
(8:3) Nested CSS was detected, but CSS nesting has not been configured correctly. Please enable a CSS nesting plugin *before* Tailwind in your configuration. See how here: https://tailwindcss.com/docs/using-with-preprocessors#nesting
진행 중인 Next.js 프로젝트의 layout에 스타일을 지정하려고 했고, 이때 다른 프로젝트의 SCSS 코드 일부를 복붙 했더니 발생한 경고문이다. 이유는 복붙 한 스타일 코드에 중첩 CSS가 포함되어 있어서였다. 이 포스팅에서는 중첩 CSS에 대해-핵심만-간략하게 정리해보고자 한다.
2. 중첩된 CSS
SCSS(Sass) 경우에는 중첩된 CSS 규칙을 지원하는데, 스타일을 부모 요소 안에 자식 요소를 중첩하여 표현한다. 이것은 HTML의 구조와 유사한 방식으로 CSS를 작성할 수 있음을 의미한다.
2.1. 기본 구조
아래 SCSS 코드는 중첩된 CSS 규칙을 사용하여 내비게이션 메뉴 스타일을 정의한 것이다. 이러한 중첩된 구조를 사용하면 코드의 가독성이 향상되고, CSS의 구조가 HTML 구조와 일치하도록 유지할 수 있다.
nav { ul { list-style: none; } li { display: inline; margin-right: 10px; a { text-decoration: none; } } }
2.2. 부모 참조 : &
& 기호를 사용하여 부모 요소에 대한 참조를 생성할 수 있다. 이것은 주로 가상 클래스 및 가상 요소와 함께 사용된다. 아래의 SCSS 코드에서 &를 사용하여 .btn 클래스에 대한 참조를 생성하고, .primary 및 :hover와 함께 사용되어 버튼의 다양한 상태에 대한 스타일을 지정하였다.
.btn { display: inline-block; &.primary { background-color: blue; } &:hover { background-color: lightblue; } }
3. Tailwind CSS와 Nested CSS
다시 처음에 봤던 경고 메시지로 돌아가보자! Tailwind CSS는 CSS 중첩을 기본적으로 지원하지 않는다. 따라서 중첩된 CSS를 사용하려면 PostCSS 플러그인 중 하나를 사용해야 한다. 이 경고 메시지에 관련한 Tailwind 공식 문서의 "https://tailwindcss.com/docs/using-with-preprocessors#nesting"을 읽어보면 postcss-nested 또는 postcss-nesting 플러그인을 추가하여 사용하라고 안내되어 있다.
'SCSS와 함께 사용하면되지 않을까?' 하는 의문이 생겼다. 그런데 위 문서에 의하면 최상의 개발 경험을 위해서 Tailwind 프로젝트에서는 PostCSS만 사용 하고 Sass 또는 Less와 같은 전처리기를 사용하지 않는 것이 좋다고 한다(https://tailwindcss.com/docs/using-with-preprocessors#using-sass-less-or-stylus).
728x90반응형'언어·프레임워크 > HTML·CSS' 카테고리의 다른 글
[HTML] 어썸한 "Favicon Generator"로-거의-모든 플랫폼에 맞는 파비콘 간편 생성 (0) 2023.11.06 [CSS] 스마트폰에서 AR 카메라 꽉찬 화면으로 보기! (1) 2023.11.02 [CSS] input 자동 완성 폰트 색 변경 (0) 2023.02.14 [HTML] 당신이 잘 모르는 8가지 HTML 팁 - 번역 (0) 2022.12.11 [Bootstrap] SearchBar components 배치 방법 (0) 2022.11.14 다음글이 없습니다.이전글이 없습니다.댓글