--- title: Element.computedStyleMap() slug: Web/API/Element/computedStyleMap tags: - API - CSS Typed Object Model API - Element - Experimental - Houdini - Method - Reference - StylePropertyMapReadOnly - computedStyleMap() translation_of: Web/API/Element/computedStyleMap ---
{{APIRef("CSS Typed Object Model API")}}{{SeeCompatTable}}
El método computedStyleMap()
de la interfaz {{domxref("Element")}} devuelve una interfaz {{domxref("StylePropertyMapReadOnly")}} que provee una representación de solo-lectura de un bloque de declaración de CSS que es una alternativa a {{domxref("CSSStyleDeclaration")}}.
var stylePropertyMapReadOnly = Element.computedStyleMap()
Ninguno.
Una interfaz {{domxref("StylePropertyMapReadOnly")}}.
Comenzamos con algo de HTML simple: un párrafo con un enlace, y una lista de definición a la cual le añadiremos todos los pares de Propiedad CSS / Valor.
<p> <a href="https://example.com">Link</a> </p> <dl id="regurgitation"></dl>
Añadimos un poco de CSS
a { --colour: red; color: var(--colour); }
Añadimos Javascript para tomar nuestro enlace y devolvemos una lista de definición de todos los valores de propiedades CSS usando computedStyleMap().
// obtenemos el elemento const myElement = document.querySelector('a'); // obtenemos la <dl> que llenaremos const stylesList = document.querySelector('#regurgitation'); // recuperamos todos los estilos calculados con computedStyleMap() const allComputedStyles = myElement.computedStyleMap(); // iteramos a través del mapa de todas las propiedades y valores, añadiendo un <dt> y <dd> para cada mapa for (const [prop, val] of allComputedStyles) { // propiedades const cssProperty = document.createElement('dt'); cssProperty.appendChild(document.createTextNode(prop)); stylesList.appendChild(cssProperty); // valores const cssValue = document.createElement('dd'); cssValue.appendChild(document.createTextNode(val)); stylesList.appendChild(cssValue); }
En navegadores que soportan computedStyleMap()
, verás una lista de todas las propiedades CSS y valores. En otros navegadores verás un enlace.
{{EmbedLiveSample("Examples", 300, 300)}}
¿Te diste cuenta cuántas propiedades CSS por defecto tenía un enlace? Actualiza el 'a
' a un 'p
', y notarás una diferencia en los valores calculados por defecto del margin-top
y margin-bottom
.
Especificación | Estado | Comentario |
---|---|---|
{{SpecName('CSS Typed OM','#dom-element-computedstylemap','computedStyleMap()')}} | {{Spec2('CSS Typed OM')}} | Definición inicial. |
{{Compat("api.Element.computedStyleMap")}}