The computedStyleMap()
method of the Element
interface returns a StylePropertyMapReadOnly
interface which provides a read-only representation of a CSS declaration block that is an alternative to CSSStyleDeclaration
.
The computedStyleMap()
method of the Element
interface returns a StylePropertyMapReadOnly
interface which provides a read-only representation of a CSS declaration block that is an alternative to CSSStyleDeclaration
.
js
computedStyleMap()
None.
A StylePropertyMapReadOnly
interface.
We start with some simple HTML: a paragraph with a link, and a definition list to which we will add all the CSS Property / Value pairs.
html
<p> <a href="https://example.com">Link</a> </p> <dl id="regurgitation"></dl>
We add a little bit of CSS
css
a { --color: red; color: var(--color); }
We add JavaScript to grab our link and return back a definition list of all the CSS property values using computedStyleMap().
js
// get the element const myElement = document.querySelector("a"); // get the <dl> we'll be populating const stylesList = document.querySelector("#regurgitation"); // Retrieve all computed styles with computedStyleMap() const allComputedStyles = myElement.computedStyleMap(); // iterate through the map of all the properties and values, adding a <dt> and <dd> for each for (const [prop, val] of allComputedStyles) { // properties const cssProperty = document.createElement("dt"); cssProperty.appendChild(document.createTextNode(prop)); stylesList.appendChild(cssProperty); // values const cssValue = document.createElement("dd"); cssValue.appendChild(document.createTextNode(val)); stylesList.appendChild(cssValue); }
In browsers that support computedStyleMap()
, you'll see a list of all the CSS properties and values. In other browsers you'll just see a link.
Did you realize how many default CSS properties a link had? Update the 'a
' to the 'p
', and you'll notice a difference in the margin-top
and margin-bottom
default computed values.
Specification |
---|
CSS Typed OM Level 1 # dom-element-computedstylemap |
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
computedStyleMap |
66 | 79 | No | No | 53 | 16.4 | 66 | 66 | No | 47 | 16.4 | 9.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Element/computedStyleMap