2016-10-01 2 views
14

J'utilise actuellement des modules CSS avec React pour mon style. Donc, chacun de mes composants est l'importation dans son fichier CSS spécifique composant, comme ceci:Comment appliquer des styles globaux avec des modules CSS dans une application de réaction?

import React from 'react'; 
import styles from './App.css'; 

const example =() => (
    <div className={styles.content}> 
    Hello World! 
    </div> 
); 

export default example; 

Cela fonctionne bien en dénommant des composants individuels, mais comment puis-je appliquer un style global (html, body, balises d'en-tête, divs, etc. .) qui n'est pas spécifique au composant?

+4

Pourquoi ne pas require ('./ App.css'); 'dans votre composant racine? – elmeister

+0

Oui, merci! Cela marche. – hidace

Répondre

22

Puisque vous utilisez la syntaxe d'importation ES6 vous pouvez utiliser la même syntaxe pour importer votre feuille de style

import './App.css' 

en outre, vous pouvez envelopper votre classe avec :global pour passer à la portée globale (cela signifie module CSS ne modulif y it, par exemple: ajouter un identifiant aléatoire à côté de lui)

:global(.myclass) { 
    background-color: red; 
} 
+3

': myclass' ne produira rien, il sera traité comme un pseudo-sélecteur css normal. Pour désactiver la portée locale, c'est ': global (.myclass)' –

+0

@PascalDuez vous avez absolument raison, j'ai édité la réponse pour correspondre à votre commentaire. – felixyadomi

5

Cela peut se faire en ajoutant simplement: (. Merci @elmeister qui ont répondu correctement à cette question)

require('./App.css'); 

+2

Ou pour éviter de mélanger des modules avec commonjs, juste 'importer '/ App.css'' – riscarrott