---
title: Styling
---
# Styling
[MODES: framework]
Framework mode uses the React Router Vite plugin, so the styling story is mostly just Vite's styling story.
React Router does not have a separate CSS pipeline for Framework mode. In practice, there are three patterns that matter:
1. Import CSS as a side effect
2. Use the route module `links` export
3. Render a stylesheet `` directly
## Side-Effect CSS Imports
Because Framework mode uses Vite, you can import CSS files as side effects:
```tsx filename=app/root.tsx
import "./app.css";
```
```tsx filename=app/routes/dashboard.tsx
import "./dashboard.css";
```
This is often the simplest option. Global styles can be imported in `root.tsx`, and route or component styles can be imported next to the module that uses them.
## `links` Export
React Router also supports adding stylesheets through the route module `links` export.
This is useful when you want a stylesheet URL from Vite and need React Router to render a real `` tag for the route:
```tsx filename=app/routes/dashboard.tsx
import dashboardHref from "./dashboard.css?url";
export function links() {
return [{ rel: "stylesheet", href: dashboardHref }];
}
```
The `links` export feeds the [`