el.attributeStyleMap.set('padding', CSS.px(42)); const padding = el.attributeStyleMap.get('padding'); console.log(padding.value, padding.unit); // 42, 'px'
// Element styles. el.attributeStyleMap.set('opacity', 0.3); typeof el.attributeStyleMap.get('opacity').value === 'number' // Yay, a number! // Stylesheet rules. const stylesheet = document.styleSheets[0]; stylesheet.cssRules[0].styleMap.set('background', 'blue');
// All 3 of these are equivalent: el.attributeStyleMap.set('opacity', 0.3); el.attributeStyleMap.set('opacity', '0.3'); el.attributeStyleMap.set('opacity', CSS.number(0.3)); // see next section // el.attributeStyleMap.get('opacity').value === 0.3 // StylePropertyMaps are iterable. for (const [prop, val] of el.attributeStyleMap) { console.log(prop, val.value); } // → opacity, 0.3 el.attributeStyleMap.has('opacity') // true el.attributeStyleMap.delete('opacity') // remove opacity. el.attributeStyleMap.clear(); // remove all styles.
if (window.CSS && CSS.number) { // Supports CSS Typed OM. }