Size: a a a

2021 February 17

DK

Dan Kozlov in Svelte [svelt]
Eugene Ilyin
То есть только Vanila JS для манипуляции CSSOM, в svelte нет таких инструментов, верно?
А где-нибудь вообще есть?
источник

DK

Dan Kozlov in Svelte [svelt]
Dan Kozlov
Что в этом контексте значит "динамические"?
Ваш кейс решается созданием стиля .primary в компоненте, которому назначается новый цвет. Если хотите сделать его "глобальным" для поддерева — пишите что-то вроде .selector :global(.primary) { color: red }.
История с поддеревом, если что, расширяется для всего приложения, кстати.
источник

DK

Dan Kozlov in Svelte [svelt]
Вам просто надо сделать это в App.svelte.
источник

A

Arushwl in Svelte [svelt]
Eugene Ilyin
Динамические означают, что тема может менять этот глобальный стиль на сто-то другое вычисляемое.
Как мне поменять его на :global(.primary) { color: blue } , напрмер, при нажатии на кнопку ?
RegExp - парсить global.css ?
источник

EI

Eugene Ilyin in Svelte [svelt]
Dan Kozlov
А где-нибудь вообще есть?
Что именно есть?
Есть тема в виде набора стилей, я хочу ее менять на стороне клиента без CSS Var и иметь возможно отрендерить ее на стороне сервера при первой отдаче контента.
источник

DK

Dan Kozlov in Svelte [svelt]
Eugene Ilyin
Что именно есть?
Есть тема в виде набора стилей, я хочу ее менять на стороне клиента без CSS Var и иметь возможно отрендерить ее на стороне сервера при первой отдаче контента.
Нет, вы просто спрашиваете, есть ли такой инструмент в свелте. Я в ответ спрашиваю, есть ли он вообще хоть где-то.
источник

DK

Dan Kozlov in Svelte [svelt]
Чтоб в рантайме менять содержимое CSS-классов без CSS-переменных.
источник

EI

Eugene Ilyin in Svelte [svelt]
Да, любая CSS-IN-JS
источник

A

Arushwl in Svelte [svelt]
Eugene Ilyin
Что именно есть?
Есть тема в виде набора стилей, я хочу ее менять на стороне клиента без CSS Var и иметь возможно отрендерить ее на стороне сервера при первой отдаче контента.
у меня помнится была логика изменения :root от body id
источник

DK

Dan Kozlov in Svelte [svelt]
Eugene Ilyin
Да, любая CSS-IN-JS
Вы можете использовать CSS-in-JS в свелте.
источник

DK

Dan Kozlov in Svelte [svelt]
Это раз.
источник

EI

Eugene Ilyin in Svelte [svelt]
Arushwl
у меня помнится была логика изменения :root от body id
Как именно? Пример приведите, пожалуйста.
источник

DK

Dan Kozlov in Svelte [svelt]
Eugene Ilyin
Как именно? Пример приведите, пожалуйста.
Не копал, но вот аж гайд на оф.сайте:
https://svelte.dev/blog/svelte-css-in-js
источник

EI

Eugene Ilyin in Svelte [svelt]
Dan Kozlov
Вы можете использовать CSS-in-JS в свелте.
Нет не могу, так как она не дружит в пререндерингом на стороне сервера
источник

A

Arushwl in Svelte [svelt]
Eugene Ilyin
Как именно? Пример приведите, пожалуйста.
ща диск найду )
источник

EI

Eugene Ilyin in Svelte [svelt]
Ну да, если выкинуть SSR/SSG, то можно взять старый добhый Emotion
It's important to note that most CSS-in-JS libraries have a runtime library, and many don't support statically extracting styles out into a separate .css file at build time (which is essential for the best performance). You should therefore only use CSS-in-JS if it's necessary for your application!
источник

EI

Eugene Ilyin in Svelte [svelt]
Arushwl
ща диск найду )
Диск? Floppy Disk?
источник

EI

Eugene Ilyin in Svelte [svelt]
Или Discord?
источник

DK

Dan Kozlov in Svelte [svelt]
Eugene Ilyin
Нет не могу, так как она не дружит в пререндерингом на стороне сервера
Ну так ладно, а подход с перезаписью селектора для поддерева вы поняли? Оно отчасти решает вашу задачу, хотя костылище тот еще.
источник

A

Arushwl in Svelte [svelt]
в global.css заготовил блоки, типа:

.light { --var: foo }
.dark {--var: baz }
источник