Spec-Zone.ru › SVG

viewBox

Атрибут viewBox определяет положение и размеры области просмотра SVG в пользовательском пространстве.

Значение атрибута viewBox — это список из четырёх чисел, разделённых пробелами и/или запятой: min-x, min-y, width и height. min-x и min-y представляют наименьшие координаты X и Y, которые может иметь viewBox (координаты начала координат viewBox), а width и height задают размер viewBox. В результате получается viewBox — прямоугольник в пользовательском пространстве, отображаемый в границы области просмотра элемента SVG (не область просмотра браузера). Если SVG содержит атрибут viewBox (часто в сочетании с атрибутом preserveAspectRatio), преобразование растягивает или изменяет размер области просмотра SVG, чтобы она соответствовала определённому контейнеру.

Элементы

Этот атрибут можно использовать с элементами SVG, описанными в следующих разделах.

<marker>

Для элемента <marker> атрибут viewBox задаёт положение и размеры содержимого элемента <marker>.

Значение <number>,? <number>,? <number>,? <number>
Значение по умолчанию нет
Анимируемый Да

<pattern>

Для элемента <pattern> атрибут viewBox задаёт положение и размеры содержимого плитки узора.

Значение <number>,? <number>,? <number>,? <number>
Значение по умолчанию нет
Анимируемый Да

<svg>

Для элемента <svg> атрибут viewBox задаёт положение и размеры содержимого элемента <svg>.

Значение <number>,? <number>,? <number>,? <number>
Значение по умолчанию нет
Анимируемый Да

<symbol>

Для элемента <symbol> атрибут viewBox задаёт положение и размеры содержимого элемента <symbol>.

Значение <number>,? <number>,? <number>,? <number>
Значение по умолчанию нет
Анимируемый Да

<view>

Для элемента <view> атрибут viewBox задаёт положение и размеры содержимого элемента <view>.

Значение <number>,? <number>,? <number>,? <number>
Значение по умолчанию нет
Анимируемый Да

Примеры

Фрагмент кода ниже содержит три элемента <svg> с разными значениями атрибута viewBox и одинаковыми дочерними элементами <rect> и <circle>, которые создают совершенно разные результаты. Размер <rect> задаётся с помощью относительных единиц, поэтому визуальный размер получившегося квадрата выглядит неизменным независимо от значения viewBox. Длина радиуса — значение атрибута r элемента <circle> — во всех случаях одинакова, но это значение в пользовательских единицах вычисляется относительно размера, заданного в viewBox, поэтому результаты различаются.

<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <rect x="0" y="0" width="100%" height="100%" />
  <circle cx="50%" cy="50%" r="4" fill="white" />
</svg>

<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
  <rect x="0" y="0" width="100%" height="100%" />
  <circle cx="50%" cy="50%" r="4" fill="white" />
</svg>

<svg viewBox="-5 -5 10 10" xmlns="http://www.w3.org/2000/svg">
  <rect x="0" y="0" width="100%" height="100%" />
  <circle cx="50%" cy="50%" r="4" fill="white" />
</svg>

Пользовательские единицы r="4" вычисляются относительно размеров viewBox, из-за чего размеры окружностей значительно различаются. Точное влияние атрибута viewBox зависит от атрибута preserveAspectRatio.

Примечание: Значения width или height, меньшие или равные 0, отключают отрисовку элемента.

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

Спецификация
Масштабируемая векторная графика (SVG) 2>
# ViewBoxAttribute>

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/viewBox

Spec-Zone.ru

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