📖 Scenario: You are building a simple Next.js app that needs consistent styling across all pages. You want to apply global CSS styles so that the entire app shares the same look and feel, like setting a background color and font style.
🎯 Goal: Create a Next.js app that uses a global CSS file to style the entire application with a background color and font family.
📋 What You'll Learn
Create a global CSS file named globals.css inside the styles folder
Add CSS rules to set the body background color to #f0f0f0 and font family to Arial, sans-serif
Import the global CSS file in the custom _app.js file
Ensure the global styles apply to all pages in the Next.js app
💡 Why This Matters
🌍 Real World
Global CSS is used in real websites to keep a consistent look and feel across all pages without repeating styles.
💼 Career
Knowing how to apply global styles in Next.js is essential for frontend developers building scalable React apps with consistent design.
Progress0 / 4 steps
1
Create the global CSS file
Create a file named globals.css inside the styles folder with these exact CSS rules: set the body background color to #f0f0f0 and font family to Arial, sans-serif.
NextJS
Hint
Remember to create the globals.css file inside the styles folder and add CSS rules for the body selector.
2
Create the custom App component
Create a file named _app.js inside the pages folder. Import "../styles/globals.css" at the top of the file.
NextJS
Hint
The _app.js file wraps all pages. Importing the CSS here applies styles globally.
3
Add a simple page component
Create a file named index.js inside the pages folder. Export a default function named Home that returns an <h1> element with the text "Welcome to Next.js!".
NextJS
Hint
This page will show the heading styled by your global CSS.
4
Verify global styles apply
Ensure the _app.js imports globals.css and the index.js page renders the heading. This completes the global CSS setup in Next.js.
NextJS
Hint
Check that your global CSS is imported in _app.js and your page component returns the heading.
Practice
(1/5)
1. In Next.js, where should you import your global CSS file to apply styles across the entire app?
easy
A. In app/layout.js or pages/_app.js
B. In every individual component file
C. Inside public folder
D. In next.config.js
Solution
Step 1: Understand global CSS import location
Global CSS must be imported once at the top-level layout or app file to apply styles app-wide.
Step 2: Identify correct files for global CSS import
Next.js uses app/layout.js in the new app directory or pages/_app.js in the pages directory for this purpose.
Final Answer:
In app/layout.js or pages/_app.js -> Option A
Quick Check:
Global CSS import location = A [OK]
Hint: Global CSS imports go only in app/layout.js or pages/_app.js [OK]
Common Mistakes:
Importing global CSS in every component causes errors
Placing CSS files in public folder expecting auto-import
Trying to import CSS in next.config.js
2. Which of the following is the correct syntax to import a global CSS file named styles.css in app/layout.js?
easy
A. import styles from './styles.css';
B. import './styles.css';
C. require('./styles.css');
D. link rel='stylesheet' href='./styles.css';
Solution
Step 1: Recall global CSS import syntax in Next.js
Global CSS files are imported without assigning to a variable, just using import './filename.css';.
Step 2: Evaluate each option
import styles from './styles.css'; tries to import as a module which is for CSS modules, not global CSS. require('./styles.css'); uses CommonJS require which is not standard in Next.js ES modules. link rel='stylesheet' href='./styles.css'; is HTML syntax, not JavaScript import.
Final Answer:
import './styles.css'; -> Option B
Quick Check:
Global CSS import syntax = D [OK]
Hint: Use plain import './filename.css'; for global CSS [OK]
Common Mistakes:
Using import with variable for global CSS
Using require() instead of import
Trying to add <link> tags inside JS files
3. Given this app/layout.js snippet:
import './globals.css';
export default function RootLayout({ children }) {
return <html><body>{children}</body></html>;
}
If globals.css sets body { background-color: lightblue; }, what will be the background color of the page?
medium
A. White (default background)
B. Black
C. Transparent
D. Lightblue
Solution
Step 1: Understand global CSS effect
Importing globals.css in app/layout.js applies styles globally, including the body background color.
Step 2: Check CSS rule impact
The CSS rule body { background-color: lightblue; } sets the page background color to lightblue.
Final Answer:
Lightblue -> Option D
Quick Check:
Global CSS body background = B [OK]
Hint: Global CSS affects body styles if imported in layout [OK]
Common Mistakes:
Thinking global CSS won't apply without explicit class
Assuming default white background overrides CSS
Confusing local CSS modules with global CSS
4. You added import './globals.css'; inside a React component file instead of app/layout.js. What problem will you most likely face?
medium
A. Next.js build error about global CSS import location
B. CSS styles will apply only to that component
C. No styles will apply anywhere
D. Styles will load twice causing duplication
Solution
Step 1: Recall Next.js global CSS import rules
Next.js requires global CSS to be imported only in app/layout.js or pages/_app.js. Importing elsewhere causes errors.
Step 2: Identify error behavior
Importing global CSS inside a component triggers a build error stating global CSS cannot be imported from non-top-level files.
Final Answer:
Next.js build error about global CSS import location -> Option A
Quick Check:
Global CSS import location error = A [OK]
Hint: Global CSS import outside layout causes build error [OK]
Common Mistakes:
Importing global CSS in components expecting scoped styles
Ignoring build errors and expecting styles to work
Confusing global CSS with CSS modules
5. You want to set a global font and base color for your Next.js app. Which approach correctly applies these styles globally and ensures they affect all pages?
hard
A. Use CSS modules in each component to set font and color
B. Add inline styles to each page component separately
C. Create globals.css with font and color styles, then import it once in app/layout.js
D. Add a <style> tag with font and color in pages/index.js only
Solution
Step 1: Understand global styling needs
Global fonts and colors should be set once to apply app-wide, not repeated per page or component.
Step 2: Choose correct global CSS usage
Creating a globals.css file with base styles and importing it once in app/layout.js ensures consistent global styles.
Final Answer:
Create globals.css and import it once in app/layout.js -> Option C
Quick Check:
Global base styles = C [OK]
Hint: Put base styles in globals.css and import once in layout [OK]
Common Mistakes:
Using inline styles repeatedly instead of global CSS
Relying on CSS modules for global styles
Adding styles only on one page expecting global effect
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.