Global styles help keep your website looking consistent everywhere. CSS frameworks give you ready-made styles so you don't have to write all CSS from scratch.
Global styles and CSS frameworks in Astro
/* In your Astro project, create a global CSS file, e.g., src/styles/global.css */ /* Then import it in your root layout or main component */ --- import '../styles/global.css'; --- <html> <head> <!-- Your head content --> </head> <body> <slot /> </body> </html>
Global CSS files affect all pages and components unless overridden.
CSS frameworks like Tailwind or Bootstrap can be added via npm and imported similarly.
/* global.css */ body { font-family: Arial, sans-serif; background-color: #f0f0f0; margin: 0; padding: 0; }
--- import 'bootstrap/dist/css/bootstrap.min.css'; --- <html> <body> <button class="btn btn-primary">Click me</button> </body> </html>
--- import '../styles/tailwind.css'; --- <html> <body> <div class="p-4 bg-blue-200">Hello Tailwind!</div> </body> </html>
This Astro component imports a global CSS file that sets font and background color for the whole page. The heading and paragraph will use those styles automatically.
--- import '../styles/global.css'; --- <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Global Styles Example</title> </head> <body> <h1>Welcome to my site</h1> <p>This text uses global styles.</p> </body> </html>
Remember to keep global styles simple to avoid conflicts with component styles.
CSS frameworks often need configuration files; check their docs for Astro setup.
Use semantic HTML tags with global styles for better accessibility.
Global styles apply CSS rules to your whole site for consistent look and feel.
CSS frameworks provide ready-made styles and components to speed up design.
In Astro, import global CSS in your root layout or main component to apply it everywhere.
Practice
Solution
Step 1: Understand what global styles do
Global styles are CSS rules that apply to the whole website, ensuring a consistent look and feel.Step 2: Compare options
Only To apply CSS rules across the entire website for consistent design describes applying CSS site-wide. Options B, C, and D describe unrelated tasks.Final Answer:
To apply CSS rules across the entire website for consistent design -> Option DQuick Check:
Global styles = site-wide CSS [OK]
- Confusing global styles with component-level styles
- Thinking global styles add JavaScript
- Believing global styles optimize images
Solution
Step 1: Identify Astro's recommended import method
Astro supports importing CSS files directly in component scripts using ES module syntax likeimport './styles/global.css';.Step 2: Evaluate other options
<link rel="stylesheet" href="./styles/global.css" />insidesrc/pages/index.astrouses HTML link tag which can work but is less common in Astro root layouts.@import './styles/global.css';inside a JavaScript file uses CSS syntax incorrectly in JS.require('./styles/global.css');inside a component script uses CommonJSrequirewhich is not valid in Astro's ES module environment.Final Answer:
import './styles/global.css';inside a component script -> Option CQuick Check:
Astro uses ES module imports for CSS [OK]
- Using CommonJS require instead of import
- Trying to import CSS with @import in JS
- Placing <link> tags in wrong Astro files
---
import '../styles/global.css';
---
And the
global.css contains:body { background-color: #f0f0f0; }Solution
Step 1: Understand global CSS import effect
Importingglobal.cssin the root layout applies its styles to the whole page, including thebodytag.Step 2: Check CSS rule
The CSS setsbody { background-color: #f0f0f0; }, which is a light gray color.Final Answer:
Light gray background (#f0f0f0) -> Option BQuick Check:
Imported global CSS sets body background [OK]
- Assuming default white background overrides global CSS
- Thinking CSS won't apply without inline styles
- Confusing slot content with styles
import 'tailwindcss/tailwind.css'; in a component, but styles don't apply. What is the likely issue?Solution
Step 1: Understand Tailwind CSS integration in Astro
Tailwind CSS needs build setup (like PostCSS or Astro Tailwind integration) to generate styles, not just importing CSS file.Step 2: Evaluate other options
You must import Tailwind CSS in every component separately is wrong because importing in every component is inefficient and unnecessary. Tailwind CSS files must be renamed to .astro to work is incorrect; CSS files don't become Astro files. Tailwind CSS only works with class components is false; Tailwind works with any component type.Final Answer:
Tailwind CSS requires setup via PostCSS or Astro integration, not just import -> Option AQuick Check:
Tailwind needs build setup, not just import [OK]
- Importing Tailwind CSS without build setup
- Thinking Tailwind works only in certain components
- Renaming CSS files incorrectly
Solution
Step 1: Understand global CSS inclusion for frameworks
Including Bootstrap CSS globally via a CDN link in the root layout's<head>ensures all pages get the styles.Step 2: Evaluate other options
Import Bootstrap CSS in every component separately is inefficient and redundant. Copy Bootstrap CSS into each component's style tag is impractical and breaks DRY principle. Use Bootstrap JavaScript files only without CSS misses CSS, so no styles apply.Final Answer:
Add <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" /> in your root layout's <head> -> Option AQuick Check:
Global CSS frameworks via CDN link in root layout [OK]
- Importing CSS in every component instead of once globally
- Copy-pasting CSS into components
- Ignoring CSS and using only JS files
Ready to prove it?
Pass the test and this pattern moves unknown
