--- title: ':scope' slug: 'Web/CSS/:scope' tags: - CSS - Experimental - Layout - Pseudo-class - Reference - Scoped Elements - Web translation_of: 'Web/CSS/:scope' ---
{{CSSRef}}

La pseudo-class de CSS :scope representa aquells elements que són un punt de referència per tal que els selectors coincideixin.

/* Selecciona un element d'àmbit */
:scope {
  background-color: lime;
}

Actualment, quan s'utilitza en un full d'estils, :scope és el mateix que {{cssxref(":root")}}, ja que, en aquest moment, no hi ha una manera d'establir explícitament un element amb àmbit. Quan s'utilitza des d'una API DOM com {{domxref("Element.querySelector", "querySelector()")}}, {{domxref("Element.querySelectorAll", "querySelectorAll()")}}, {{domxref("Element.matches", "matches()")}} o {{domxref("Element.closest()")}}, :scope coincideix amb l'element que es va cridar el mètode.

Sintaxi

{{csssyntax}}

Exemple

En aquest exemple senzill, demostrem que l'ús de la pseudo-class :scope del mètode {{domxref("Element.matches()")}} coincideix amb l'element del qual és cridat.

JavaScript

let paragraph = document.getElementById("para");
let output = document.getElementById("output");

if (paragraph.matches(":scope")) {
  output.innerText = "Yep, the element is its own scope as expected!";
}

HTML

<p id="para">
  This is a paragraph. It is not an interesting paragraph. Sorry about that.
</p>
<p id="output"></p>

Resultat

{{ EmbedLiveSample('Example') }}

Especificacions

Especificació Estat Comentari
{{ SpecName('CSS4 Selectors', '#the-scope-pseudo', ':scope') }} {{ Spec2('CSS4 Selectors') }} Definició inicial.

Navegadors compatibles

{{ CompatibilityTable() }}

Descripció Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport bàsic {{ CompatNo }} {{ CompatGeckoDesktop(20) }}[1] {{CompatNo}} 15 7.0
En querySelector() i querySelectorAll() {{ CompatChrome(27) }} {{CompatGeckoDesktop(32)}}[1][2] {{CompatNo}} 15 7.0
Descripció Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport bàsic {{ CompatNo }} {{ CompatGeckoMobile(20) }}[1] {{CompatNo}} {{CompatNo}} 7.0
En querySelector() i querySelectorAll() {{ CompatChrome(27) }} {{CompatGeckoMobile(32)}}[1][2] {{CompatNo}} {{CompatNo}} 7.0

[2] Firefox 20 implementa la pseudo-class :scope, la funció està desactivada per defecte. Per habilitar la funció, estableix la preferència layout.css.scope-pseudo.enabled a true. A partir de Firefox 32, aquest indicador està per defecte a true en les versions de llançament de Firefox ({{bug(528456)}}).

[3] Gecko 55 (Firefox 55) elimina el suport per a <style scoped> però no per a la pseudo-class :scope, que encara és compatible. <style scoped> va fer possible configurar explícitament els àmbits de l'element, però les discussions en curs sobre el disseny d'aquesta característica, així com la manca d'altres implementacions, van donar com a resultat la decisió d'eliminar-lo.

Vegeu també