부모 요소의 state에 따라 특정 자식 요소의 스타일을 지정해야 하는 경우, 먼저 부모 요소에 `group` 클래스를 작성하고, target 요소에는 `group-hover` 등 `group-*` modifier를 사용해 스타일을 지정할 수 있다.
예를 들어 다음과 같은 책 상세 페이지에서 한 줄 평 영역에 마우스를 hover할 때 편집 버튼이 나타나게 하고 싶다면 다음과 같이 코드를 작성할 수 있다.
이 동작을 css에서 직접적으로 구현하려면 다음과 같은 방식으로 할 수 있다.
즉, Tailwind CSS의 `group`은 css의 가상 클래스와 자식 선택자를 활용해 부모 요소의 상태에 따라 자식 요소의 스타일을 지정하는 기능을 제공하는 것이다.
실제로 빌드 파일을 살펴보면 다음과 같은 라인을 찾을 수 있다. (next.js 프로젝트의 경우, `npm run build`를 실행 후 .next/static/css/*.css 파일을 보면 된다.)
📚 참고 자료
'배워서 남 주자' 카테고리의 다른 글
PR에 빌드 에러 발생시 github-actions bot이 자동으로 코멘트 달게 하기 (0) | 2024.10.03 |
---|---|
VS Code에서 파일 유형에 따라 default formatter를 설정하는 방법 (0) | 2024.08.25 |
Next.js 14의 API Layer : 클라이언트 컴포넌트에서 Route Handlers를 fetch하는 방법 (0) | 2024.05.12 |
상세 페이지에서 뒤로가기 클릭시 원래 있던 목록 페이지로 돌아가기 (0) | 2024.04.23 |
JSX에서 null, false, React.Fragment의 차이 (0) | 2024.04.20 |