Criar variável CSS para tema claro/escuro

3 participantes

Ir para baixo

Tópico resolvido Criar variável CSS para tema claro/escuro

Mensagem por kkmlpk 26.12.22 18:22

Detalhes da questão


Endereço do fórum:
Versão do fórum: phpBB3

Descrição


Olá queridos, enão eu estava seguindo um tutorial de um querido de modo escuro https://ajuda.forumeiros.com/t116740-modo-escuro-para-forum#827812 e ai eu queria fazer um pouco diferente, mas infelizmente meu conhecimento de java é péssimo. Mas queria utilizar um root ao invés do .back{background:#eee;color:#333;padding:20px}
[data-theme="dark"] .back{background:#333;color:#fff}

Pois, pelo que eu entendi eu teria que usar esse codigo pra todo elemento que eu queira mudar de cor.


Última edição por kkmlpk em 27.12.22 10:07, editado 1 vez(es)
kkmlpk
kkmlpk
**

Membro desde : 12/04/2015
Mensagens : 80
Pontos : 122

http://jogosvorazesbr.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por tikky 26.12.22 18:47

Olá @kkmlpk,

Aqui tem um exemplo de como pode usar o :root dependendo do tema do fórum (claro/escuro):
Código:
:root {
    --primary-color: #fafafa;
    --secondary-color: #F7F7F7;
    --link-color: #f5944f;
}

html[data-theme='dark'] {
    --primary-color: #2c345c;
    --secondary-color: #47168f;
    --link-color: #fafafa;
}
Cordialmente,
pedxz.
tikky
tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por kkmlpk 26.12.22 19:14

Não funcionou, precisa mudar alguma coisa no java?



Última edição por kkmlpk em 27.12.22 10:07, editado 1 vez(es)
kkmlpk
kkmlpk
**

Membro desde : 12/04/2015
Mensagens : 80
Pontos : 122

http://jogosvorazesbr.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por Don Corleone 26.12.22 20:43

Olá, faltou o body depois do HTML. No caso ficaria assim:

Código:

html body[data-theme='dark'] {
    --primary-color: #2c345c;
    --secondary-color: #47168f;
    --link-color: #fafafa;
}

*Edit

Veja abaixo um outro modo.

https://jsfiddle.net/Kadanda/vqe5b8an/9/
Don Corleone
Don Corleone
Super Membro

Membro desde : 06/08/2012
Mensagens : 1259
Pontos : 2032

http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por kkmlpk 26.12.22 20:58

A preview funcionou! Porém no fórum os mesmos codigos não funcionam Por favor, Insistênc


Última edição por kkmlpk em 27.12.22 10:07, editado 1 vez(es)
kkmlpk
kkmlpk
**

Membro desde : 12/04/2015
Mensagens : 80
Pontos : 122

http://jogosvorazesbr.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por Don Corleone 26.12.22 21:07

Apague tudo e vamos começar novamente.

Adicione em eu javascript o código abaixo;

Código:


!function(){var t,e=document.getElementById("darkSwitch");if(e){t=null!==localStorage.getItem("darkSwitch")&&"dark"===localStorage.getItem("darkSwitch"),(e.checked=t)?document.documentElement.setAttribute("data-theme","dark"):document.documentElement.removeAttribute("data-theme"),e.addEventListener("change",function(t){e.checked?(document.documentElement.setAttribute("data-theme","dark"),localStorage.setItem("darkSwitch","dark")):(document.documentElement.removeAttribute("data-theme"),localStorage.removeItem("darkSwitch"))})}}();

Depois adicione em seu css;

Código:

.custom-switch {
    width: 40px;
    position: fixed;
    margin: 5px 13px;
}

.custom-switch:before {
    display: block;
    color: #ddd;
    font-weight: 700;
    content: "\f185";
    font-family: FontAwesome;
    font-size: 14px;
    background: #444;
    padding: 3px;
    text-align: center;
}

.custom-switch input.toggle {
    display: none;
}

.custom-switch input.toggle + label {
    display: inline-block;
    position: relative;
    box-shadow: inset 0 0 0 1px #d5d5d5;
    height: 20px;
    width: 40px;
    margin: 0;
    color: #fff;
    text-align: center;
}

.custom-switch:after {
    display: block;
    font-weight: 700;
    color: #0329a0;
    content: "\f186";
    font-family: FontAwesome;
    font-size: 14px;
    padding: 3px;
    background: #444;
    text-align: center;
}

.custom-switch input.toggle:checked + label:before {
    width: 40px;
}
.custom-switch input.toggle + label:before {
    content: "";
    display: block;
    height: 20px;
    background: #333;
    transition: .1s ease-in-out;
}

.custom-switch input.toggle:checked + label:after {
    left: 20px;
    background: #0329a0;
}
.custom-switch input.toggle + label:after {
    content: "";
    position: absolute;
    height: 20px;
    width: 20px;
    top: 0;
    left: 0;
    background: #ddd;
    box-shadow: inset 0 0 0 5px #333;
    transition: .1s ease-in-out;
}

Por fim teremos o botão de troca de tema. Coloue no template overhall;

Código:

<div class="custom-switch"><input type="checkbox" class="toggle" id="darkSwitch"><label for="darkSwitch"></label></div>

Feito isto, retorne aki.
Don Corleone
Don Corleone
Super Membro

Membro desde : 06/08/2012
Mensagens : 1259
Pontos : 2032

http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por kkmlpk 26.12.22 21:25

Ainda não funcionou Criar variável CSS para tema claro/escuro 1f62d
kkmlpk
kkmlpk
**

Membro desde : 12/04/2015
Mensagens : 80
Pontos : 122

http://jogosvorazesbr.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por Don Corleone 26.12.22 21:31

O senhor n colocou o código javascript. Sugiro ue o adicione dentro do template overhall header.
Don Corleone
Don Corleone
Super Membro

Membro desde : 06/08/2012
Mensagens : 1259
Pontos : 2032

http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por kkmlpk 26.12.22 21:40

Coloquei e continua não funcionando
kkmlpk
kkmlpk
**

Membro desde : 12/04/2015
Mensagens : 80
Pontos : 122

http://jogosvorazesbr.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por Don Corleone 26.12.22 22:50

Olá, tire uma print e mostre-me.

Lembre-se, o código deve ser colocado dentro da tag script, veja abaixo. Colue dentro da tag head, localizado no template overhall header.

Código:
<script>
!function(){var t,e=document.getElementById("darkSwitch");if(e){t=null!==localStorage.getItem("darkSwitch")&&"dark"===localStorage.getItem("darkSwitch"),(e.checked=t)?document.documentElement.setAttribute("data-theme","dark"):document.documentElement.removeAttribute("data-theme"),e.addEventListener("change",function(t){e.checked?(document.documentElement.setAttribute("data-theme","dark"),localStorage.setItem("darkSwitch","dark")):(document.documentElement.removeAttribute("data-theme"),localStorage.removeItem("darkSwitch"))})}}();</script>
Don Corleone
Don Corleone
Super Membro

Membro desde : 06/08/2012
Mensagens : 1259
Pontos : 2032

http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por kkmlpk 26.12.22 22:50

Eu fiz alterações para o codigo 'padrão', porém continua sem resultado, fiz mudanças no css como:


Porém ainda não funciona Triste


Última edição por kkmlpk em 27.12.22 10:08, editado 1 vez(es)
kkmlpk
kkmlpk
**

Membro desde : 12/04/2015
Mensagens : 80
Pontos : 122

http://jogosvorazesbr.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por Don Corleone 26.12.22 22:53

Eu ainda preciso ver se o javascript está funcionando. Esta implementação via CSS está errada, pois o senhor vai usar o root, logo será por variáveis css.
Don Corleone
Don Corleone
Super Membro

Membro desde : 06/08/2012
Mensagens : 1259
Pontos : 2032

http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por kkmlpk 26.12.22 23:06

Eu acredito que por root seria mais simples do que criar um [data-theme="dark"] para cada elemento que precisa mudar, por isso a preferência
kkmlpk
kkmlpk
**

Membro desde : 12/04/2015
Mensagens : 80
Pontos : 122

http://jogosvorazesbr.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por Don Corleone 26.12.22 23:07

Por fim, consegue seguir a partir de agora?
Don Corleone
Don Corleone
Super Membro

Membro desde : 06/08/2012
Mensagens : 1259
Pontos : 2032

http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por kkmlpk 26.12.22 23:11

Sim, muito obrigada!!
kkmlpk
kkmlpk
**

Membro desde : 12/04/2015
Mensagens : 80
Pontos : 122

http://jogosvorazesbr.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Criar variável CSS para tema claro/escuro

Mensagem por tikky 27.12.22 10:45

Tópico resolvido


Movido para "Questões resolvidas".
tikky
tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos