Open3

Tailwind CSSの理解を深める!

nakamotonakamoto

https://nextjs.org/learn/dashboard-app/css-styling

/app/ui/invoices/status.tsx
import clsx from 'clsx';
 
export default function InvoiceStatus({ status }: { status: string }) {
  return (
    <span
      className={clsx(
        'inline-flex items-center rounded-full px-2 py-1 text-sm',
        {
          'bg-gray-100 text-gray-500': status === 'pending',
          'bg-green-500 text-white': status === 'paid',
        },
      )}
    >
    // ...
)}
  • clsxによってある条件によって動的にクラスを付与できる。
nakamotonakamoto

https://nextjs.org/learn/dashboard-app/optimizing-fonts-images

/app/layout.tsx
import '@/app/ui/global.css';
import { inter } from '@/app/ui/fonts';
 
export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body className={`${inter.className} antialiased`}>{children}</body>
    </html>
  );
}
  • antialiasedによってフォントを滑らかにできる。