Como implementar um modo escuro em seu site Divi

Publicados: 2020-05-21

O modo escuro continua a crescer em popularidade como uma opção conveniente para os usuários experimentarem a web com menos pressão sobre os olhos. Sejamos realistas, todos tendemos a gastar mais tempo olhando para as telas do que provavelmente deveríamos, então qualquer conforto adicional para a experiência do usuário (como o modo escuro) pode ser muito útil. Sistemas operacionais, programas e navegadores geralmente incluem recursos integrados de modo escuro, mas alguns desenvolvedores estão levando isso a outro nível, incluindo uma experiência de modo escuro personalizado para seus sites. A ideia é ter mais controle sobre a aparência de seu site no modo escuro, sem comprometer a marca e / ou o design.

Neste tutorial, vamos mostrar como criar um alternador de modo escuro personalizado no Divi a partir do zero, sem um plug-in. Com esta funcionalidade de alternância do modo escuro, você terá controle sobre o design do modo escuro e terá uma melhor experiência do usuário sob medida para sua marca.

Vamos começar!

Espiada

Aqui está uma rápida olhada no design que construiremos neste tutorial.

Aqui está o botão de alternância do modo escuro personalizado que iremos construir.

modo escuro alternar em divi

E aqui está o antes e o depois do modo escuro aplicado a um de nossos layouts predefinidos.

modo escuro alternar em divi

E aqui está o botão de alternância do modo escuro adicionado a um cabeçalho global. Observe como o modo claro / escuro permanece enquanto você navega no site.

Baixe o Layout GRATUITAMENTE

Para colocar suas mãos nos designs deste tutorial, primeiro você precisa fazer o download usando o botão abaixo. Para obter acesso ao download, você precisará se inscrever em nossa lista de e-mail Divi Daily usando o formulário abaixo. Como um novo assinante, você receberá ainda mais bondade Divi e um pacote Divi Layout grátis toda segunda-feira! Se você já está na lista, basta inserir seu endereço de e-mail abaixo e clicar em download. Você não será “reinscrito” nem receberá e-mails extras.

Baixe os arquivos
Download de graça

Download de graça

Junte-se ao Divi Newsletter e nós lhe enviaremos por e-mail uma cópia do último pacote de layout de página de destino Divi, além de toneladas de outros recursos, dicas e truques Divi incríveis e gratuitos. Acompanhe e você será um mestre Divi em nenhum momento. Se você já está inscrito basta digitar seu endereço de e-mail abaixo e clicar em download para acessar o pacote de layout.

Você se inscreveu com sucesso. Por favor, verifique seu endereço de e-mail para confirmar sua assinatura e tenha acesso a pacotes de layout Divi semanais gratuitos!

Para importar o layout da seção para sua biblioteca Divi, navegue até a biblioteca Divi.

Clique no botão Importar.

No pop-up de portabilidade, selecione a aba de importação e escolha o arquivo de download do seu computador.

Em seguida, clique no botão importar.

caixa de notificação divi

Feito isso, o layout da seção estará disponível no Divi Builder.

Vamos para o tutorial, vamos?

O que você precisa para começar

expandindo guias de canto

Para começar, você precisará fazer o seguinte:

  1. Se ainda não o fez, instale e ative o Divi Theme.
  2. Crie uma nova página no WordPress e use o Divi Builder para editar a página no front end (construtor visual).
  3. Escolha a opção “Build From Scratch”.

Depois disso, você terá uma tela em branco para começar a desenhar no Divi.

Parte 1: Construindo a Alternância do Modo Escuro

Nesta primeira parte do tutorial, vamos construir um alternador de modo escuro com uma página em Divi. Depois de criar o alternador com o código, você poderá salvá-lo na Biblioteca Divi e adicioná-lo a qualquer lugar do seu site.

Para começar, adicione uma linha de uma coluna à seção padrão enquanto constrói com Divi no front end a partir do zero.

modo escuro alternar em divi

Adicionar Blurb

Para construir o alternador personalizado, vamos projetar um módulo de blurb com um pouco de CSS personalizado.

Adicione um novo módulo blurb à linha.

modo escuro alternar em divi

Contente

Retire o conteúdo simulado padrão para o título e o corpo. Em seguida, adicione o ícone quadrado no lugar da imagem.

modo escuro alternar em divi

Projeto

Vá para as configurações de design e atualize o seguinte:

  • Cor do ícone: # 666666
  • Alinhamento de imagem / ícone: esquerda
  • Tamanho da fonte do ícone: 22px

modo escuro alternar em divi

  • Largura: 50px
  • Alinhamento do Módulo: centro
  • Altura: 25px

modo escuro alternar em divi

  • Margem: 0px inferior
  • Cantos arredondados: 4px
  • Largura da borda: 2px
  • Cor da borda: # 666666

modo escuro alternar em divi

CSS customizado

Depois que o design estiver pronto, vá para a guia avançada. No CSS personalizado, adicione o seguinte CSS personalizado ao elemento principal para garantir que o estouro não seja oculto pelo estilo dos cantos arredondados.

overflow: visible !important;

Em seguida, adicione o seguinte CSS personalizado ao elemento Depois:

content: "light";
position: absolute;
left: -35px;
top:0px;

Isso adiciona um rótulo ao módulo de sinopse que mudaremos de "claro" para "escuro" com o clique.

modo escuro alternar em divi

Design do corpo do texto

Como o texto no pseudoelemento posterior herda os estilos do corpo do texto, podemos adicionar os estilos do corpo do texto usando as opções Divi da seguinte maneira:

  • Fonte do corpo: Roboto
  • Cor do corpo do texto: # 666666
  • Tamanho do corpo do texto: 13px
  • Espaçamento entre letras do corpo: 1px

modo escuro alternar em divi

Adicionar código personalizado com um módulo de código

Para adicionar o código necessário (CSS / JQuery) para fazer com que o alternador do modo escuro funcione sua mágica, usaremos um módulo de código.

Crie um novo módulo de código no módulo blurb na mesma coluna.

modo escuro alternar em divi

Em seguida, cole o seguinte código na caixa de código:

<style>
/**
 * Dark Mode Toggle Styles
 */
.et-dark-mode {
  transition: all .5s;
  }
.et-dark-toggle {
  cursor: pointer;
  transition: all .5s;
  }
body.et-dark-mode .et-dark-toggle {
  border-color: #666666;
  }
body.et-dark-mode .et-dark-toggle:after {
  content:"dark";
  color: #666666;
  left: 54px;
  }
body.et-dark-mode .et-dark-toggle .et_pb_blurb_content {
  text-align:right;
  }
body.et-dark-mode .et-dark-toggle .et-pb-icon {
  color: #666666;
  }
/**
 * Body Dark Mode Style
 */
body.et-dark-mode {
  background-color: #23282d !important;
  }
/**
 * Divi Element Dark Mode Styles
 *
 * Here you can add styling for each Divi Element that has the class "et-dark-mode-capable".
 */
/* Section with dark mode */
.et_pb_section.et-dark-mode-capable.et-dark-mode {
  background-color: #23282d !important;
  background-blend-mode: overlay;
  transition: opacity .5s ease-in-out;
  color: #dddddd !important;
  }
 /* Row with dark mode */
.et_pb_row.et-dark-mode-capable.et-dark-mode {
  background-color: #23282d !important;
  color: #dddddd !important;
}
/* Column with dark mode */
.et_pb_column.et-dark-mode-capable.et-dark-mode {
  background-color: #23282d !important;
  color: #dddddd !important;
  }
/* Module with dark mode */
.et_pb_module.et-dark-mode-capable.et-dark-mode {
  background-color: transparent !important;
  color: #dddddd !important;
  }
