Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Aplicações Customizáveis com CSS Variables

Aplicações Customizáveis com CSS Variables

Customização é uma feature bem interessante que pode ser adicionada em diferentes tipos de cenários: desde aplicações white label até produtos SaaS. Nesta palestra, apresentarei conceitos envolvidos na stack de desenvolvimento de uma aplicação customizável e mostrando como implementar essa feature em um app Django usando CSS Variables.

Labcodes Software Studio

September 30, 2017
Tweet

More Decks by Labcodes Software Studio

Other Decks in Technology

Transcript

  1. $base-color: #ce0149; $highlight-color: #cdafff; p { color: $base-color; } h1,

    h2, h3 { color: $base-color; } span { color: $highlight-color; } a { color: $highlight-color; }
  2. CSS Variables Implementação nativa de variáveis em CSS Pode ser

    utilizado em todas as propriedades Seguem as regras em cascata
  3. :root { --base-color: #266de0; --highlight-color: #ef33cf; } p { color:

    var(--base-color); } span { color: var(--highlight-color); } a { color: var(--highlight-color); } .text { --highlight-color: #ebef32; }
  4. <!DOCTYPE html> <html> <head> <title>CSS Variables</title> <link rel="stylesheet" href="style.css"> </head>

    <body> <section class=section> <div class="container"> <h1 class="title">Hello World</h1> <p class="text"> Lorem ipsum …<span>ultricies nunc</span>… </p> <a href="#">Link</a> <p>Created in <span>29/09/2017</span></p> </div> </section> </body> </html>
  5. CSS Variables Função var permite a configuração de um valor

    default Função calc permite fazer operações com as variáveis color: var(--base-color, #ffffff); --gap: 10px; padding:calc(var(--gap) + 5px);
  6. CSS Variables TRABALHANDO COM JS Podemos modificar dinamicamente o valor

    das variáveis usando Javascript document.documentElement.style.setProperty('--base-color', ‘#000000');
  7. Exemplo de Aplicação Disponível em: custom-blog-theming.herokuapp.com username: john_snow password: john1234

    Código-fonte disponível em: https://github.com/nicysneiros/custom-blog-theming.git
  8. SASS ou CSS Variables? SASS não permite modificação dinâmica de

    variável com JS Porém possui outras features além de variáveis Aninhamento, herança e mixins ajudam a organizar projetos grandes
  9. SASS ou CSS Variables? SASS + CSS Variables? Aninhamento, heranças

    e mixis em conjunto com variáveis dinâmicas Funções auxiliares de SASS não funcionam com CSS variables como parâmetro Compatibilidade de browsers ainda é limitada