Типизированная объектная модель CSS: используйте методы экземпляра CSSNumericValue с переменными CSS.CSS

Разбираемся в CSS
Ответить
Гость
 Типизированная объектная модель CSS: используйте методы экземпляра CSSNumericValue с переменными CSS.

Сообщение Гость »


Я пытаюсь использовать API типизированной объектной модели CSS (CSS Typed OM) в JavaScript для управления значениями CSS, в частности с использованием переменных CSS в выражениях. Вот что я пытаюсь сделать:

const x = CSSNumericValue.parse("calc(400px - var(--x))"); const newX = x.add(CSS.px(40)); const strX = newX.toSum().toString() // Я ожидаю, что strX будет "calc(440px - var(--x))" или что-то подобное. Однако кажется, что CSSNumericValue.parse() не принимает выражения, содержащие переменные CSS, вместо этого он выдает ошибку с указанием Не удалось выполнить «анализ» для «CSSNumericValue»: неверное математическое выражение . Есть ли альтернативный способ достижения этой функциональности, или есть ли известное решение в рамках проекта CSS Typed OM API или CSS Houdini, или есть ли у кого-нибудь какие-либо идеи, почему это не работает?

Я мог бы проанализировать строку с помощью CSSStyleValue.parse("width", "calc(400px - var(--x))"). Но это возвращает класс CSSUnparsedValue, который в данном случае тоже бесполезен, поскольку я не могу выполнять математические операции над CSSUnparsedValue.

Я пытался найти документацию или заметки по этой теме в Интернете и нашел некоторую информацию здесь:
[*]https://drafts.css-houdini.org/css-type ... ify-tokens [*]https://github.com/w3c/css-houdini-drafts/issues/208
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»