/* Text Headings with dark mode */
.et_pb_module.et-dark-mode-capable.et-dark-mode.et_pb_module_header,
.et_pb_module.et-dark-mode-capable.et-dark-mode h1,
.et_pb_module.et-dark-mode-capable.et-dark-mode h2,
.et_pb_module.et-dark-mode-capable.et-dark-mode h3,
.et_pb_module.et-dark-mode-capable.et-dark-mode h4,
.et_pb_module.et-dark-mode-capable.et-dark-mode h5,
.et_pb_module.et-dark-mode-capable.et-dark-mode h6 {
color: #dddddd !important;
}
</style>
<script>
  function storageAvailable(type) {
    try {
        var storage = window[type],
            x = '__storage_test__';
        storage.setItem(x, x);
        storage.removeItem(x);
        return true;
    }
    catch(e) {
        return e instanceof DOMException && (
            // everything except Firefox
            e.code === 22 ||
            // Firefox
            e.code === 1014 ||
            // test name field too, because code might not be present
            // everything except Firefox
            e.name === 'QuotaExceededError' ||
            // Firefox
            e.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&
            // acknowledge QuotaExceededError only if there's something already stored
            storage.length !== 0;
    }
  }
  jQuery(document).ready(function($) {
      var storageAvailable = window.storageAvailable('sessionStorage');
      $(".et-dark-toggle").click(function() {
          $(".et-dark-mode-capable,body").toggleClass("et-dark-mode");
          if ( storageAvailable ) {
              $("body").hasClass("et-dark-mode") ?
              sessionStorage.setItem('etDarkModeEnabled','1'):
              sessionStorage.removeItem('etDarkModeEnabled');
          }
      });
      if (storageAvailable) {
          '1' == sessionStorage.getItem('etDarkModeEnabled') ?
          $(".et-dark-mode-capable,body").addClass("et-dark-mode"):
          $(".et-dark-mode-capable,body").removeClass("et-dark-mode");
      }
  });
</script>

modo escuro alternar em divi

Adicionando as classes CSS personalizadas

O código personalizado requer que você tenha uma classe CSS personalizada adicionada ao módulo ou alternador blurb. Isso permitirá que a sinopse acione a alternância do modo escuro e a funcionalidade ao clicar.

Classe de Módulo Blurb

Abra as configurações do módulo blurb e adicione uma classe CSS personalizada da seguinte maneira:

  • Classe CSS: et-dark-toggle

modo escuro alternar em divi

Classe capaz de modo escuro

Também precisamos adicionar uma classe CSS personalizada a cada elemento Divi que desejamos ter a capacidade de modo escuro. Assim que o elemento tiver a classe CSS, esse elemento herdará o CSS personalizado de “modo escuro” no código que adicionamos depois que o modo escuro for ativado. Este método nos dá mais controle sobre nosso design de modo escuro, pois alguns elementos podem não exigir nenhum estilo de modo escuro.

Para começar, podemos adicionar o modo escuro à seção que contém nosso seletor de modo escuro.

Abra as configurações da seção e adicione a seguinte classe CSS:

  • Classe CSS: compatível com o modo et-dark

modo escuro alternar em divi

Parte 2: Adicionando Funcionalidade do Modo Escuro a uma Página Divi

Agora que temos o código e as classes CSS no lugar, estamos prontos para aplicar a funcionalidade e design do modo escuro a uma página inteira no Divi. Para fazer isso, usaremos nosso layout predefinido da página de destino do aplicativo móvel.

Para incluir o layout, abra o menu de configurações na parte inferior do construtor visual e clique no ícone Incluir Novo Layout.

Em seguida, selecione o layout da página inicial do aplicativo móvel na guia de layouts predefinidos.

Certifique-se de que a opção “Substituir conteúdo existente” NÃO esteja selecionada. Você não deseja apagar a seção com a alternância do modo escuro.

modo escuro alternar em divi

Uma vez que o estilo do modo escuro só se aplicará a elementos com a classe CSS “capaz de modo et-escuro”, podemos escolher adicionar à página de algumas maneiras diferentes.

  1. Podemos adicionar a classe CSS a cada elemento da página individualmente.
  2. Poderíamos estender a classe CSS para elementos em toda a página (isso seria mais rápido do que fazer cada um manualmente). Por exemplo, poderíamos abrir as configurações de seção da seção superior e estender a classe CSS dessa seção a todas as seções da página.
    modo escuro alternar em divi
  3. Podemos adicionar a classe CSS aos padrões globais do elemento. Isso aplicará a classe CSS a todos os elementos de todo o site, adicionando o recurso de modo escuro em todo o site. Por exemplo, poderíamos abrir as configurações da seção e clicar no ícone padrão global para editar os Padrões da seção global. Em seguida, podemos adicionar a classe CSS e salvá-la como uma classe CSS para todas as seções do site.
    modo escuro alternar em divi

Adicionando a classe CSS aos elementos da página

Para este exemplo, vamos atualizar os elementos da página adicionando a classe CSS aos padrões globais para as seções e módulos de texto. E também faremos alguns acréscimos aos outros elementos da página conforme avançamos.

Todas as Seções

Para adicionar a classe CSS a todas as seções, abra as configurações da seção superior que contém o alternador de modo escuro. Em seguida, edite os padrões globais para a seção e adicione a seguinte classe CSS aos Padrões globais da seção:

  • Classe CSS: compatível com o modo et-dark

modo escuro alternar em divi

Todas as seções especiais

Adicione a classe CSS aos padrões globais da seção de especialidade também.

modo escuro alternar em divi

Módulos de Texto

Em seguida, abra as configurações de um dos módulos de texto na página e adicione a mesma classe CSS aos Padrões globais de texto.

modo escuro alternar em divi

Blurbs

Em seguida, abra as configurações de uma das sinopses no layout da página e adicione a classe CSS aos padrões globais do Blurb.

modo escuro alternar em divi

Colunas de depoimentos

Mais abaixo no layout da página, há alguns depoimentos, cada um dentro de uma coluna com um fundo branco personalizado. Para substituir os estilos de coluna no modo escuro, adicione a classe CSS a uma das colunas e estenda-a para as outras colunas da linha.

NOTA: Não é uma boa ideia adicionar a classe CSS aos padrões globais da coluna porque isso quebrará alguns dos elementos de design (ou seja, não é uma boa ideia dar a todas as colunas um fundo escuro quando na maioria das vezes os fundos das colunas são transparentes).

modo escuro alternar em divi

modo escuro alternar em divi

Para testar o resultado, vá para a página ativa e clique no botão de alternância do modo escuro na parte superior da página.

Aqui está a aparência da página no modo claro.

modo escuro alternar em divi

E aqui está a aparência da página no modo escuro.

modo escuro alternar em divi

Parte 3: Adicionando o Modo Escuro Alternar para um Cabeçalho Global

Se você deseja estender a funcionalidade do modo escuro para todo o site, seria uma boa ideia adicionar a alternância do modo escuro para seu Divi Global Header. Dessa forma, ele estará disponível para os usuários em todo o site em um local conveniente.

Salvando o modo escuro e o código na biblioteca Divi

Mas antes de fazer isso, precisamos salvar a alternância do modo escuro e o código na Biblioteca Divi. Isso tornará mais fácil adicionar outras áreas do nosso site, incluindo o cabeçalho global.

Volte para o layout que construímos com Divi implantado no front end. Em seguida, abra o menu do módulo blurb usado para construir a alternância do modo escuro e selecione salvar na biblioteca. Dê um nome ao layout e salve-o na biblioteca.

modo escuro alternar em divi

Em seguida, salve o módulo de código na biblioteca Divi também.

modo escuro alternar em divi

Importando um modelo de cabeçalho global pré-fabricado

Se você ainda não tem um cabeçalho global, precisará criar o seu próprio ou usar um de nossos pacotes de construtor de temas predefinidos.

Para este tutorial, usaremos o cabeçalho global incluído no quinto pacote de construção de tema. Para adicionar o cabeçalho global usando o criador de tema, você precisará baixar o pacote do criador de tema e, em seguida, usar as opções de portabilidade para importar o arquivo JSON chamado “divi-theme-builder-pack-5-default-website-template.json” .

modo escuro alternar em divi

Uma vez que o modelo foi carregado, clique para editar o Cabeçalho Global.

modo escuro alternar em divi

Em seguida, adicione a alternância de modo escuro da biblioteca para a coluna 1 na segunda linha do cabeçalho.

modo escuro alternar em divi

No módulo de alternância / sinopse do modo escuro, adicione o módulo de código que você salvou na biblioteca diretamente sob o botão de alternância do modo escuro.

modo escuro alternar em divi

Como temos a classe CSS “et-dark-mode-capaz” como padrão para todas as seções, as seções dentro do cabeçalho também a terão por padrão. Para desabilitar isso, basta atribuir a ele uma classe CSS de substituição.

modo escuro alternar em divi

Resultados finais

Aqui estão os resultados finais de nossa página de alternância do modo escuro.

modo escuro alternar em divi

E aqui está o botão de alternância do modo escuro no cabeçalho. O modo selecionado (escuro ou claro) permanecerá enquanto você navega para outras páginas do site.

Ajustando os estilos de modo escuro CSS personalizado

Se quiser ajustar o estilo do modo escuro dos elementos toggle ou Divi, você precisará fazer isso dentro do código dentro do módulo de código.

O código atualmente tem apenas um estilo de modo escuro básico aplicado a cada um dos elementos uma vez no modo escuro. Consiste em uma cor de fundo escura e uma cor de texto clara.

modo escuro alternar em divi

Pensamentos finais

Equipar seu site Divi com um alternador de modo escuro personalizado pode ser uma ótima maneira de impulsionar a experiência do usuário e criar um design totalmente novo que agrada e acalma os olhos. Esperançosamente, será útil para você.

Estou ansioso para ouvir de você nos comentários.

Saúde!