:scope
Quick Summary for :scope
The
:scope
CSS pseudo-class represents elements that are a reference point for selectors to match against.
Code Usage for :scope
/* Selects a scoped element */ :scope { background-color: lime; }
More Details for :scope
:scope
The :scope
CSS pseudo-class represents elements that are a reference point for selectors to match against.
/* Selects a scoped element */ :scope { background-color: lime; }
Currently, when used in a stylesheet, :scope
is the same as :root
, since there is not at this time a way to explicitly establish a scoped element. When used from a DOM API such as querySelector()
, querySelectorAll()
, matches()
, or Element.closest()
, :scope
matches the element on which the method was called.
Syntax
:scope
Examples
Identity match
In this simple example, we demonstrate that using the :scope
pseudo-class from the Element.matches()
method matches the element on which it's called.
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>
ResultDirect children
A situation where the :scope
pseudo-class prove to be useful is when you need to get direct descendant of an already retrieved Element
.
var context = document.getElementById('context'); var selected = context.querySelectorAll(':scope > div'); document.getElementById('results').innerHTML = Array.prototype.map.call(selected, function (element) { return '#' + element.getAttribute('id'); }).join(', ');
HTML <div id="context"> <div id="element-1"> <div id="element-1.1"></div> <div id="element-1.2"></div> </div> <div id="element-2"> <div id="element-2.1"></div> </div> </div> <p> Selected elements ids : <span id="results"></span> </p>
ResultSpecifications
Specification |
---|
Selectors Level 4 # the-scope-pseudo |
See also
The:root
pseudo-class Locating DOM elements using selectors Element.querySelector()
and Element.querySelectorAll()
Document.querySelector()
and Document.querySelectorAll()
DocumentFragment.querySelector()
and DocumentFragment.querySelectorAll()
Last modified: Aug 12, 2021, by MDN contributors
Select your preferred language English (US)Français日本語中文 (简体) Change language Posted in
12:22 am, February 22, 2022
Add Comment
Other Items in CSS
rgb()
rgba()
:right
right
@right-bottom
:root
rotate
rotate()
rotate3d()
rotateX()
rotateY()
rotateZ()
row-gap
ruby-align
ruby-position
saturate()
scale
scale()
scale3d()
scaleX()
scaleY()
scaleZ()
:scope
scroll-behavior
scroll-margin
scroll-margin-block
scroll-margin-block-end
scroll-margin-block-start
scroll-margin-bottom
scroll-margin-inline
scroll-margin-inline-end
scroll-margin-inline-start
scroll-margin-left
scroll-margin-right
scroll-margin-top
scroll-padding
scroll-padding-block
scroll-padding-block-end
scroll-padding-block-start
scroll-padding-bottom
scroll-padding-inline
scroll-padding-inline-end
scroll-padding-inline-start
scroll-padding-left
scroll-padding-right
scroll-padding-top
scroll-snap-align
scroll-snap-stop
scroll-snap-type
@scroll-timeline