✏️ Next.js
[Next.js] module.css - 하나의 요소에 css className 여러 개 주기
category
✏️ Next.js
date
thumbnail
slug
next-js-module-css-하나의-요소에-css-className-여러-개-주기
author
status
Public
tags
summary
type
Post
- 템플릿 문자열을 이용
- 배열 사용 후 join을 이용해 공백 한 칸 두고 문자열로 합치기
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2F980718df-dec2-4ed6-86a7-8523376d1275%2Fed49dae2-9bcf-4608-b599-81b6c5a891ff%2FUntitled.png%3Fid%3Dcc01478f-7a81-4085-b3e8-7d6a0a24f064%26table%3Dblock%26spaceId%3D980718df-dec2-4ed6-86a7-8523376d1275%26expirationTimestamp%3D1720310400000%26signature%3Dhia-kJCnvkvbh_VjWIn2_XZ-i7loleZsK8nBMVgltVs?table=block&id=cc01478f-7a81-4085-b3e8-7d6a0a24f064&cache=v2)
NavBar.module.css
.link {
text-decoration: none;
}
.active {
color: tomato;
}
1. 템플릿 문자열 이용
import Link from 'next/link';
import { useRouter } from 'next/router';
import styles from './NavBar.module.css';
export default function NavBar() {
const router = useRouter();
return (
<nav>
<Link href="/" className={`${styles.link} ${router.pathname === '/' ? styles.active : ''}`}>
Home
</Link>
<Link href="/about" className={`${styles.link} ${router.pathname === '/about' ? styles.active : ''}`}>
About
</Link>
</nav>
);
}
2. 배열 사용 후 join을 이용해 공백 한 칸 두고 문자열로 합치기
import Link from 'next/link';
import { useRouter } from 'next/router';
import styles from './NavBar.module.css';
export default function NavBar() {
const router = useRouter();
return (
<nav>
<Link href="/" className={[styles.link, router.pathname === '/' ? styles.active : ''].join(' ')}>
Home
</Link>
<Link href="/about" className={[styles.link, router.pathname === '/about' ? styles.active : ''].join(' ')}>
About
</Link>
</nav>
);
}