Spec-Zone.ru › Web APIs

SVGЭлемент: свойство style

Базовая линия Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с января 2020 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Только для чтения style свойство SVGElement возвращает встроенный стиль элемента в виде живого объекта CSSStyleDeclaration, содержащего список всех свойств стиля для этого элемента со значениями, заданными только для атрибутов, определённых во встроенном атрибуте элемента style.

Сокращенные свойства развёрнуты. Если вы установите style="border-top: 1px solid black", вместо этого будут установлены длинные свойства (border-top-color, border-top-style и border-top-width).

Это свойство является только для чтения, поэтому нельзя назначить объект CSSStyleDeclaration. Тем не менее, можно задать встроенный стиль, присвоив строку напрямую свойству style. В этом случае строка передаётся в CSSStyleDeclaration.cssText. Использование style таким образом полностью перезапишет все встроенные стили элемента.

Поэтому для добавления определённых стилей к элементу без изменения других значений стиля обычно предпочтительнее устанавливать отдельные свойства в объекте CSSStyleDeclaration. Например, вы можете написать element.style.backgroundColor = "red".

Объявление стиля сбрасывается, установив его в null или пустую строку, например, elt.style.color = null.

Примечание: Имена свойств CSS преобразуются в идентификаторы JavaScript по этим правилам:

  • Если свойство состоит из одного слова, оно остаётся как есть: height остаётся таким же (в нижнем регистре).
  • Если свойство состоит из нескольких слов, разделённых дефисами, дефисы удаляются, и оно преобразуется в кемел-кейс: background-attachment становится backgroundAttachment.
  • Свойство float, являющееся зарезервированным ключевым словом JavaScript, преобразуется в cssFloat.

Свойство style имеет тот же приоритет в каскаде CSS, что и объявление встроенного стиля, заданное через атрибут style.

Значение

Живой объект CSSStyleDeclaration.

Примеры

Получение информации о стиле

Следующий фрагмент кода демонстрирует, как атрибут style переводится в список записей в CSSStyleDeclaration:

<svg
  width="50"
  height="50"
  xmlns="http://www.w3.org/2000/svg"
  viewBox="0 0 250 250"
  width="250"
  height="250">
  <circle
    cx="100"
    cy="100"
    r="50"
    id="circle"
    style="fill: red; stroke: black; stroke-width: 2px;" />
</svg>
<pre id="out"></pre>
const element = document.querySelector("circle");
const out = document.getElementById("out");
const elementStyle = element.style;

// We loop through all the element's styles using `for...in`
for (const prop in elementStyle) {
  // We check if the property belongs to the CSSStyleDeclaration instance
  // We also ensure that the property is a numeric index (indicating an inline style)
  if (
    Object.hasOwn(elementStyle, prop) &&
    !Number.isNaN(Number.parseInt(prop))
  ) {
    out.textContent += `${
      elementStyle[prop]
    } = '${elementStyle.getPropertyValue(elementStyle[prop])}'\n`;
  }
}

Спецификации

Спецификация
CSS Object Model (CSSOM)
# dom-elementcssinlinestyle-style

Совместимость браузеров

Десктоп Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
style 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 4.4

См. также

  • Использование динамической информации о стиле
  • HTMLElement.style
  • MathMLElement.style
  • SVGElement.attributeStyleMap

© 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/SVGElement/style

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API