Heim > Web-Frontend > js-Tutorial > Hauptteil

CSS in JS: Vollständiger Leitfaden zu Styled-Components, Emotion und mehr für saubereres und skalierbares Styling.

Susan Sarandon
Freigeben: 2024-11-26 06:45:12
Original
194 Leute haben es durchsucht

CSS in JS: Complete guide to Styled-Components, Emotion and more for cleaner and scalable styling.

Wenn Sie jemals mit komplexen, umfangreichen CSS-Dateien jongliert haben oder Schwierigkeiten hatten, die Stile in großen Projekten zu organisieren, dann werden Sie CSS in JS lieben. Denn mit diesem Ansatz können Sie CSS direkt in Ihr JavaScript schreiben, wodurch die Stile modular und flexibel werden und perfekt in komponentenbasierte Frameworks wie React passen.

Wir werden in zwei der beliebtesten CSS-in-JS-Bibliotheken eintauchen, Styled-Components und Emotion, und Ihnen einige praktische Tipps geben, wie Sie sie effektiv nutzen können.

Sehen wir uns an, wie dieses Tool Ihr Styling verändern kann, ohne auf sauberen, wartbaren und skalierbaren Code zu verzichten.

Warum CSS-in-JS?
Ein Grund, warum CSS in JS so beliebt wird, ist, dass es eine der größten Herausforderungen in der modernen Webentwicklung löst, insbesondere für Teams, die große Anwendungen erstellen. Durch das Verschieben von Stilen innerhalb von JavaScript erreichen wir Folgendes:

Gültigkeitsbereichsstile: Keine Klassennamenkollisionen mehr. Auf jede Komponente beschränkte Stile.

Dynamisches Styling: Ändern Sie mit JavaScript-Logik Stile in Bezug auf Requisiten, Thema oder Anwendungsstatus.

Komponentenbasierte Entwicklung: CSS-in-JS-Bibliotheken passen natürlich zu komponentenbasierten Frameworks wie React, Vue und Angular. Dadurch bleiben Ihre Stile gekapselt und modular.

Styled-Components: Die Grundlagen
Styled-Components ist wahrscheinlich eine der beliebtesten Bibliotheken im CSS-in-JS-Ökosystem, die sich durch Einfachheit auszeichnet und einfach mit React zu verwenden ist.

Schnellstart
Styled-Components installieren:
$ npm install styled-components
Importieren Sie es dann in Ihre Komponente:
$ import styled from 'styled-components';

Gestaltete Komponente:

const Button = styled.button`
Hintergrundfarbe: #6200ea;
Farbe: weiß;
Polsterung: 10px 20px;
Randradius: 5px;
Grenze: keine;
Cursor: Zeiger;

&:hover {
Hintergrundfarbe: #3700b3;
}
Verwenden Sie die gestaltete Komponente in Ihrem JSX:

Klicken Sie auf mich

Hauptmerkmale:
Themisierung: Mit Styled-Components können Sie Themen für ein einheitliches Styling in Ihrer gesamten Anwendung erstellen.

Dynamisches Styling: Man möchte vielleicht ändern, wie Dinge dynamisch gestaltet werden. Dies würde mit Requisiten einhergehen und sehr flexible und wiederverwendbare Komponenten schaffen.

Emotion: Flexibilität und Leistung
Eine weitere leistungsstarke CSS-in-JS-Bibliothek ist Emotion, die für ihre Flexibilität und Leistung bekannt ist. Es bietet zwei Hauptarten des Stils: für Inline-Stile die CSS-Requisite und gestylt für wiederverwendbare Komponenten.

Schnellstart
Emotion installieren:

npm install @emotion/react @emotion/styled
Importieren und verwenden:

gestylt aus „@emotion/styled“ importieren;

const Card = styled.div`
Polsterung: 20px;
Box-Shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
Randradius: 8px;
Hintergrundfarbe: weiß;

Für dynamische Inline-Stile:

import { css } from '@emotion/react';

constdynamicStyle = css`
Farbe: blau;
Schriftgröße: 16px;

Hallo, Emotion!

Hauptmerkmale:
Inline- und wiederverwendbare Stile: Mehr Kontrolle, mehr Flexibilität bei den Stilmethoden durch Emotions CSS und gestaltete APIs.

Serverseitiges Rendering: Emotion ist stark für SSR optimiert und eignet sich daher perfekt für Anwendungen, die eine hohe SEO-Leistung erfordern.

Best Practices für CSS-in-JS
Es gibt ein paar Best Practices für den effektiven Einsatz von CSS-in-JS, die dabei helfen, die Leistung aufrechtzuerhalten und Ihre Stile sauber zu halten:

Vermeiden Sie zu viele dynamische Inline-Stile: Inline-Stile eignen sich hervorragend für einmalige, kleinere Anpassungen. Zu viele führen jedoch zu Leistungsengpässen. Wenden Sie stattdessen gestaltete Komponenten für wiederverwendbare Stile an und beschränken Sie das Inline-Styling auf das, was wirklich notwendig ist.

Theming nutzen: Verwenden Sie Theming, um eine konsistente Struktur und Optik in Ihrer Anwendung durchzusetzen. Bibliotheken wie Styled-Components und Emotion ermöglichen die Definition eines globalen Themas. Dadurch wird die Anwendung von Branding-Farben, Schriftarten und anderen Stilkriterien auf Ihre Komponenten erheblich vereinfacht.

import { ThemeProvider } from 'styled-components';

const theme = {
PrimaryColor: '#6200ea',
Schriftgröße: '16px',
};

Requisitengesteuerte Stile: Mit dynamischen Requisiten können Sie Stile basierend auf dem Komponentenstatus oder sogar eingehenden Daten ändern. Sowohl in Styled-Components als auch in Emotion bieten Requisiten eine einfache Möglichkeit für Ihre Komponenten, die Anforderungen verschiedener Nutzungsszenarien zu erfüllen, ohne Stile neu schreiben zu müssen.

const Button = styled.button`
Hintergrundfarbe: ${(props) => (props.primary ? '#6200ea' : '#eee')};
Farbe: ${(props) => (props.primary ? 'white' : 'black')};

Primärtaste
Sekundärtaste

Code-Splitting: Beachten Sie, dass CSS-in-JS-Bibliotheken zu größeren Bundles führen können, wenn Sie nicht vorsichtig sind. Nutzen Sie Techniken wie Code-Splitting und laden Sie nur die Stile, die für jeden Teil Ihrer App benötigt werden, um eine angemessene Leistung zu erzielen.

Gestaltete Komponenten vs. Emotionen
Welches soll ich verwenden? Beides sind erstaunliche Bibliotheken, und jede erfüllt einen anderen Bedarf. Ein kurzer Vergleich:

styled-components: Am besten für React-Anwendungen geeignet, wenn Thematisierung und Benutzerfreundlichkeit erforderlich sind. Es erfreut sich großer Beliebtheit und verfügt über eine sehr gute Dokumentation, sodass es auch für Anfänger geeignet ist.

Emotion: Flexibler und leistungsoptimierter. Emotion eignet sich am besten, wenn Sie SSR-Unterstützung benötigen oder eine Bibliothek suchen, die Ihnen sowohl Inline- als auch wiederverwendbare Styling-Optionen bietet.

CSS-in-JS stellt eine leistungsstarke Möglichkeit für modernes Web-Styling dar, insbesondere wenn Sie Entwickler mit einem komponentengesteuerten Framework sind. Mit Bibliotheken wie Styled-Components und Emotion können Sie Stile in Ihrer gesamten Anwendung modular, dynamisch und konsistent halten.

Indem Sie sich an Best Practices halten – bereichsbezogene Inline-Stile, Theme-Nutzung und proprietäre Stile – können Sie CSS-in-JS optimal nutzen, um Ihren Code zu bereinigen und zu skalieren.

Bereit, Ihre Arbeitsweise in CSS zu ändern? Probieren Sie CSS-in-JS selbst aus!

Das obige ist der detaillierte Inhalt vonCSS in JS: Vollständiger Leitfaden zu Styled-Components, Emotion und mehr für saubereres und skalierbares Styling.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage