Свойства CSS: интерфейс CSS2Properties
Поддержка : | | Соответствует стандарту. | | | Соответствует стандарту. |
Интерфейс CSS2Properties является расширением интерфейса CSSStyleDeclaration, необязательным для реализации DOM. Тем не менее его поддерживают оба рассматриваемых нами обозревателя. Он обеспечивает чтение и запись свойств CSS через дополнительные свойства объекта CSSStyleDeclaration, имена которых соответствуют именам свойств CSS с поправкой на синтаксис языков программирования. Примеры его использования приведены в этом пункте. Полный перечень свойств этого интерфейса и описание их поддержки обозревателями вы найдете в Приложении "Поддержка динамических стилей обозревателями".
Специфицированные и вычисленные значения свойств
Вспомним, как спецификация CSS описывает порядок вычисления значений свойств CSS для каждого элемента в дереве документа. Сначала значение определяется из спецификации (специфицированное значение), затем при необходимости преобразуется к абсолютному значению (вычисленное значение), и, наконец, преобразуется с учетом ограничений контекста (фактическое значение).
DOM 2 предусматривает возможность доступа к специфицированным и вычисленным значениям свойств. Для чтения и изменения специфицированных значений должен использоваться метод getOverrideStyle объекта Document, а для чтения вычисленных значений - метод getComputedStyle объекта AbstractView (т. е. в современных реализациях объекта window).
Метод getOverrideStyle
Синтаксис: документ.getOverrideStyle(elt, pseudoElt) Аргументы: elt - выражение типа Element pseudoElt - выражение типа DOMString Результат: значение типа CSSStyleDeclaration
Поддержка : | | Не поддерживается. | | | Реализовано с ошибками. |
Метод getOverrideStyle возвращает объект CSSStyleDeclaration, содержащий специфицированные значения свойств стилей элемента elt. Аргумент pseudoElt должен быть именем псевдоэлемента CSS или пустой строкой. Примеры:
var os = document.getOverrideStyle(document.body, ""); os.setProperty("background-color", "green", "");
Метод getComputedStyle
Синтаксис: окно.getComputedStyle(elt, pseudoElt) Аргументы: elt - выражение типа Element pseudoElt - выражение типа DOMString Результат: значение типа CSSStyleDeclaration
Поддержка : | | Не поддерживается. | | | Реализовано с ошибками. |
Метод getComputedStyle возвращает объект CSSStyleDeclaration, содержащий вычисленные значения свойств стилей элемента elt. Этот объект доступен только для чтения. Аргумент pseudoElt должен быть именем псевдоэлемента CSS или пустой строкой. Примеры:
var os = window.getComputedStyle(document.body, ""); alert(os.getProperty("background-color"));
В Internet Explorer доступ к специфицированным и вычисленным значениям свойств реализован иначе. Каждый HTML-элемент имеет помимо свойства style еще два свойства: runtimeStyle, содержащий его специфицированные свойства, и currentStyle, содержащий его вычисленные свойства. Оба эти свойства возвращают объект типа CSS2Properties. Примеры:
document.body.runtimeStyle.backgroundColor = "green"; alert(document.body.currentStyle.backgroundColor);
1 2 3 4 5 6 7 8
8 8 8
| |