Переключатель. Пара вариантов.
Вариант первый. Те же самые иконки, только крупнее и расположены справа сверху.
Код: Выделить всё
@media (min-width: 768px) {
#callDark, #callLight {
position: fixed;
right: 10px;
bottom: 0;
top: 15px;
}
#callDark span, #callLight span {
display: none;
}
#callDark .icon, #callLight .icon {
font-size: 36px;
}
#callDark a {
color: #000;
}
#callLight a {
color: #000;
position: sticky;
top: 16px;
}
}
Вариант второй. Иконки как здесь на форуме, только без анимации при переходе с одного режима на другой.
Код: Выделить всё
@media (min-width: 768px) {
#callDark, #callLight {
position: fixed;
right: 10px;
bottom: 0;
top: 15px;
width: 46px;
}
#callDark span, #callLight span,
#callDark .icon, #callLight .icon {
display: none;
}
#callDark a, #callLight a {
display: block;
margin: 0 auto;
border-radius: 50%;
width: 36px;
height: 36px;
position: relative;
box-shadow: inset 16px -16px 0 0 #464646;
-webkit-transform: scale(1) rotate(-2deg);
transform: scale(1) rotate(-2deg);
-webkit-transition: box-shadow .5s ease 0s,-webkit-transform .4s ease .1s;
transition: box-shadow .5s ease 0s,-webkit-transform .4s ease .1s;
transition: box-shadow .5s ease 0s,transform .4s ease .1s;
transition: box-shadow .5s ease 0s,transform .4s ease .1s,-webkit-transform .4s ease .1s;
}
#callDark a:before, #callLight a:before {
content: '';
width: inherit;
height: inherit;
border-radius: inherit;
position: absolute;
left: 0;
top: 0;
-webkit-transition: background .3s ease;
transition: background .3s ease;
}
#callDark a:hover {
-webkit-transform: scale(1) rotate(10deg);
transform: scale(1) rotate(10deg);
}
#callLight a {
position: sticky;
top: 16px;
box-shadow: inset 32px -32px 0 0 #fff;
-webkit-transform: scale(0.5) rotate(0deg);
transform: scale(0.5) rotate(0deg);
-webkit-transition: box-shadow .2s ease 0s -webkit-transform .3s ease .1s;
transition: box-shadow .2s ease 0s, -webkit-transform .3s ease .1s;
transition: transform .3s ease .1s, box-shadow .2s ease 0s;
transition: transform .3s ease .1s, box-shadow .2s ease 0s,-webkit-transform .3s ease .1s;
}
#callLight a:after {
content: '';
width: 8px;
height: 8px;
border-radius: 50%;
margin: -4px 0 0 -4px;
position: absolute;
top: 50%;
left: 50%;
box-shadow: 0 -23px 0 #000000, 0 23px 0 #000000, 23px 0 0 #000000, -23px 0 0 #000000, 15px 15px 0 #000000, -15px 15px 0 #000000, 15px -15px 0 #000000, -15px -15px 0 #000000;
-webkit-transform: scale(0);
transform: scale(0);
-webkit-transition: all .3s ease;
transition: all .3s ease;
}
#callLight a:before {
background: #000000;
-webkit-transition: background .3s ease .1s;
transition: background .3s ease .1s;
}
#callLight a:after {
-webkit-transform: scale(1.5);
transform: scale(1.5);
-webkit-transition: -webkit-transform .5s ease .15s;
transition: -webkit-transform .5s ease .15s;
transition: transform .5s ease .15s;
transition: transform .5s ease .15s,-webkit-transform .5s ease .15s;
}
#callLight a:hover:after {
-webkit-transform: scale(1.7);
transform: scale(1.7);
}
}
Пояснения.
Иконка будет отображаться только от ширины экрана 768px и шире. Сделано это потому, что на небольших экранах пункты меню: ссылки, фак, уведомления и тд. перестанут сворачиваться. На маленьких экранах будет отображаться родной вариант кнопки.
Почему во втором варианте нет анимации как здесь? Потому что в этом расширении включение режимов выполнено на двух разных кнопках, на "Кабинете Админа" на одной.
Почему иконка расположена сверху, а не снизу? Потому что с расширении использует не совсем типичный вариант смены цветов:
Если зафиксировать кнопку внизу, то при включении тёмного режима кнопка окажется не внизу экрана, а внизу страницы форума, на уровне подвала.
Если использовать расширение только как переключатель, а стили переопределять по классам конкретно по блокам и при удалении
filter
из стиля, то из обоих вариантов удалить
top: 15px;
в
#callDark, #callLight
и в
#callLight a
:
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!