Since you're using the ES6 import syntax you may use the same syntax to import your stylesheet

import './App.css'

Also, you can wrap your class with :global to switch to the global scope (this mean CSS Module won't modulify it, eg: adding a random id next to it)

:global(.myclass) {
  background-color: red;
}
Answer from felixyadomi on Stack Overflow
🌐
Docureacten
docureacten.github.io › managing global styles and themes
Managing Global Styles and Themes | React.js: Learn Easily with Examples
Managing global styles and themes is crucial for creating a consistent and flexible design system in your React application. You can use traditional global CSS files or leverage modern tools like Styled-Components for dynamic styling. Themes can be efficiently managed using React's Context API, allowing for easy switching between different design systems.
Top answer
1 of 3
2

Actually, no need for hacks out of React.

Please see below, for the custom ContentContainer component code:

import React from 'react';
// other imports

const GlobalStyler = () => (
    <style>{`
        @page {
            size: 5in 6in;
            margin: 1in 1in 1.25in 1in;
        }
  `}</style>
);

const ContentContainer = (props: ContentContainerProps) => {
    return (
        <div>
            <GlobalStyler />
            // other content/components 
        </div>
    );
};

export default ContentContainer;

Here is how your style will end up

2 of 3
0

Or rather what is a way to pass to my page?

I think this is a simpler way to look at it, yes. A react app is a web page (html) that loads a bunch of javascript.

From a web page perspective, CSS is observed by the web browser, so if the rule is defined, it will apply to qualifying elements regardless of if the DOM is static or if there is a react app manipulating it.

For an at-rule such as @page, having it defined it in a style element in the index.html would do the trick without managing it in your React component at all.

Example in the average create-react-app index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="theme-color" content="#000000">
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
    <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
    <title>React App</title>
    <style>
        @page {
            size: 5in 6in;
            margin: 1in 1in 1.25in 1in;
        }
    </style>
  </head>
  <body>
    <noscript>
      You need to enable JavaScript to run this app.
    </noscript>
    <div id="root"></div>
  </body>
</html>

Tacking your comment into account, that style can be define pretty much anywhere in the body of the page, and therefore you can define it in any one of your react components.

See here for a similar use-case : https://stackoverflow.com/a/66627107/18706075

🌐
Bobby Hadz
bobbyhadz.com › blog › react-set-global-css
Applying global CSS styles in a React app | bobbyhadz
April 7, 2024 - To apply global CSS styles in a React app, write your CSS in a file with a `.css` extension and import it in your `index.js` file.
🌐
Reddit
reddit.com › r/reactjs › global styles sheet for css modules?
r/reactjs on Reddit: Global styles sheet for CSS modules?
June 28, 2022 -

Relatively new react dev here. I am using css modules in one of my projects. I am familiar basically with how it works, but I have a few questions when it comes to reusable code. If we have certain styles that are reused (buttons, card/container styling, h1/h2/h3... etc.), would we create a global style sheet with all of those stylings and include it in the App.js? What about if we have multiple variants of these: for example, a small button, a large button, etc? Would we have multiple classes for each of those variants in the global style sheet as well, or would we maybe have a separate style sheet called like buttons.module.css that we could include in our different components and import styles from? I guess in general I'm just confused about how to organize the styling of an entire app with css modules. If anyone has a link to a well architected, large code base that uses CSS modules that would be very helpful also, thanks!

🌐
Reddit
reddit.com › r/reactjs › is it ok to style a react app with a global css/scss file which lives outside of the whole app?
r/reactjs on Reddit: Is it ok to style a react app with a global CSS/SCSS file which lives outside of the whole app?
September 3, 2022 -

Hi,

TLDR: Code at the end to see how I want to style my app. Doable approach?

I am very new to react and now I need styling. I have seen a lot of ways how people style their react app for instance:

  • css modules

  • styled components

  • tailwind ulitiy first

  • and so on...

The thing is that I dont like all of these solutions (except tailwind but I would use that on top of my styles). I dont see a reason why I should bloat my JS components with styling at all.

So my approach would be like this:

My react components just set class names like class="MyComp__wrap". Then I would style that selector "MyComp__wrap" in an external css/scss file. In my index.html I would just include that css file very early, even before the app is loaded. Just like this: "<link rel="stylesheet" href="/css/index.css">" Almost the same approach would be if I include this css file in the first react app js file (right before "ReactDOM.createRoot") like this "import './css/.index.css';" - But I dont see the reason why I should load the CSS from the react app if I can just do it in the index.html

I think its a super easy approach which does not reinvent the wheel. The components are not bloatet with styles only classNames. Furthermore it reduces complexity because the app does not even know that styling is applied. Classes wouldnt clash because of the nameing schema BEM.

I like this version a lot but of course I dont want to go down a road which is completely against all standards. What do you think?


index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="/css/index.css">
    <title>React App</title>
  </head>
  <body>
    <div id="root"></div>
    <script src="/js/react-app-build.js"></script>
  </body>
</html>

index.js

or I would import the /css/index.css here (but I dont see a reason to do that at the moment therefore I would just stick to the index.html solution):

import './css/index.css'
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
const root = ReactDOM.createRoot(document.getElementById('root'));

root.render(
    <App />
);

SomeReactComp.js

const SomeReactComp = (props) => {
    return (
        <div className='SomeReactComp__wrap'></div>
    );
}

export default SomeReactComp;

css/index.css

.SomeReactComp__wrap {
    backrgound: grey;
}
🌐
Scalablecss
scalablecss.com › styled-components-global-styles
How to Create Global Styles with Styled Components - Scalable CSS
June 2, 2020 - If you’ve opted to use ... your ... globally to an application? ... In this post, I’ll dive into exactly how you can achieve this with the createGlobalStyle function. Please note: This solution is only applicable to web, so this won’t work for react-nat......
🌐
Medium
medium.com › @toshvelaga › using-global-css-variables-in-react-js-216f03fcdc56
Using Global CSS variables in React JS | by Tosh Velaga | Medium
March 7, 2022 - Wanting to write DRY CSS I decided ... some global CSS variables and use them across the app instead of copying and pasting everywhere. This gives us the advantage such that if we need to tweak one of the colors, all we have to do is change the value in one file. First let me provide some background. There are a bunch of different ways to apply styling in a React app. You can use styled ...
Find elsewhere
🌐
Medium
johannblake.medium.com › global-css-in-react-apps-25f846e7b79e
Global CSS with Material-UI Done Correctly in React Apps | by Johann Blake | Medium
March 7, 2020 - To know what styles to override, just run your app with the default theme from material-ui and use DevTools to inspect what css classes are being used for each of the component’s styles and override those styles in your css file. The following code, which is launched in your index.js file, loads the css file and parses the css data: ... This is necessary to help React identify the $ character that is reserved for jQuery. The final step is to use the globalCss variable in a React component that will be applied to the entire app.
🌐
GeeksforGeeks
geeksforgeeks.org › reactjs › global-styling-with-styled-components-in-react
Global Styling with styled-components in React - GeeksforGeeks
July 23, 2025 - Usage: Import and render GlobalStyle in the main component for global styles. Utilize CustomButton different props for styling variations. ... "dependencies": { "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", ...
🌐
Gatsby
gatsbyjs.com › documentation › how-to guides › styling › standard css
Standard Styling with Global CSS Files | Gatsby
Traditionally, websites are styled using global CSS files. Globally-scoped CSS rules are declared in external .css stylesheets, and CSS…
🌐
Reddit
reddit.com › r/reactjs › where to store global css variables?
r/reactjs on Reddit: Where to store global css variables?
June 17, 2018 -

Hey,

I set up my react project to support sass following this article, which worked out fine (I configured the webpack part slightly different though).

Since I will use a set of different colors throughout my application, I would like to store these into variables, which I can access from my components for example. Since I don't want to import my global.scss file everytime into every components .scss, I would like to somehow set the variables global, making them accessible without imports.

How could I achieve this?

🌐
React-pdf
docs.react-pdf.dev › customization › adjust-styles
Adjust Styles | React PDF Documentation
Learn how to customize React PDF's appearance by overriding default styles, giving your app a unique, cohesive design.
🌐
Next.js
nextjs.org › learn-pages-router › basics › assets-metadata-css › global-styles
Global Styles - Assets, Metadata, and CSS
CSS Modules are useful for component-level styles. But if you want some CSS to be loaded by every page, Next.js has support for that as well. To load global CSS to your application, create a file called pages/_app.js with the following content: export default function App({ Component, pageProps }) { return <Component {...pageProps} />; } The default export of _app.js is a top-level React component that wraps all the pages in your application.
🌐
Syncfusion
syncfusion.com › blogs › react › top 7 ways to write css in your react or next.js app
Top 7 Ways to Write CSS in Your React or Next.js App
November 18, 2024 - Global CSS is the most basic approach for styling in Next.js and React apps. This method defines styles in a global CSS file and then applies them to the entire app.
🌐
Next.js
nextjs.org › learn › pages-router › assets-metadata-css-global-styles
Pages Router: Global Styles | Next.js
CSS Modules are useful for component-level styles. But if you want some CSS to be loaded by every page, Next.js has support for that as well. To load global CSS to your application, create a file called pages/_app.js with the following content: export default function App({ Component, pageProps }) { return <Component {...pageProps} />; } The default export of _app.js is a top-level React component that wraps all the pages in your application.
🌐
Stack Overflow
stackoverflow.com › questions › 40133764 › how-to-create-a-global-settings-file-in-react-css-modules
reactjs - How to create a global settings file in react css modules - Stack Overflow
EDIT: Actually there's even more options, still through PostCSS plugins. postcss-simple-vars or postcss-custom-properties, the later having the clear advantage to stay close to the CSS specification.
🌐
Next.js
nextjs.org › docs › app › getting-started › css
Getting Started: CSS | Next.js
4 days ago - However, since Next.js uses React's built-in support for stylesheets to integrate with Suspense, this currently does not remove stylesheets as you navigate between routes which can lead to conflicts. We recommend using global styles for truly global CSS (like Tailwind's base styles), Tailwind ...
🌐
Stack Overflow
stackoverflow.com › questions › 71338551 › how-to-add-styles-to-react-pdf-document
reactjs - How to add styles to react-pdf Document - Stack Overflow
According to the documentation https://react-pdf.org/components does not support style, you need to style the page component
🌐
CSS-Tricks
css-tricks.com › different-ways-to-write-css-in-react
Different Ways to Write CSS in React | CSS-Tricks
June 22, 2022 - Note that curly brackets are used when referencing styles rather than the quotation marks we’d normally use in plain HTML. CSS Modules… what the heck happened to those, right? They have the benefit of locally scoped variables and can be used right alongside React. But what are they, again, exactly? ... CSS Modules works by compiling individual CSS files into both CSS and data. The CSS output is normal, global CSS, which can be injected directly into the browser or concatenated together and written to a file for production use.