Fork me on GitHub

Artigos

Como criar um efeito de GLITCH com CSS3

Escrito em September 19, 2016

Aprenda a criar um efeito de glitch apenas utilizando CSS3 com keyframes e algumas técnicas de clip

Como criar um efeito de GLITCH com CSS3
Exemplo

Semana passada estava navegando pelo codepen e me deparei com alguns efeitos glitch, feitos em javascript, bastante interessante. Resolvi então desenvolver algo parecido mas que seja utilizando CSS3.

Brasil in GLITCH CSS3

O conceito é bem simples, iremos criar duas camadas de texto 'fakes' e cortaremos dois pedaços do texto que sobrescrevem o texto original, como mostra a figura a seguir:

Brasil GLITCH Efect wireframe
Wireframe do nosso efeito

Mãos a obra o/

A estrutura html é muito simples, só iremos precisar de um parágrafo e faremos os cortes com os pseudos elementos ::before e ::after.

Para obter o efeito a cima, deslocaremos as camadas para a direção que queremos distorcer o texto 2px negativos a esquerda e a direita dos seus respectivos filhos (::before e ::after) utilizaremos a propriedade clip para poder cortar os textos e animar a posição que o corte se encontra, obtendo o efeito de GLITCH desejado.

Note que colocamos a cor de fundo para a mascara sobreponha o texto original. Seguindo esta base, conseguimos obter o seguinte estado:

Brasil GLITCH efect initial state

Agora é só aplicar um delay em cada um dos cortes e animar as suas respectivas posições, com a propriedade clip: rect.

De acordo com o site da MDN, o recurso da propriedade clip está depreciado, mas você pode utilizar a propriedade clip path como uma alternativa.

O interessante desta técnica é que podemos obter efeitos diferenciados de GLITH, este é só um get started. Caso você queira aperfeiçoar um pouco mais, aconselho dar uma olhadinha nos exemplos fantásticos do codepen.

{ Comentários }