Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. CSS
  3. Reference
  4. Selectors
  5. :scope

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

:scope

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Januar 2020⁩.

Die:scopeCSSPseudoklasse repräsentiert Elemente, die als Referenzpunkt oder Geltungsbereich für Selektoren dienen, gegen die abgeglichen werden soll.

css
/* Selects a scoped element */:scope {  background-color: lime;}

Welche Elemente durch:scope ausgewählt werden, hängt vom Kontext ab, in dem es verwendet wird:

  • Wird:scope auf der obersten Ebene eines Stylesheets verwendet, entspricht:scope:root, was in einem regulären HTML-Dokument dem<html>-Element entspricht.
  • Innerhalb eines@scope-Blocks entspricht:scope der Wurzel des definierten Geltungsbereichs des Blocks. Es ermöglicht, Stile auf die Wurzel des Geltungsbereichs aus dem@scope-Block selbst anzuwenden.
  • Bei der Verwendung innerhalb eines DOM-API-Aufrufs – wiequerySelector(),querySelectorAll(),matches() oderElement.closest() – entspricht:scope dem Element, auf dem die Methode aufgerufen wurde.

Syntax

css
:scope {  /* ... */}

Beispiele

Verwendung von:scope als Alternative zu:root

Dieses Beispiel zeigt, dass:scope auf der obersten Ebene eines Stylesheets:root gleichwertig ist. In diesem Fall färbt der bereitgestellte CSS-Code den Hintergrund des<html>-Elements orange.

css
:scope {  background-color: orange;}

Verwendung von:scope, um die Geltungsbereichswurzel in einem@scope-Block zu stylen

In diesem Beispiel verwenden wir zwei separate@scope-Blöcke, um Links innerhalb von Elementen mit einer.light-scheme- und.dark-scheme-Klasse zu matchen. Beachten Sie, wie:scope verwendet wird, um die Geltungsbereichswurzeln selbst auszuwählen und zu stylen. In diesem Beispiel sind die Geltungsbereichswurzeln die<div>-Elemente, denen die Klassen zugewiesen wurden.

HTML

html
<div>  <p>    MDN contains lots of information about    <a href="/en-US/docs/Web/HTML">HTML</a>,    <a href="/en-US/docs/Web/CSS">CSS</a>, and    <a href="/en-US/docs/Web/JavaScript">JavaScript</a>.  </p></div><div>  <p>    MDN contains lots of information about    <a href="/en-US/docs/Web/HTML">HTML</a>,    <a href="/en-US/docs/Web/CSS">CSS</a>, and    <a href="/en-US/docs/Web/JavaScript">JavaScript</a>.  </p></div>

CSS

div {  padding: 10px;}
css
@scope (.light-scheme) {  :scope {    background-color: plum;  }  a {    color: darkmagenta;  }}@scope (.dark-scheme) {  :scope {    background-color: darkmagenta;    color: antiquewhite;  }  a {    color: plum;  }}

Ergebnis

Verwendung von:scope in JavaScript

Dieses Beispiel demonstriert die Verwendung der:scope-Pseudoklasse in JavaScript. Dies kann nützlich sein, wenn Sie einen direkten Nachfolger eines bereits abgerufenenElement benötigen.

HTML

html
<div>  <div>    <div></div>    <div></div>  </div>  <div>    <div></div>  </div></div><p>  Selected element ids :  <span></span></p>

JavaScript

js
const context = document.getElementById("context");const selected = context.querySelectorAll(":scope > div");document.getElementById("results").textContent = [...selected]  .map((element) => `#${element.id}`)  .join(", ");

Ergebnis

Der Geltungsbereich voncontext ist das Element mit derid voncontext. Die ausgewählten Elemente sind die<div>-Elemente, die direkte Kinder dieses Kontexts sind —element-1 undelement-2 — jedoch nicht deren Nachfolger.

Spezifikationen

Specification
Selectors Level 4
# the-scope-pseudo

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp