tyoma_koder
@tyoma_koder

Как получить значение calc в px в JS?

Я задаю ширину блока в JS через calc
elem.style.width = `var(calc( (100% - ${gap*cnt}px + ${gap}px)/${cnt} ))`;

могу ли я как то получить результат этой операции в px до применения этого стиля к блоку?
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега CSS
Верставший фронтендер
А в чём сложность? У Вас все переменные уже есть. Осталось найти 100%.
100% это ширина для контента у родительского блока.
родительский блок - elem.parentElement
а там уже на Ваше усмотрение(по ситуации) как узнать чему будем равняться доступная для контента ширина.
Например
el.parentElement.clientWidth
или
getComputedStyle(el.parentElement).width // более точный результат, так как спрашивает у браузера конечные стили. Но, соответственно, и отработает медленнее(на глаз не заметно)


Не забудьте про падинги.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега CSS
Thinking about a11y
Читайте HTMLElement.offsetWidth или аналог (зависит от конкретного случая)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы