Spec-Zone.ru › Web APIs

SVGMarkerElement

Базовая поддержка Широко распространена *

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

* Некоторые части этой функции могут иметь разный уровень поддержки.

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

Интерфейс SVGMarkerElement предоставляет доступ к свойствам элементов <marker>, а также методы для их манипулирования. Элемент <marker> определяет графику, используемую для рисования меток на фигуре.

EventTarget Node Element SVGElement SVGMarkerElement

Следующие свойства и методы возвращают или действуют на атрибуты элемента <marker>, представленного SVGMarkerElement.

Свойства экземпляра

Этот интерфейс также наследует свойства от своего родителя, SVGElement.

SVGMarkerElement.markerUnits Только для чтения

Возвращает объект SVGAnimatedEnumeration с одним из следующих значений:

0

SVG_MARKERUNITS_UNKNOWN, что означает, что атрибут markerUnits имеет значение, отличное от двух предопределённых ключевых слов.

1

SVG_MARKERUNITS_USERSPACEONUSE, что означает, что атрибут markerUnits имеет ключевое слово userSpaceOnUse.

2

SVG_MARKERUNITS_STROKEWIDTH, что означает, что атрибут markerUnits имеет ключевое слово strokeWidth.

SVGMarkerElement.markerWidth Только для чтения

Возвращает объект SVGAnimatedLength, содержащий ширину области просмотра <marker>.

SVGMarkerElement.markerHeight Только для чтения

Возвращает объект SVGAnimatedLength, содержащий высоту области просмотра <marker>.

SVGMarkerElement.orientType Только для чтения

Возвращает объект SVGAnimatedEnumeration с одним из следующих значений:

0

SVG_MARKER_ORIENT_UNKNOWN, что означает, что атрибут orient имеет значение, отличное от двух предопределённых ключевых слов.

1

SVG_MARKERUNITS_ORIENT_AUTO, что означает, что атрибут orient имеет ключевое слово auto.

2

SVG_MARKERUNITS_ORIENT_ANGLE, что означает, что атрибут orient имеет значение <angle> или <number>, указывающее угол.

SVGMarkerElement.orientAngle Только для чтения

Возвращает объект SVGAnimatedAngle, содержащий угол атрибута orient.

SVGMarkerElement.refX Только для чтения

Возвращает объект SVGAnimatedLength, содержащий значение атрибута refX элемента <marker>.

SVGMarkerElement.refY Только для чтения

Возвращает объект SVGAnimatedLength, содержащий значение атрибута refY элемента <marker>.

SVGMarkerElement.viewBox Только для чтения

Возвращает объект SVGAnimatedRect, содержащий прямоугольник SVGRect, содержащий значения, заданные атрибутом viewBox для <marker>.

SVGMarkerElement.preserveAspectRatio Только для чтения

Возвращает объект SVGPreserveAspectRatio, содержащий значения, заданные атрибутом preserveAspectRatio для области просмотра <marker>.

Методы экземпляра

Этот интерфейс также наследует методы от своего родителя, SVGElement.

SVGMarkerElement.setOrientToAuto()

Устанавливает значение атрибута orient в auto.

SVGMarkerElement.setOrientToAngle()

Устанавливает значение атрибута orient на определённое значение угла.

Примеры

В примерах будет использоваться следующий SVG.

<svg id="svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <marker
      id="arrow"
      viewBox="0 0 10 10"
      refX="5"
      refY="5"
      markerWidth="6"
      markerHeight="6"
      orient="90">
      <path d="M 0 0 L 10 5 L 0 10 z" />
    </marker>
  </defs>
</svg>

Получение ширины метки

Свойство markerWidth возвращает объект SVGAnimatedLength, который содержит SVGLength со значением атрибута markerWidth.

let marker = document.getElementById("arrow");
console.log(marker.markerWidth.baseVal.value); // 6

Обновление угла ориентации

В следующем примере значение атрибута orient обновляется с помощью setOrientToAngle() используя SVGAngle, созданный с помощью SVGElement.createSVGAngle().

let svg = document.getElementById("svg");
let marker = document.getElementById("arrow");
console.log(marker.orientAngle.baseVal.value); // value in SVG above - 90
let angle = svg.createSVGAngle();
angle.value = "110";
marker.setOrientToAngle(angle);
console.log(marker.orientAngle.baseVal.value); // new value - 110

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

Спецификация
Scalable Vector Graphics (SVG) 2
# InterfaceSVGMarkerElement

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

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari в IOS Samsung Internet WebView Android
SVGMarkerElement 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
markerHeight 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
markerUnits 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
markerWidth 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
orient Нет Нет Нет Нет 13.1 Нет Нет Нет 13.4 Нет Нет
orientAngle 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
orientType 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
preserveAspectRatio 1 12 2 ≤12.1 3 18 4 ≤12.1 1 1.0 3
refX 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
refY 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
setOrientToAngle 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
setOrientToAuto 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
viewBox 1 12 2 ≤12.1 3 18 4 ≤12.1 1 1.0 3

© 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/SVGMarkerElement

Spec-Zone.ru

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