@zxf

Почему вычисленное значение border-radius в процентах?

Пытаюсь получить вычисленное значение border-radius, указанного в процентах (50% на каждый угол) функцией window.getComputedStyle(element).borderRadius, но возвращается строка: "50%". Ожидается, что вернется вычисленное значение в пикселях.

Из этого 2 вопроса:
1) почему так происходит?
2) Есть ли способы получить ожидаемое поведение "из коробки", без дополнительных вычислений?
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ответы на вопрос 1
@joseffie
Front-end developer
1) Обратимся к документации:
Метод Window.getComputedStyle() возвращает объект, содержащий значения всех CSS-свойств элемента, полученных после применения всех активных таблиц стилей, и завершения базовых вычислений значений, которые они могут содержать.

То есть getComputedStyle().style возвращает те стили, которые были установлены непосредственно в CSS, поэтому строка "50%" после обращения к значению бордер-радиуса - нормальное явление.

2) Скорее всего, здесь без дополнительных вычислений не обойдётся, из коробки нельзя получить значение border-radius в пикселях, если оно было задано в процентах.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы