StylePropertyMapReadOnly
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Интерфейс StylePropertyMapReadOnly API CSS Typed Object Model предоставляет доступ к блоку объявления CSS, являющемуся чтением-только альтернативой CSSStyleDeclaration. Получите экземпляр этого интерфейса с помощью Element.computedStyleMap().
Свойства экземпляра
StylePropertyMapReadOnly.size-
Возвращает целое без знака, содержащее размер объекта
StylePropertyMapReadOnly.
Методы экземпляра
StylePropertyMapReadOnly.entries()-
Возвращает массив пар собственных перечисляемых свойств объекта, в том же порядке, что и в цикле
for...in(разница заключается в том, что цикл for...in перечисляет также свойства в цепочке прототипов). StylePropertyMapReadOnly.forEach()-
Выполняет предоставленную функцию один раз для каждого элемента объекта
StylePropertyMapReadOnly. StylePropertyMapReadOnly.get()-
Возвращает значение указанного свойства.
StylePropertyMapReadOnly.getAll()-
Возвращает массив объектов
CSSStyleValue, содержащих значения для указанного свойства. StylePropertyMapReadOnly.has()-
Указывает, имеется ли указанное свойство в объекте
StylePropertyMapReadOnly. StylePropertyMapReadOnly.keys()-
Возвращает новый итератор массива, содержащий ключи для каждого элемента в
StylePropertyMapReadOnly. StylePropertyMapReadOnly.values()-
Возвращает новый итератор массива, содержащий значения для каждого индекса в объекте
StylePropertyMapReadOnly.
Примеры
Нам нужен элемент для наблюдения:
<p> This is a paragraph with some text. We can add some CSS, or not. The style map will include all the default and inherited CSS property values. </p> <dl id="output"></dl>
Добавим немного CSS с пользовательским свойством для лучшей демонстрации вывода:
p {
--someVariable: 1.6em;
--someOtherVariable: translateX(33vw);
--anotherVariable: 42;
line-height: var(--someVariable);
}
Добавим JavaScript, чтобы получить наш абзац и вернуть список определений всех значений свойств CSS по умолчанию с помощью Element.computedStyleMap().
// get the element
const myElement = document.querySelector("p");
// get the <dl> we'll be populating
const stylesList = document.querySelector("#output");
// Retrieve all computed styles with computedStyleMap()
const stylePropertyMap = myElement.computedStyleMap();
// iterate through the map of all the properties and values, adding a <dt> and <dd> for each
for (const [prop, val] of stylePropertyMap) {
// properties
const cssProperty = document.createElement("dt");
cssProperty.innerText = prop;
stylesList.appendChild(cssProperty);
// values
const cssValue = document.createElement("dd");
cssValue.innerText = val;
stylesList.appendChild(cssValue);
}
Спецификации
| Спецификация |
|---|
| CSS Typed OM Level 1 # the-stylepropertymap |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
@@iterator |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
StylePropertyMapReadOnly |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
entries |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
forEach |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
get |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
getAll |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
has |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
keys |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
size |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
values |
66 | 79 | Нет | 53 | 16.4 | 66 | Нет | 47 | 16.4 | 9.0 | 66 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/StylePropertyMapReadOnly