LINUX.ORG.RU

RFE: автоматическое переключение между тёмной и светлой темой через prefers-color-scheme

 ,


0

2

Было бы неплохо иметь возможность выбрать в настройках «гибридную» тему, которая бы автоматически становилась тёмной или светлой в зависимости от настроек браузера (@media prefers-color-scheme).

В идеале — позволить пользователю отдельно выбрать «светлую» тему и отдельно «тёмную» тему, и склеивать обе темы в один CSS, как-то так:

<стили от светлой темы>

@media (prefers-color-scheme: dark) {
    <стили от тёмной темы>
}
★★★★★

Последнее исправление: intelfx (всего исправлений: 1)

Идея хорошая. Но сейчас у нас все темы разные, отличия у них не только в цветовой гамме.

Так что сначала нужно изготовить светлый вариант дефолтной темы.

maxcom ★★★★★
()
Ответ на: комментарий от intelfx

Tango. На мой взгляд waltz не совсем эквивалент, там много деталей в css отличаются (и еще есть ряд багов в верстке, связанных с тем что он базировался на старой версии tango).

maxcom ★★★★★
()
Ответ на: комментарий от intelfx

Тут идея простая – можно взять tango и изготовить под нее альтернативную цветовую гамму, большая часть цветов там вынесена в константы и меняется централизованно на весь сайт.

Но дизайнер из меня так себе, все мои попытки что-то изобразить это сплошной facepalm.

maxcom ★★★★★
()

Вообще есть кто-то готов набросать светлый вариант tango, то я могу его прикрутить и доделать мелкие косяки которые повылезают.

Надо подобрать цвета, которые нормально будут смотреться как минимум на трех страницах – на главной, на странице топика с комментариями и в трекере.

maxcom ★★★★★
()

На мозила девелопер (если я правильно понял посыл) стили сделаны не так, а вот так:

CSS Variables

/* tango-theme.css */
.tango-theme {
    --lor-txt-color: #aaa;
    --lor-bg-color: slategray;
    /*...*/
}

/* waltz-theme.css */
.waltz-theme {
    --lor-txt-color: #333;
    --lor-bg-color: gray;
    /*...*/
}

/* main.css */
#bd {
    color: var(--lor-txt-color);
    background-color: var(--lor-bg-color);
    /*...*/
}
Но на лоре стили сервак генерирует причем особо извращенным способом, зато наверное на древних браузерах работает. Хотя вышеописанная фича заявлено что поддерживается с firefox 31 и chrome 46

uin ★★★
()
Последнее исправление: uin (всего исправлений: 1)
15 августа 2024 г.
Ответ на: комментарий от maxcom

Не знаю как насчет нормальности, но у меня такой юзерстиль для светлого танго:

@media (prefers-color-scheme: light) {
    :root {
        --main-background: #dadcd7;
        --text-color: #262823;
        --link-color: #204a87;
        --site-title-color: #2e3436;
        --header-color: #555753;
        --blockquote-color: #555753;
        --table-border-color: #bcbfb9;
        --table-link-color: #555753;
        --table-hover-background: #dfadd9;
        --tag-color: #ce5c00;
        --main-menu-color: #c17d11;
        --signature-user-color: #4e9a06;
        --signature-remark-color: #444444;
        --article-background: #eeeeec;
        --button-border-color: #454545;
        --button-selected-text-color: white;
        --button-primary-background: #8bbcf1;
        --button-danger-background: #fa3535;
        --icon-button-active-color: #c17d11;
        --tagpage-group-label-background: #e9b96e;
        --icon-reply-color: #729fcf;
        --icon-pin-color: #c4a000;
        --preview-border-color: #c4a000;
    }
}
.stars {
    color: var(--signature-user-color);
}

А вообще хотелось бы Breeze светлый и тёмный, но руки так и не дошли.

Из явных косяков - подсветку синтаксиса надо более контрастную, да в статистике, в профиле, фон не перекрашен, но я чаще себе в редактор код копипащу, чтобы смотреть в привычной цветовой схеме. BTW, блокам с кодом бы кнопку для копирования всего содержимого.

mogwai ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.