React mit CSS-Stilen verwenden
Es gibt mehrere Möglichkeiten, CSS in React-Anwendungen zu verwenden.
Im Folgenden werden einige gängige Methoden und detaillierte Anweisungen zu ihrer Umsetzung in React beschrieben.
Inline-Stile
In React wird die direkte Verwendung von CSS-Stilen auf Elementen durch Inline-Stile erreicht.
Inline-Stile übergeben CSS-Stile direkt als Objekt an das style-Attribut des Elements. Jede Stileigenschaft wird in camelCase anstelle des traditionellen CSS-Eigenschaftsnamens geschrieben.
Direkt innerhalb des Elements verwenden:
Beispiel
import ReactDOM from 'react-dom/client';
const Header = () => {
return (
<>
<h1 style={{color: "red"}}>Hallo Stil!</h1>
<p>Ein wenig Stil hinzufügen!</p>
</>
);
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Header />);
Du kannst auch ein Objekt mit Stilinformationen erstellen und es im style-Attribut referenzieren:
Beispiel
import ReactDOM from 'react-dom';
const MyComponent = () => {
// Inline-Stilobjekt definieren
const containerStyle = {
padding: '20px',
backgroundColor: '#f0f0f0'
};
const titleStyle = {
fontSize: '24px',
color: '#333'
};
return (
<div style={containerStyle}>
<h1 style={titleStyle}>Hallo, Welt!</h1>
</div>
);
};
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<MyComponent />);
Im obigen Beispiel sind containerStyle und titleStyle zwei Inline-Style-Objekte, die jeweils auf die div- und h1-Elemente angewendet werden. Hier sind die wichtigsten Punkte:
- Verwende camelCase für CSS-Eigenschaften (z. B.
backgroundColoranstelle vonbackground-color)。 - Alle Style-Eigenschaftswerte werden als Strings übergeben (außer numerische Werte, die direkt verwendet werden können und React fügt automatisch Einheiten hinzu).
Inline-Styles können sich auch dynamisch basierend auf dem Zustand der Komponente ändern:
Beispiel
import ReactDOM from 'react-dom';
const MyComponent = () => {
const [isHighlighted, setIsHighlighted] = useState(false);
const containerStyle = {
padding: '20px',
backgroundColor: isHighlighted ? '#ffff99' : '#f0f0f0'
};
const titleStyle = {
fontSize: '24px',
color: '#333'
};
return (
<div style={containerStyle}>
<h1 style={titleStyle}>Hallo, Welt!</h1>
<button onClick={() => setIsHighlighted(!isHighlighted)}>
Hervorhebung umschalten
</button>
</div>
);
};
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<MyComponent />);
Verwenden von Style-Dateien
Du kannst CSS-Styles in einer separaten Datei schreiben; verwende einfach die.css-Dateierweiterung, um die Datei zu speichern, und importiere sie dann in deine Anwendung.
Erstelle eine Style-Datei namens App.css und füge den folgenden CSS-Code hinzu:
Beispiel
background-color: #282c34;
color: white;
padding: 40px;
font-family: Sans-Serif;
text-align: center;
}
Importiere in deiner Anwendung das Stylesheet App.css:
Beispiel
import ReactDOM from 'react-dom/client';
import './App.css';
const Header = () => {
return (
<>
<h1>Hallo Style!</h1>
<p>Ein wenig Stil hinzufügen!.</p>
</>
);
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Header />);
CSS-Module
Eine andere Möglichkeit, Stile zu einer Anwendung hinzuzufügen, ist die Verwendung von CSS-Modulen.
CSS-Module sind eine Namenskonvention für lokal begrenzte CSS-Dateien. Bei diesem Ansatz sind CSS-Klassennamen und Animationsnamen standardmäßig lokal begrenzt.
CSS-Module sind sehr praktisch für Komponenten, die in separaten Dateien abgelegt sind.
Verwende die.module.css-Dateiendung, um CSS-Module zu erstellen, zum Beispiel: MyComponent.module.css.
Beispiel
.container {
padding: 20px;
background-color: #f0f0f0;
}
.title {
font-size: 24px;
color: #333;
}
Importiere das Stylesheet in die Anwendung:
Beispiel
import ReactDOM from 'react-dom';
import styles from './MyComponent.module.css';
const MyComponent = () => {
return (
<div className={styles.container}>
<h1 className={styles.title}>Hallo, Welt!</h1>
</div>
);
};
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<MyComponent />);