Свойство CSS `ry`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с января 2020 года.
Свойство ry CSS определяет радиус по оси y, то есть вертикальный радиус элемента <ellipse> SVG, а также вертикальную кривизну углов прямоугольника <rect> SVG. Если это свойство задано, оно переопределяет атрибут ry фигуры.
Примечание: Свойство ry применяется только к элементам <ellipse> и <rect>, вложенным в <svg>. Оно не применяется к другим элементам SVG, элементам HTML или псевдоэлементам.
Синтаксис
/* Initial value */ ry: auto; /* Length and percentage values */ ry: 30px; ry: 30%; /* Global values */ ry: inherit; ry: initial; ry: revert; ry: revert-layer; ry: unset;
Значения
Значение <length>, <percentage> или ключевое слово auto задаёт вертикальный радиус эллипсов и вертикальный радиус скругления углов прямоугольников.
-
<length> - Абсолютные или относительные длины можно задавать в любых единицах, допустимых для типа данных CSS
<length>. Отрицательные значения недопустимы. -
<percentage> - Процентные значения отсчитываются от высоты текущей области просмотра SVG. Используемое значение для
<rect>никогда не превышает 50% высоты прямоугольника. -
auto - Если задано значение
autoили оно используется по умолчанию, значениеryравно абсолютному значению длины, используемому дляrx. Если вычисленное значение и дляry, и дляrxравноauto, используемым значением будет0.
Формальное определение
| Начальное значение | auto |
|---|---|
| Применяется к |
элементам <ellipse> и <rect> в <svg>
|
| Наследуется | нет |
| Процентные значения | отсчитываются от высоты текущей области просмотра SVG |
| Вычисленное значение | процентное значение, заданное в спецификации, или абсолютная длина |
| Тип анимации | по типу вычисленного значения |
Формальный синтаксис
ry = <length-percentage> | auto <length-percentage> = <length> | <percentage>
Примеры
Создание скруглённых углов
В этом примере показано, как создавать прямоугольники со скруглёнными углами, применяя свойство ry к элементам <rect> SVG.
HTML
Мы добавляем изображение SVG с четырьмя элементами <rect>; все прямоугольники одинаковы, за исключением значения атрибута x, которое задаёт их положение вдоль оси x.
<svg xmlns="http://www.w3.org/2000/svg"> <rect width="50" height="120" y="5" x="5" /> <rect width="50" height="120" y="5" x="60" /> <rect width="50" height="120" y="5" x="115" /> <rect width="50" height="120" y="5" x="170" /> <rect width="50" height="120" y="5" x="225" /> </svg>
CSS
С помощью CSS задаём значение ry для четырёх прямоугольников:
svg {
border: 1px solid;
}
rect:nth-of-type(2) {
ry: 10px;
fill: red;
}
rect:nth-of-type(3) {
ry: 2em;
fill: blue;
}
rect:nth-of-type(4) {
ry: 5%;
fill: orange;
}
rect:nth-of-type(5) {
ry: 80%;
fill: green;
}
Результат
Для первого прямоугольника по умолчанию используется auto; поскольку значения rx в этом примере также по умолчанию равны auto, используемое значение ry равно 0. У красного и синего прямоугольников углы скруглены на 10px и 2em соответственно. Поскольку размер области просмотра SVG по умолчанию составляет 300 пикселей на 150 пикселей, значение 5% оранжевого прямоугольника задаёт радиус 7.5px. Для зелёного прямоугольника задано ry: 80%. Однако, поскольку значение ry никогда не превышает 50% высоты прямоугольника, результат такой же, как если бы было задано ry: 50%; rx: 50%.
Определение вертикального радиуса эллипса
В этом простом примере <ellipse> показано, как свойство CSS ry имеет приоритет над атрибутом ry SVG при задании вертикального радиуса фигуры.
HTML
В SVG добавлены два одинаковых элемента <ellipse>; для каждого задан атрибут ry со значением 20.
<svg xmlns="http://www.w3.org/2000/svg"> <ellipse cx="80" cy="50" rx="40" ry="20" /> <ellipse cx="80" cy="50" rx="40" ry="20" /> </svg>
CSS
Мы стилизуем только первый эллипс, а для его копии используются стили браузера по умолчанию (значение fill по умолчанию — чёрный цвет). Геометрическое свойство ry переопределяет значение атрибута SVG ry. Мы также задаём свойства fill и stroke, чтобы отличить стилизованную фигуру от её копии.
svg {
border: 1px solid;
}
ellipse:first-of-type {
ry: 80px;
fill: magenta;
stroke: rebeccapurple;
}
Результат
Вертикальный радиус стилизованного эллипса равен 80px, как указано в значении свойства CSS ry. Вертикальный радиус эллипса без стилей равен 20px, заданному атрибутом ry.
Процентные значения вертикального радиуса эллипса
В этом примере показано использование процентных значений для ry.
HTML
Используем ту же разметку, что и в предыдущем примере.
<svg xmlns="http://www.w3.org/2000/svg"> <ellipse cx="80" cy="50" rx="40" ry="20" /> <ellipse cx="80" cy="50" rx="40" ry="20" /> </svg>
CSS
Код CSS похож на код из предыдущего примера, но отличается значением свойства ry; в этом случае используется процентное значение.
svg {
border: 1px solid;
}
ellipse:first-of-type {
ry: 30%;
fill: magenta;
stroke: rebeccapurple;
}
Результат
При использовании процентных значений для ry они отсчитываются от высоты области просмотра SVG. В данном случае вертикальный радиус стилизованного эллипса составляет 30% высоты текущей области просмотра SVG. Поскольку высота по умолчанию равна 150px, значение ry составляет 45px, поэтому высота эллипса равна 90px.
Спецификации
| Спецификация |
|---|
| Масштабируемая векторная графика (SVG) 2 # RY |
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
ry |
43 |
79 |
69 |
30 |
17.4До Safari 17.4 это значение распознавалось, но не оказывало эффекта и распознавалось только как атрибут, применённый к элементу SVG. См. ошибку 266090. |
43 |
79 |
30 |
17.4До Safari на iOS 17.4 это значение распознавалось, но не оказывало эффекта и распознавалось только как атрибут, применённый к элементу SVG. См. ошибку 266090. |
4.0 |
43 |
17.4До WebView на iOS 17.4 это значение распознавалось, но не оказывало эффекта и распознавалось только как атрибут, применённый к элементу SVG. См. ошибку 266090. |
auto |
53 |
79 |
69 |
40 |
17.4 |
53 |
79 |
41 |
17.4 |
6.0 |
53 |
17.4 |
См. также
- Геометрические свойства:
ry,cx,cy,r,rx,x,y,height,height fillstrokepaint-order-
Сокращённое свойство
border-radius radial-gradient-
Тип данных
<basic-shape> - Атрибут
rySVG
© 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/ry