1001Ferramentas
🔄Conversores

Conversor CSS para SCSS

Adapta CSS para SCSS preservando regras e convertendo variáveis CSS em variáveis SCSS quando detectadas.

Trocar custom properties por variáveis do Sass

A parte que ninguém conta sobre migrar CSS para SCSS: quase não existe migração. Todo CSS válido já é SCSS válido, então renomear a extensão do arquivo resolve o build. O trabalho de verdade é outro, e é chato: percorrer o arquivo trocando as custom properties, aquelas com dois hífens, pelas variáveis do Sass com cifrão. É exatamente isso que esta ferramenta faz, e só isso.

São duas substituições de texto. A declaração com dois hífens seguida de dois pontos e valor vira a mesma linha com cifrão, e cada chamada var com a custom property dentro vira a referência com cifrão. Todo o resto passa intacto: seletores, media queries, comentários. Duas pegadinhas conhecidas: a chamada var com valor de fallback depois da vírgula não é reconhecida e fica como está, e a declaração precisa terminar em ponto e vírgula para ser detectada.

O que quebra o build depois é escopo. Suas custom properties provavelmente moram dentro do bloco raiz; ao virarem cifrão, continuam lá, e variável do Sass declarada dentro de um bloco só vale dentro daquele bloco. Mova as declarações para o topo do arquivo ou para um parcial de variáveis depois de converter. E não converta o que você troca em tempo de execução: tema por classe no body, valor que muda em media query. Cifrão morre no build, dois hífens vivem no navegador.

Perguntas frequentes

Ele aninha os seletores para mim?
Não. Nenhuma regra é reestruturada. Seletores, media queries e comentários saem iguais aos que entraram; só as variáveis são tocadas.
Preciso mesmo converter CSS para SCSS?
Na maioria dos casos, não. Trocar a extensão para .scss já funciona, porque a sintaxe do CSS é um subconjunto da do SCSS. A conversão só faz sentido para adotar variáveis de build.
E as chamadas var com valor padrão?
Não são convertidas, porque o padrão reconhecido é a chamada var apenas com o nome da propriedade. Ajuste essas ocorrências à mão, escolhendo entre a variável do Sass e o fallback.

Ferramentas Relacionadas