Francileudo Oliveira
Francileudo Oliveira23/09/2022 13:44
Compartilhe

Animação simples de background no botão usando CSS

  • #CSS

Hey galerinha, no artigo de hoje vamos dar continuidade ao nosso projeto, dessa vez temos os dois botões abaixo da textarea de input do usuário. Primeiro pegamos a classe da div que guarda os dois botões e adicionamos um display do tipo flex, seguido de um flex-wrap do tipo wrap, para que caso a tela seja menor, nossos botões ficaram um abaixo do outro, ficando lado a lado apenas se existir espaço na tela para isso, sendo que um justify-content do tipo center, fará com que esse botões fiquem centralizados na tela.

.container-general__service-buttons {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}

Agora, pegamos as classes adicionadas nos botões para adicionar o básico da estilização. Começando pela uma margin de 0.5rem, e uma altura de 4rem e uma largura de 20rem. Completamos nossa estilização com o radio da borda em 1rem e um peso de fonte de 100px.

.container-general__service-buttons__encrypts,
.container-general__service-buttons__decrypts {
 margin: 0.5rem;
 height: 4rem;
 width: 20rem;
 border-radius: 1rem;
 font-weight: 100px;
}

 

Começando pela estilização única do botão de encriptação, retiramos a borda padrão do botão com um border none, para nossa animação de background, adicionamos um background do tipo linear-gradient sendo 50% para cada cor, posicionado na direita com um tamanho de 200% e 100% para cada uma das cores. dessa forma teremos duas cores, mas apenas a cor que está na esquerda irá preencher o botão. Por fim, colocamos uma cor branca no texto e uma transição de 3 segundos com uma ease-out como função de facilitação

.container-general__service-buttons__encrypts {
 border: none;
 background: linear-gradient(to right, #264D39 50%, #4C9971 50%);
 background-position: right bottom;
 transition: all 300ms ease-out;
 background-size: 200% 100%;
 color: #fff;
}

Por fim pegamos a classe do botão novamente só que adicionamos um :hover após para estilização do que acontece assim que o usuário passar o mouse por cima do botão, nesse caso só mudamos a posição do background para aparecer a segunda cor do gradiente.

.container-general__service-buttons__encrypts:hover {
 background-position: left bottom;
}

Fazemos o mesmo no botão de desencriptar, porém aqui o botão começa transparente e muda para outra cor, bem como a cor da fonte fica branca.

.container-general__service-buttons__decrypts {
 background: none;
 border: 1px solid #264D39;
 background: linear-gradient(to right, #264D39 50%, transparent 50%);
 background-position: right bottom;
 transition: all 300ms ease-out;
 background-size: 200% 100%;
 color: #264D39;
}

.container-general__service-buttons__decrypts:hover {
 background-position: left bottom;
 color: #fff;
}

Sendo assim, nossos botões estão prontos, agora vamos estilizar a nossa saída de dados e o nosso rodapé para podermos entender um pouco sobre responsividade antes de partir para a construção da lógica do nosso projeto usando JavaScript, um abraço e até a próxima.

https://francileudo-frontend.blogspot.com/2022/09/animacao-simples-de-background-no-botao.html

Compartilhe
Comentários (1)
Marcos
Marcos - 23/09/2022 17:03

Legal, irei colocar em pratica, vamos ver como irá ficar.