на транзишинах плавно меняется, вот только фон у бади это градиент
Подумал так - что если у бади сделать два псевдо разных цветов и через image-mask сделать каждому градиент на прозрачность в противоложные стороны, потом просто наложить их друг на друга и получить анимируемый через транзишн градиент
Это адекватно или ну его нахрен эту анимацию?
покажи это чудо
Да я не реализовывал еще, просто есть такая проблема и я её отложил на потом Но вот кста могу поделится интересным вариантом создания темы, соединил подходы из двух статей и вышло оч удобно +++++ scss ++++ [data-theme="тема"] { тут все переменные для конкретной темы (css properties не сасовские) } $theme: ( --название переменной: var(--название перменной), ...... ); @function var($variable) { @return map-get($theme, $variable); } А далее в любом участке кода можно юзать var(--переменная) И если менять data атрибут у документа отвечающий за тему - будет динамически подставляться соответствующая тема Там можно не только цвета менять но и какие либо параметры типа скругленности блоков, отступов и т.п
Привет, у тебя получилось переключение тем замутить? Просто у меня тож щяс такая задача, и не очень понятно как сделать это через scss. Вот думаю сделать так: 1. Создать файл css в котором будут :root { —bg-color: цвет; —text-color: цвет; } 2. В scss файле использовать эти variables Типа $app-bg-color: var(—big-color); 3. И в конце свитчить стейт(у меня реакт). Но мне кажется подход так себе. Посоветуй пж, кажется у тебя норм такой подход
Привет, прописывай не в :root А в [data-theme='название темы'] А потом в приложении просто меняй у документа этот атрибут подставляя название темы
Примерно так? //css html[data-theme='dark'] { background: #000; color: #fff } //js const htmlEl = document.getElementsByTagName('html')[0]; const toggleTheme = (theme) => { htmlEl.dataset.theme = theme; } //приложение <button onclick="toggleTheme('dark');">Dark</button> <button onclick="toggleTheme('light');">Light Mode</button>
document.setAttribute только юзай лучше У тебя документ и есть этот хтмл тег который ты получаешь Но в целом да, посыл такой
А ну окей) и ещё вопрос. Смотри, у меня есть переменная в сасе, например, $app-bg-color, но у этой переменной не должно быть определенного цвета. Она должна свитчить цвет в зависимости от темы. Подскажи пж куда копать или как это нахрен делается?? Голова уже кипит от этого
Присвой этой переменной цсс переменную которую будешь свитчить в зависимости от дата атрибута Так можно не только цвета менять а и что угодно Я так у себя в пэт проекте хотел добавить таким образом возможность включать и выключать в приложении анимации или менять их длительность Грубо говоря туда что угодно можно засунуть и динамически менять, будь то цвета, отступы или шрифты
Спасибо) если не секретно, можешь поделиться ссылкой на этот пет проект?
https://github.com/BogdanBida/Tonescaler Деплойнутой версии пока нет, работы еще горы, но когда закончу пару фич хочу залить на хост что-бы с мобил протестить а то чую много и очень много багов меня ждёт
Ооо супер! Благодарю
Там есть сервис отвечающий за тему И в файле scss/_themes.scss вся начинка
Через эти дата атрибуты реально кажется можно все что угодно стилизовать и менять состояние приложения
Я боюсь что-бы это боком не вылезло и не имело подводных Но пока не нашел и не наткнулся, кроме конечно поддержки старых браузеров но я срал на это, проект не коммерческий а для удовольствия и опыта и личной пользы
Я бы на твоем месте написал тимлиду или лично поговорил когда у него время выделиться Кратко очень кратко опиши принцип и то, как ты реализовал это и спроси его мнение Не надо задавать вопросы или ожидать конкретику, просто попроси совета, мол есть такой вариант, я считаю что он хороший по такому-то поводу и таким то причинам, но есть опаски такие и такие (изучи)
Ок, так и сделаю👌
*Тим лид закатывает глаза... - Пля, ты вообще знаешь &^С&%Д!@## (говорит на Эльфийском) ???? *Разворачивается и уходит бурча « Понабрали стажеров, а мне ... »
Я бы на месте стажёра свалил от такого тимлида
на завод сразу, там вакансии стажеров более востребованы))
Обсуждают сегодня