React verwendet Emotionen zum Schreiben von CSS-Code

React verwendet Emotionen zum Schreiben von CSS-Code

Einführung:

Emotion ist eine JavaScript-Bibliothek. Mit Emotion können Sie CSS-Code auf die gleiche Weise schreiben wie JS. Nachdem Sie Emotionen in React installiert haben, können Sie CSS einfach kapseln und wiederverwenden. Nach der Verwendung von Emotionen werden die vom Browser gerenderten Tags mit einem Logo versehen, das mit CSS beginnt. Wie folgt: Die Tags, die im Screenshot mit css- beginnen, werden mithilfe der Emotion-Bibliothek gerendert.

Im Folgenden wird die Anwendung von Emotionen in der Technik von der Installation bis zur Nutzung vorgestellt.

Installation von Emotion:

Garn hinzufügen @emotion/reagieren
Garn hinzufügen @emotion/styled

Fügen Sie allgemeine CSS-Komponenten hinzu:

1. Nennen Sie den gleichen Namen wie die Komponente, beginnend mit einem Großbuchstaben
2. Auf Styled folgt der HTML-Tag

// Emotionen einbringen
importiere Stil aus „@emotion/styled“;
// Erstellen Sie eine CSS-Komponente mit Emotion const Container = styled.div`
Anzeige: Flex;
Flex-Richtung: Spalte;
Elemente ausrichten: zentrieren;
Mindesthöhe: 100vh;
`;
//CSS-Komponenten im HTML-Code verwenden:
<Behälter>
//HTML-Code</Container>

So fügen Sie einer vorhandenen Komponente Stile hinzu:

1. Schreiben Sie den ersten Buchstaben des Variablennamens groß
2. Übergeben Sie die vorhandene Komponente als Parameter an styled
3. Stilcode kann Parameter hinzufügen

// Card ist eine vorhandene Komponente von antd const ShadowCard = styled(Card)`
    Breite: 40rem;
    Mindesthöhe: 56rem;
    Polsterung: 3,2rem 4rem;
    Randradius: 0,3rem;
    Box-Größe: Rahmenbox;
    Kastenschatten: rgba(0, 0, 0, 0,1) 0 0 10px;
    Textausrichtung: zentriert;
`;
// Importiertes Bild, wird direkt als Parameter verwendet. Importiere Logo aus „assets/logo.svg“;

// Backticks können sich auf den im Parameter const Header = styled.header` übergebenen Magic String beziehen.
Hintergrund: URL (${logo}) keine Wiederholung Mitte;
Polsterung: 5rem 0;
Hintergrundgröße: 8rem;
Breite: 100 %;
`;

Extrahieren allgemeiner CSS-Komponenten

1. Vor dem Backquote sollten alle möglichen Parameter aufgelistet werden, die zum Empfang generischer Parameter verwendet werden können.
2. Holen Sie sich die übergebenen Parameter und verwenden Sie Requisiten, um sie abzurufen, z. B. props.between. Sie können den Funktionsrückgabewert verwenden, um das CSS-Attribut zuzuweisen. Das CSS-Attribut wird nicht gerendert und der Rückgabewert ist undefiniert

Inhalt ausrichten: ${(props) => (props.between ? "space-between" : nicht definiert)};

3. Sie können CSS-Selektor verwenden
4. Verwenden Sie es beim Aufruf wie eine normale JS-Komponente und übergeben Sie dieselben Parameter

//Row-Komponente aufrufen <HeaderLeft gap={1}> 
//HTML-Code</HeaderLeft>
const HeaderLeft = gestylt(Zeile)``;


// Definieren Sie die Row-Komponente export const Row = styled.div<{
  Lücke?: Zahl | Boolesch;
  zwischen?: Boolesch;
  Rand unten?: Zahl;
}>`
Anzeige: Flex;
Elemente ausrichten: zentrieren;
Inhalt ausrichten: ${(props) => (props.between ? "space-between" : nicht definiert)};

Rand unten: ${(Requisiten) =>

props.marginBottom? props.marginBottom + "px" : nicht definiert};

> * {
Rand oben: 0 !wichtig;
Rand unten: 0 !wichtig;
Rand rechts: ${(Requisiten) =>

Typ der Requisiten.Lücke === "Zahl"
    ? props.gap + "rem"
    : Requisiten.Lücke
    ? "2rem"
    : undefiniert};
}
`;

Schreiben Sie Inline-Stile für Emotionen

1. Schreiben Sie den folgenden Code oben in die Komponente, um die aktuelle Komponente anzuweisen, den Emotion-Inline-Stil zu verwenden

/* @jsxImportSource @emotion/reagieren */

2. Inline-Stilformat: css={ /* Inline-Stilcode*/ }

<Formular css={{ marginBottom: "2rem" }} layout={"inline"}>
// HTML-Code</Form>

Das Obige ist die Einführung und Verwendung von Emotionen. (#^.^#)

Oben sind die Details, wie React Emotionen verwendet, um CSS-Code zu schreiben. Weitere Informationen dazu, wie React Emotionen verwendet, um CSS-Code zu schreiben, finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung von zwei Möglichkeiten zum dynamischen Ändern von CSS-Stilen in React
  • Lösung für CSS-Referenzpfadfehler basierend auf der Paketierung von React-Projekten
  • React verwendet CSS, um ein Beispiel für eine React-Animationsfunktion zu implementieren
  • 7 Möglichkeiten zur Verwendung von CSS in React (die umfassendste Zusammenfassung)
  • Ein Beispiel für die Verwendung von CSS-Modulen in Create React App
  • Beispielcode für die Verwendung von CSS-Modulen in Create-React-App
  • Detaillierte Erklärung zum Hinzufügen von CSS-Modulen, Sasss und Antd mithilfe von Create-React-App
  • ReactJs-Methode zum Festlegen des CSS-Stils
  • Wie man mit React elegant CSS schreibt

<<:  Detaillierte Erklärung, wie Sie das automatische Beenden des Docker-Containers verhindern können

>>:  Grafisches Tutorial zur Installation und Konfiguration von CentOS 6.4 MySQL 5.7.18

Artikel empfehlen

So implementieren Sie eine automatische Remote-Sicherung von MongoDB unter Linux

Vorwort Nachdem ich den vorherigen Artikel über d...

Das Problem der Verwendung von Slots durch Vue+tsx wird nicht behoben

Inhaltsverzeichnis Vorwort Finden Sie das Problem...

Node erstellt schnell die Backend-Implementierungsschritte

1. Installieren Sie zuerst Node, Express und Expr...

Einführung in die Verwendung des offiziellen MySQL-Leistungstesttools mysqlslap

Inhaltsverzeichnis Einführung Anweisungen Tatsäch...

Miniprogramm zur Implementierung des kompletten Einkaufswagens

Das Miniprogramm implementiert einen vollständige...

Ein praktischer Bericht über die Wiederherstellung einer MySQL Slave-Bibliothek

Beschreibung der Situation: Heute habe ich mich b...

Beispielcode für die programmgesteuerte Verarbeitung von CSS-Stilen

Vorteile eines programmatischen Ansatzes 1. Globa...

Detaillierte Erklärung des Explain-Typs in MySQL

Einführung: In vielen Fällen denken viele Leute, ...

Detaillierte Erklärung der grundlegenden Verwendung des VUE Watch Listener

Inhaltsverzeichnis 1. Der folgende Code ist eine ...