tyoma_koder
@tyoma_koder

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

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

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


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

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

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