ry
Свойство ry CSS определяет радиус по оси Y, или вертикальный радиус, эллипса SVG <ellipse> и вертикальную кривизну углов прямоугольника SVG <rect>. При наличии, оно переопределяет атрибут формы ry.
Синтаксис
/* 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.
Формальное определение
| Начальное значение | 0 |
|---|---|
| Применимо к |
<ellipse> и <rect> элементам в <svg>
|
| Наследуется | нет |
| Проценты | относятся к высоте текущего SVG-вьюпорта |
| Вычисленное значение | указанный процент или абсолютная длина |
| Тип анимации | по типу вычисленного значения |
Формальный синтаксис
ry =
<length-percentage> |
auto
<length-percentage> =
<length> |
<percentage>
Примеры
Создание закруглённых углов
Этот пример демонстрирует создание прямоугольников с закруглёнными углами путём применения свойства ry к элементам SVG <rect>.
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-вьюпорт по умолчанию имеет размер 300px на 150px, значение 5% оранжевого прямоугольника создаёт радиус 7.5px. Зелёный прямоугольник имеет значение ry: 80% заданное. Однако, так как значение ry никогда не превышает 50% высоты прямоугольника, эффект такой, как если бы было установлено ry: 50%; rx: 50%.
Определение вертикального радиуса эллипса
Этот базовый <ellipse> пример демонстрирует, как свойство CSS ry имеет приоритет над атрибутом SVG ry для определения вертикального радиуса формы.
HTML
Мы включаем два идентичных элемента <ellipse> в SVG; каждый с атрибутом 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 высотой.
Спецификации
| Спецификация |
|---|
| Scalable Vector Graphics (SVG) 2 # RY |
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
ry |
≤80 | ≤80 | ≤72 | 67 | НетЗначение распознается, но не оказывает влияния. Это свойство распознается только как атрибут, применённый к элементу SVG. См. баг 266090. |
80 | 79 | 57 | НетЗначение распознается, но не оказывает влияния. Это свойство распознается только как атрибут, применённый к элементу SVG. См. баг 266090. |
13.0 | 80 |
См. также
- Свойства геометрии:
ry,cx,cy,r,rx,x,y,height,height fillstrokepaint-order-
border-radiusсокращенное свойство radial-gradient-
<basic-shape>тип данных
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/ry