Bird
Raised Fist0
Tailwindmarkup~5 mins

Tailwind with Next.js - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is Tailwind CSS?
Tailwind CSS is a utility-first CSS framework that lets you style your web pages by applying small, reusable classes directly in your HTML or JSX. It helps you build designs quickly without writing custom CSS.
Click to reveal answer
beginner
How do you add Tailwind CSS to a Next.js project?
You install Tailwind via npm, create a Tailwind config file, and include Tailwind directives in your global CSS file. Then, you import this CSS in your Next.js app, usually in the _app.js or layout.tsx file.
Click to reveal answer
beginner
Why use Tailwind CSS with Next.js?
Tailwind helps you style components quickly with utility classes, and Next.js makes building React apps easy. Together, they speed up development and keep your styles consistent and maintainable.
Click to reveal answer
intermediate
What is the purpose of the tailwind.config.js file in a Next.js project?
It lets you customize Tailwind’s default settings like colors, fonts, and breakpoints. You can also add plugins or extend utilities to fit your design needs.
Click to reveal answer
intermediate
How do you make a responsive layout using Tailwind in Next.js?
Use Tailwind’s responsive prefixes like sm:, md:, lg: before utility classes to apply styles at different screen sizes. For example, md:text-lg makes text larger on medium screens and up.
Click to reveal answer
Which command installs Tailwind CSS in a Next.js project?
Anpm install react tailwindcss
Bnpm install tailwindcss postcss autoprefixer
Cnpm install next tailwind
Dnpm install css tailwind
Where do you import your global Tailwind CSS file in a Next.js app?
AIn the _app.js or layout.tsx file
BIn every component file
CIn the index.html file
DIn the tailwind.config.js file
What does the class p-4 do in Tailwind CSS?
ASets font size to 4rem
BAdds margin of 4px
CAdds padding of 4px on all sides
DAdds padding of 1rem on all sides
How do you apply a style only on medium screens and larger in Tailwind?
AUse the prefix <code>lg:</code>
BUse the prefix <code>sm:</code>
CUse the prefix <code>md:</code> before the class
DUse the prefix <code>xl:</code>
What is the main benefit of utility-first CSS like Tailwind?
AYou write less custom CSS and style directly in HTML/JSX
BIt automatically generates animations
CIt replaces JavaScript functionality
DIt only works with Next.js
Explain how to set up Tailwind CSS in a new Next.js project from scratch.
Think about the installation steps and where to add styles.
You got /4 concepts.
    Describe how Tailwind’s responsive prefixes work and give an example.
    Focus on how to make designs adapt to screen sizes.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using Tailwind CSS in a Next.js project?
      easy
      A. To write custom JavaScript functions
      B. To manage server-side routing
      C. To quickly style components using utility classes
      D. To handle database connections

      Solution

      1. Step 1: Understand Tailwind CSS role

        Tailwind CSS provides utility classes for styling HTML elements quickly without writing custom CSS.
      2. Step 2: Identify Next.js features

        Next.js handles routing and server-side rendering, not styling or database management.
      3. Final Answer:

        To quickly style components using utility classes -> Option C
      4. Quick Check:

        Tailwind CSS = Utility-first styling [OK]
      Hint: Tailwind is for styling, not logic or routing [OK]
      Common Mistakes:
      • Confusing Tailwind with JavaScript logic
      • Thinking Tailwind manages routing or backend
      • Assuming Tailwind replaces Next.js features
      2. Which of the following is the correct way to add Tailwind CSS classes to a Next.js component's div element?
      easy
      A.
      Content
      B.
      Content
      C.
      Content
      D.
      Content

      Solution

      1. Step 1: Recall JSX syntax for class names

        In React and Next.js, use className with double quotes for CSS classes.
      2. Step 2: Check each option

        <div className="bg-blue-500 text-white p-4">Content</div> uses correct JSX syntax with double quotes. <div class="bg-blue-500 text-white p-4">Content</div> uses plain HTML class, which is invalid in JSX. <div className={bg-blue-500 text-white p-4}>Content</div> treats the classes as a JavaScript expression without proper quotes. <div className=bg-blue-500 text-white p-4>Content</div> lacks quotes around the class names.
      3. Final Answer:

        <div className="bg-blue-500 text-white p-4">Content</div> -> Option A
      4. Quick Check:

        JSX uses className="..." [OK]
      Hint: Use className with double quotes in JSX [OK]
      Common Mistakes:
      • Using plain class instead of className in JSX
      • Missing quotes around class names
      • Using invalid JSX syntax for className
      3. Given this Next.js component using Tailwind CSS, what will be the background color of the button on a small screen?
      export default function Button() {
        return (
          <button className="bg-green-500 sm:bg-red-500 text-white p-3">Click Me</button>
        )
      }
      medium
      A. Green background
      B. Red background
      C. No background color
      D. Blue background

      Solution

      1. Step 1: Understand Tailwind responsive prefixes

        The class bg-green-500 applies by default. The sm:bg-red-500 applies only on small screens and above (min-width 640px).
      2. Step 2: Identify screen size effect

        On screens smaller than 640px, only bg-green-500 applies. On small screens and larger, bg-red-500 overrides the background.
      3. Final Answer:

        Green background -> Option A
      4. Quick Check:

        Default class applies below sm breakpoint [OK]
      Hint: Responsive classes apply only at or above their breakpoint [OK]
      Common Mistakes:
      • Assuming sm: classes apply on all screen sizes
      • Ignoring default class without prefix
      • Confusing breakpoint directions
      4. You have this Next.js component code:
      export default function Header() {
        return (
          <header className="flex justify-center items-center p-4">
            <h1 className="text-2xl font-bold">Welcome</h1>
          </header>
        )
      }

      But the header content is not centered vertically. What is the likely cause?
      medium
      A. Using p-4 breaks flexbox layout
      B. Missing min-h-screen or height on header to enable vertical centering
      C. Tailwind CSS is not installed
      D. Incorrect use of justify-center instead of items-center

      Solution

      1. Step 1: Understand flexbox vertical centering

        Flexbox vertical centering with items-center works if the container has height. Without height, vertical centering has no effect.
      2. Step 2: Check header height

        The header has padding but no height or min-height. Adding min-h-screen or a fixed height allows vertical centering.
      3. Final Answer:

        Missing min-h-screen or height on header to enable vertical centering -> Option B
      4. Quick Check:

        Flex vertical center needs container height [OK]
      Hint: Flex vertical center needs container height [OK]
      Common Mistakes:
      • Thinking justify-center controls vertical alignment
      • Assuming padding sets height
      • Ignoring need for Tailwind installation
      5. You want to create a responsive navigation bar in Next.js using Tailwind CSS that stacks vertically on mobile and horizontally on desktop. Which combination of Tailwind classes achieves this?
      hard
      A.
      B.
      C.
      D.

      Solution

      1. Step 1: Understand layout direction classes

        flex-col stacks items vertically; flex-row arranges items horizontally.
      2. Step 2: Apply responsive prefixes

        Using flex flex-col md:flex-row means vertical stacking by default (mobile) and horizontal layout on medium screens and above (desktop).
      3. Step 3: Check other options

        <nav className="grid grid-cols-4 md:grid-cols-1 gap-4 p-4">...</nav> uses grid-cols-4 by default, spreading items horizontally on mobile instead of stacking vertically. <nav className="block md:flex-row gap-4 p-4">...</nav> misses flex class, so md:flex-row won't apply properly. <nav className="flex-row flex md:flex-col gap-4 p-4">...</nav> reverses directions incorrectly.
      4. Final Answer:

        <nav className="flex flex-col md:flex-row gap-4 p-4">...</nav> -> Option D
      5. Quick Check:

        flex-col mobile + md:flex-row desktop = responsive nav [OK]
      Hint: Use flex-col mobile, md:flex-row desktop for responsive nav [OK]
      Common Mistakes:
      • Forgetting to add base flex class
      • Using wrong order of flex-row and flex-col
      • Confusing grid with flex for simple nav layout
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard