Inhaltsverzeichnis
Was :is() tut (und warum es nützlich ist)
Wie :where() ist anders (und wann man es benutzt)
Praktische Beispiele und Anwendungsfälle in der realen Welt
1. Vereinfachung verschachtelter Schwebezustände
2. Styles ohne Kampfspezifität zurückzusetzen
3.. Reaktionsfreudige Dienstprogrammklassen
Browserunterstützung und Kompatibilität
Heim Web-Frontend H5-Tutorial Erforschen der neuen CSS: IS () und: WO () Pseudoklasse

Erforschen der neuen CSS: IS () und: WO () Pseudoklasse

Jul 30, 2025 am 05:33 AM
css Pseudokategorie

: is () und: wobei () leistungsstarke und syntaktische CSS-Pseudoklassen sind, die das Schreiben des Selektors vereinfachen und Spezifitätsprobleme lösen. 1.: IS () kann mehrere Selektoren gruppieren, den doppelten Code reduzieren und die ursprüngliche Spezifität beibehalten und für Szenarien geeignet sind, in denen Lesbarkeit und klare Struktur erforderlich sind. 2.: WO () Syntax ähnelt der Funktion, aber ihre Spezifität ist immer Null, was sehr geeignet ist, Standardstile festzulegen, die leicht überschrieben werden können und häufig für das Entwerfen von Systemen oder Komponentenbibliotheken verwendet werden. 3.. Beide unterstützen komplexe Selektoren und verschachtelte Strukturen, um die Wartbarkeit der Code zu verbessern. 4. Der Browser unterstützt gut, moderne Browser sind weit verbreitet und die alte Umgebung kann allmählich verbessert werden. Die ordnungsgemäße Verwendung dieser beiden Pseudoklassen macht CSS flexibler, robuster und einfacher.

CSS hat sich mit der Einführung der :is() und :where() Pseudoklasse leise viel mächtiger geworden-und etwas eleganter-. Dies sind nicht nur syntaktischen Zucker; Sie lösen echte Schmerzpunkte beim Schreiben und Aufrechterhalten von CSS -Selektoren. Wenn Sie jemals lange Selektorlisten wiederholt oder mit bestimmten Problemen zu kämpfen haben, helfen diese beiden Pseudoklassen hier, um zu helfen.

Lassen Sie uns aufschlüsseln, was sie tun, wie sie anders sind und warum Sie sie verwenden möchten.


Was :is() tut (und warum es nützlich ist)

:is() ist eine CSS-Pseudo-Klasse, die eine Selektorliste enthält und jedem Element entspricht, das mindestens einen der Selektoren darin passt. Stellen Sie sich dies als einen Weg zu Gruppelektoren vor, ohne dasselbe Muster immer wieder zu wiederholen.

Vorher :is() , Sie könnten so etwas schreiben:

 .Kard: schwebe,
SideBar: Hover,
.nav-link: schwebe,
.Modal-Header: Hover {
  Deckkraft: 0,8;
}

Das ist wiederholt und schwer zu pflegen. Mit :is() können Sie es vereinfachen:

 : IS (.Card,. SideBar, .nav-Link, .modal-Header): Hover {
  Deckkraft: 0,8;
}

Dies ist sauberer, einfacher zu lesen und viel einfacher zu aktualisieren. Fügen Sie einfach eine Klasse aus der Liste in Inside hinzu oder entfernen Sie :is() .

Es funktioniert auch mit komplexeren Selektoren:

 : IS (Header, Main, Fußzeile) H1 {
  Schriftgröße: 2Rem;
}

Dies wendet den Stil auf h1 -Elemente innerhalb header , main oder footer an.

Schlüsselvorteil :: :is() folgt den normalen spezifischen Regeln - die Spezifikation wird vom spezifischsten Selektor in der Liste bestimmt. Wenn also einer der Elemente in :is() #id ist, wird der gesamte Selektor hochspezifisch.


Wie :where() ist anders (und wann man es benutzt)

:where() sieht und funktioniert fast genau wie :is() - es dauert auch eine Liste von Selektoren und entspricht jedem, die gelten. Aber hier ist der kritische Unterschied :

:where() hat immer keine Spezifität .

Das heißt, egal was Sie drinnen haben :where() , fügt es dem Selektor kein bestimmtes Gewicht hinzu.

Dies ist unglaublich nützlich für Standardstile oder Reset-/Dienstprogrammmuster , in denen Sie Basisstile definieren möchten, die später leicht zu überschreiben sind.

Beispielsweise kann eine UI -Bibliothek die Standard -Tastenstile festlegen:

 : WO (Button, [rollen = "Button"], .btn) {
  Polsterung: 0,5EM 1EM;
  Grenze: 1PX Solid #CCC;
  Hintergrund: #f0f0f0;
  Border-Radius: 4px;
}

Weil :where() keine Spezifität hat, kann eine einfache Klassenregel später im CSS sie leicht überschreiben:

 .Primary-Button {
  Hintergrund: Blau;
  Farbe: weiß;
}

Ohne :where() müssten Sie oft verwenden !important oder mit hoher Spezifikation (wie button.btn.primary ), was chaotisch wird.

Verwenden :where() , wenn Sie flexible, überschreibungsfreundliche Stile wünschen-insbesondere in Designsystemen oder Komponentenbibliotheken.


Praktische Beispiele und Anwendungsfälle in der realen Welt

1. Vereinfachung verschachtelter Schwebezustände

Sie möchten, dass ein direktes Kind eines Containers auf Hover reagiert:

 .Container: IS (.Card, .Item, .post): Hover {
  Transformation: Translatey (-2px);
  Box-Shadow: 0 4px 8px RGBA (0,0,0,0,1);
}

Sauber und skalierbar.

2. Styles ohne Kampfspezifität zurückzusetzen

Verwendung :where() in einer Reset- oder Basisschicht:

 : wo (ul, ol) {
  Rand: 0;
  Polsterung: 0;
  Listenstil: Keine;
}

Jetzt können Sie eine bestimmte Liste später stylen, ohne sich Gedanken darüber zu machen, dass Sie durch Zurücksetzen von Regeln überschrieben werden.

3.. Reaktionsfreudige Dienstprogrammklassen

Kombinieren Sie sich mit Utility-First-Ansätzen:

 : Wo (.md \\: Hover: Hover) {
  / * Bewerben Sie sich nur dann, wenn .md: schweben Sie verwendet, bekämpft aber nicht gegen andere Stile */////////
}

HINWEIS: Sie müssen dem Dickdarm mit \\: in Klassennamen entkommen.


Browserunterstützung und Kompatibilität

Beide :is() und :where() werden in modernen Browsern weitgehend unterstützt :

  • :is() - unterstützt in Chrome 88, Firefox 78, Safari 13.4
  • :where() - Chrome 88, Firefox 78, Safari 14.1

Bei älteren Browsern müssen Sie möglicherweise bei herkömmlichen Selektoren bleiben oder Build -Tools verwenden, mit denen diese diese erweitern können (obwohl noch kein zuverlässiger Autoprefixer vorhanden ist für :is() / :where() ).

Wenn Sie auf ältere Umgebungen abzielen, sollten Sie sie progressiv verwenden - sie scheitern lautlos, sodass Fallbacks bereitgestellt werden können.


Zusammenfassung :is() vs :where()

Besonderheit :is() :where()
Funktion Selektorgruppierung Selektorgruppierung
Spezifität Basierend auf der höchsten Inneren Liste Immer Null
Am besten für Trockenselektoren, Reduzierung der Wiederholung Styles, Themen, Dienstprogramme zurücksetzen
Schwierig überschreiben Kann hoch sein (abhängig von der Eingabe) Sehr einfach

Verwendung :is() Wenn Sie sauberere CSS erhalten möchten, ohne wie spezifische Funktionen zu ändern.

Verwenden :where() , wenn Sie Standardeinstellungen festlegen möchten, die nicht später im Weg stehen.

Beide machen CSS expressiver und weniger zerbrechlicher. Und ehrlich gesagt, wenn Sie sie verwenden, werden Sie sich fragen, wie Sie ohne sie gelebt haben.

Grundsätzlich sind sie kleine Funktionen mit großer Wirkung.

Das obige ist der detaillierte Inhalt vonErforschen der neuen CSS: IS () und: WO () Pseudoklasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1509
276
Wie benutze ich das CSS-Backdrop-Filter-Eigenschaft? Wie benutze ich das CSS-Backdrop-Filter-Eigenschaft? Aug 02, 2025 pm 12:11 PM

Backdrop-Filter wird verwendet, um visuelle Effekte auf den Inhalt der Elemente anzuwenden. 1. Verwenden Sie Backdrop-Filter: Blur (10px) und andere Syntax, um den frostierten Glasffekt zu erzielen. 2. unterstützt mehrere Filterfunktionen wie Unschärfe, Helligkeit, Kontrast usw. und kann überlagert werden. 3. Es wird häufig in der Glaskartendesign verwendet, und es ist notwendig, sicherzustellen, dass sich die Elemente mit dem Hintergrund überschneiden. 4. Moderne Browser haben eine gute Unterstützung, und @Supports können verwendet werden, um Downgrade -Lösungen bereitzustellen. 5. Vermeiden Sie übermäßige Unschärfewerte und häufiges Neuzuziehen, um die Leistung zu optimieren. Dieses Attribut wirkt sich nur aus, wenn sich hinter den Elementen Inhalte befinden.

Was ist die CSS-Aspekt-Verhältnis-Eigenschaft und wie kann ich sie verwenden? Was ist die CSS-Aspekt-Verhältnis-Eigenschaft und wie kann ich sie verwenden? Aug 04, 2025 pm 04:38 PM

Thespect-ratiocsSpropertydefinästhespen-to-hweigthtratioofanelemente, sicherzustellen, dass die Verbreitung von Verantwortung durchgesetzt wird

Wie erstelle ich eine springende Animation mit CSS? Wie erstelle ich eine springende Animation mit CSS? Aug 02, 2025 am 05:44 AM

Definieren Sie@keyframesBounceWith0%, 100%Attranslatey (0) und 50%Attranslatey (-20px) TocreateabasicBounce.2.ApplytheanimationToanelementusingAnimimation: Bounce0.6Sease-In-Outinfinfinitmooth, ContinuousMotion.3.Forrealism, verwendet@keyFramesrealist

Wie benutze ich die CSS: leere Pseudoklasse? Wie benutze ich die CSS: leere Pseudoklasse? Aug 05, 2025 am 09:48 AM

Die: Leerepseudo-KlasseSelectSselementsWithnochildrenorContent, einschließlich Spacesorcomponenten, SoonlyTryEmptyElementslikematchit; 1.itcanhideemptyContainersByusing: leer {display: none;} tocleanuPlayouts; 2.itallowsaddingPlaceLylingsSylingvise :::.

Was sind die Apps für virtuelle Währungshandel? _Die Top Ten empfohlene offizielle Apps Virtual Currency Trading Apps im Jahr 2025 Was sind die Apps für virtuelle Währungshandel? _Die Top Ten empfohlene offizielle Apps Virtual Currency Trading Apps im Jahr 2025 Aug 08, 2025 pm 06:42 PM

1. Binance ist bekannt für sein riesiges Transaktionsvolumen und die reichhaltigen Handelspaare. Es bietet diversifizierte Handelsmodelle und perfekte Ökosysteme. Es gewährleistet auch die Sicherheit von Benutzeranlagen über SAFU -Fonds und mehrere Sicherheitstechnologien und erhält den konformen Vorgängen von großer Bedeutung. 2. OKX Ouyi bietet eine breite Palette von Handelsdiensten für digitale Asset und einheitliche Handelskonto -Modelle, bereitet das Web3 -Feld aktiv bereit und verbessert die Sicherheit und Erfahrung der Transaktion durch strenge Risikokontrolle und Benutzerausbildung. 3.. Gate.io Sesam öffnet die Tür und verfügt über eine gute Währungsgeschwindigkeit und eine reichhaltige Währung, bietet diversifizierte Handelsinstrumente und Wertschöpfungsdienste, nimmt mehrere Sicherheitsüberprüfungsmechanismen an und hält sich an die Transparenz von Asset-Reserven zur Verbesserung des Benutzervertrauens. V.

Wie erstelle ich ein CSS-Akkordeon-Menü? Wie erstelle ich ein CSS-Akkordeon-Menü? Aug 03, 2025 pm 01:48 PM

Verwenden Sie versteckte Kontrollkästchen und CSSs: Überprüfte Pseudoklasse in Kombination mit benachbarten Geschwister-Selektoren (), um die Inhaltsanzeige zu steuern. 2. Die HTML -Struktur enthält Eingabe-, Beschriftungs- und Inhaltsdiv für jedes zusammengebrochene Element. 3.. Smooth Expansion/Collapse-Animationen durch Einstellen von MAX-Height-Übergang; V. 5. Verwenden Sie Radiotypen, um den Einzelöffnungsmodus zu implementieren, während das Kontrollkästchen mehrere Öffnungen ermöglicht. Dies ist eine interaktive faltbare Menüimplementierung, die kein JavaScript erfordert und mit modernen Browsern kompatibel ist.

Wie benutze ich CSS-Clip-Pfad für kreative Formen? Wie benutze ich CSS-Clip-Pfad für kreative Formen? Aug 04, 2025 pm 02:55 PM

Verwenden Sie CSSCLIP-Pfad, um nicht-respektuläre Formen im Browser ohne zusätzliche Bilder oder komplexe SVG zu erstellen. 2. Gemeinsame Formfunktionen umfassen Inset (), Circle (), Ellipse () und Polygon (), wobei Polygon () benutzerdefinierte Formen implementiert, indem Koordinatenpunkte definiert werden, die zum Erstellen kreativer Designs wie Dialogblasen geeignet sind; 3.. Clip-Pfad kann durch CSS-Übergang oder Keyframe-Animation dynamische Effekte erzielen, z. B. die Kreiserweiterung während des Schwebes, unterstützt jedoch nur Interform-Animationen desselben Typs und derselben Anzahl von Scheitelpunkten. 4. Achten Sie auf Reaktionsfähigkeit und Zugänglichkeit, um sicherzustellen, dass der Inhalt weiterhin verfügbar ist, wenn sie nicht unterstützt werden. Der Text ist lesbar, vermeiden Sie übermäßiges Anschneiden und steuern Sie die Anzahl der Polygonscheitelpunkte, um die Leistung zu optimieren. Gleichzeitig ist es notwendig, das zu wissen

Wie erstelle ich einen Textverlauf mit CSS? Wie erstelle ich einen Textverlauf mit CSS? Aug 01, 2025 am 07:39 AM

Verwenden Sie Hintergrundbild und Hintergrund-Clip: Text, um CSS-Textgradienteneffekt zu erzielen. 2. Sie müssen -Webkit-Background-Clip einstellen: Text und -Webkit-Text-Fill-Farben: transparent, um die Browserkompatibilität zu gewährleisten. 3.. Sie können lineare oder radiale Gradienten anpassen, und es wird empfohlen, fetthaltigen oder großen Text zu verwenden, um den visuellen Effekt zu verbessern. 4. Es wird empfohlen, Farbe als alternative Farbe für nicht unterstützte Umgebungen festzulegen. 5. Alternativen können -Webkit-Masken-Image verwenden, um komplexere Effekte zu erzielen, sind jedoch hauptsächlich für fortschrittliche Szenarien geeignet. Diese Methode ist einfach, hat eine gute Kompatibilität und visuell

See all articles