Size: a a a

2021 February 17

AP

Alexander Ponomarev in Svelte [svelt]
Eugene Ilyin
.theme-red, .theme-blue, .theme-green-dence, .theme-red-dence-rounded и еще где-то с триллион вариантов
ну тогда через setProperty на руте
источник

EI

Eugene Ilyin in Svelte [svelt]
Dan Kozlov
Александр просто поздно подключился.

Вам надо делать document.body.style.setProperty('--primary-color', 'red')
Отлично, спасибо, работает! Осталось с SSR подружить
источник

DK

Dan Kozlov in Svelte [svelt]
Eugene Ilyin
Отлично, спасибо, работает! Осталось с SSR подружить
С этим будет интересно. Вам надо избегать FOUC?
источник

EI

Eugene Ilyin in Svelte [svelt]
Да и вытащить все критические стили в заголовок
источник

DK

Dan Kozlov in Svelte [svelt]
Хотя в данном случае будет корректнее сказать flash of incorrectly styled content, хаха
источник

МТ

Марк Танащук... in Svelte [svelt]
Eugene Ilyin
.theme-red, .theme-blue, .theme-green-dence, .theme-red-dence-rounded и еще где-то с триллион вариантов
Так и живем
источник

МТ

Марк Танащук... in Svelte [svelt]
Видели бы сколько css переменных в либах компонентных
источник

AP

Alexander Ponomarev in Svelte [svelt]
вы можете не на боди эти проперти ставить, а на свелт рут, если кроме свелт рута ничего нет. и ставить их можно через <div style="—primary-color: {color}"> и это будет работать на сср
источник

EI

Eugene Ilyin in Svelte [svelt]
Марк Танащук
Так и живем
Весь триллион вариантов пихаете в css? ))
источник

МТ

Марк Танащук... in Svelte [svelt]
"...их тысячи..."
источник

МТ

Марк Танащук... in Svelte [svelt]
Eugene Ilyin
Весь триллион вариантов пихаете в css? ))
У вас триллион?
источник

DK

Dan Kozlov in Svelte [svelt]
Alexander Ponomarev
вы можете не на боди эти проперти ставить, а на свелт рут, если кроме свелт рута ничего нет. и ставить их можно через <div style="—primary-color: {color}"> и это будет работать на сср
Ток это не будет работать с понифилом.
источник

EI

Eugene Ilyin in Svelte [svelt]
Alexander Ponomarev
вы можете не на боди эти проперти ставить, а на свелт рут, если кроме свелт рута ничего нет. и ставить их можно через <div style="—primary-color: {color}"> и это будет работать на сср
<div style="—primary-color: {color}"> нельзя, так как это превратить style всех компоеннт всех их кусков в трэш и угар а не верстку
источник

AP

Alexander Ponomarev in Svelte [svelt]
Eugene Ilyin
<div style="—primary-color: {color}"> нельзя, так как это превратить style всех компоеннт всех их кусков в трэш и угар а не верстку
ДА ТОЛЬКО ОДНОГО КОМПОНЕНТА, рута
источник

AP

Alexander Ponomarev in Svelte [svelt]
извините за капс =)
источник

МТ

Марк Танащук... in Svelte [svelt]
Марк Танащук
У вас триллион?
Для библиотеки компонентов это и может быть правдой. Потому что на то её и используют чтобы в config.js вписать изменные значения для определенных тем и оставшееся использовать.
А для обычного сайта не составляет проблем написать пару десятков свойств
источник

EI

Eugene Ilyin in Svelte [svelt]
Alexander Ponomarev
извините за капс =)
А... Прочитал с третьего раза ))
источник

МТ

Марк Танащук... in Svelte [svelt]
Eugene Ilyin
<div style="—primary-color: {color}"> нельзя, так как это превратить style всех компоеннт всех их кусков в трэш и угар а не верстку
body[dark-theme="true"]
источник

DK

Dan Kozlov in Svelte [svelt]
Eugene Ilyin
Да и вытащить все критические стили в заголовок
Стили у вас уже вытащены. Вы ж их никуда не деваете особо.

Вам осталось сделать так, чтобы не было сперва рендеринга дефолтной темы, а потом уже юзерской. Тут всё зависит от того, где вы храните её. Если на беке, то надо что-то придумывать на уровне SSR. Если на клиенте, то можно в шаблон прямо скрипт-тег зафигачить, который цвета поставит. Тогда флэша не будет.
источник

AP

Alexander Ponomarev in Svelte [svelt]
свойства наследуются, их вешают на самую верхнюю ноду и дети их получают
источник