Spec-Zone.ru › CSS

CSS-свойство `cx`

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

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

cx CSS-свойство задаёт центральную точку по оси x элемента SVG <circle> или <ellipse>. Если оно задано, то переопределяет атрибут cx элемента.

Примечание: Хотя атрибут SVG cx имеет отношение к элементу SVG <radialGradient>, свойство cx применяется только к элементам <circle> и <ellipse>, вложенным в <svg>. Оно не применяется к <radialGradient> и другим элементам SVG, а также к элементам HTML и псевдоэлементам.

Синтаксис

/* length and percentage values */
cx: 20px;
cx: 20%;

/* Global values */
cx: inherit;
cx: initial;
cx: revert;
cx: revert-layer;
cx: unset;

Значения

Значения <length> и <percentage> обозначают горизонтальный центр круга или эллипса.

<length>
В качестве абсолютной или относительной длины может быть выражено в любой единице измерения, допустимой для типа данных CSS <length>. Отрицательные значения недопустимы.
<percentage>
Процентные значения отсчитываются от ширины текущей области просмотра SVG.

Формальное определение

Начальное значение 0
Применяется к элементам <ellipse> и <circle> в <svg>
Наследуется нет
Проценты от ширины текущей области просмотра SVG
Вычисленное значение указанное процентное значение или абсолютная длина
Тип анимации по типу вычисленного значения

Формальный синтаксис

cx = 
  <length> |
  <percentage>

Примеры

Определение координаты круга и эллипса по оси x

В этом примере показан базовый вариант использования cx, а также то, как CSS-свойство cx имеет приоритет над атрибутом cx.

HTML

Мы добавляем в SVG два одинаковых элемента <circle> и два одинаковых элемента <ellipse>; значения их атрибутов cx равны 50 и 150 соответственно.

<svg xmlns="http://www.w3.org/2000/svg">
  <circle cx="50" cy="50" r="30" />
  <circle cx="50" cy="50" r="30" />
  <ellipse cx="150" cy="50" rx="20" ry="40" />
  <ellipse cx="150" cy="50" rx="20" ry="40" />
</svg>

CSS

С помощью CSS мы задаём стили только для первого круга и первого эллипса, поэтому их парные фигуры используют стили по умолчанию (при этом fill по умолчанию имеет чёрный цвет). Мы используем свойство cx, чтобы переопределить значение атрибута SVG cx, а также задаём ему fill и stroke, чтобы отличить первые фигуры в каждой паре от парных. По умолчанию браузер отображает изображения SVG шириной 300px и высотой 150px.

svg {
  border: 1px solid;
}

circle:first-of-type {
  cx: 30px;
  fill: lightgreen;
  stroke: black;
}
ellipse:first-of-type {
  cx: 180px;
  fill: pink;
  stroke: black;
}

Результат

Центр круга со стилями находится на расстоянии 30px от левого края области просмотра SVG, а стилизованный эллипс — на расстоянии 180px от этого края, как задано значениями CSS-свойства cx. Центры фигур без стилей находятся на расстоянии 50px и 150px от левого края области просмотра SVG, как задано значениями их атрибутов SVG cx.

Координаты по оси x в процентных значениях

В этом примере показано использование процентных значений для cx.

HTML

Мы используем ту же разметку, что и в предыдущем примере.

<svg xmlns="http://www.w3.org/2000/svg">
  <circle cx="50" cy="50" r="30" />
  <circle cx="50" cy="50" r="30" />
  <ellipse cx="150" cy="50" rx="20" ry="40" />
  <ellipse cx="150" cy="50" rx="20" ry="40" />
</svg>

CSS

Мы используем CSS, похожий на CSS из предыдущего примера. Единственное отличие — значение CSS-свойства cx: в этом случае для <circle> мы используем процентное значение 30%, а для <ellipse> — 80%.

svg {
  border: 1px solid;
}

circle:first-of-type {
  cx: 30%;
  fill: lightgreen;
  stroke: black;
}
ellipse:first-of-type {
  cx: 80%;
  fill: pink;
  stroke: black;
}

Результат

При использовании процентных значений для cx они отсчитываются от ширины области просмотра SVG. Здесь координаты центров круга и эллипса со стилями по оси x составляют 30% и 80% ширины текущей области просмотра SVG соответственно. Поскольку ширина по умолчанию равна 300px, значения cx составляют 90px и 240px от левого края области просмотра SVG.

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

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

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

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
cx
43
79
69
30
9
43
79
30
9
4.0
43
9

См. также

  • Атрибут SVG cx
  • Геометрические свойства: cx, cy, r, rx, ry, x, y, width, height
  • fill
  • stroke
  • paint-order
  • Сокращённое свойство border-radius
  • radial-gradient
  • Тип данных <basic-shape>

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

Spec-Zone.ru

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