Dicas e tutoriais de CSS3

Efeito “float” e “sink”, flutuar e afundar com CSS 3

Como fazer o efeito “float” e “sink”, flutuar e afundar com CSS 3 utilizando as propriedades transform e transition-duration.

Com as propriedades transform e transition-duration conseguimos simular o efeito de flutuar e afundar ou subir e descer em um elemento qualquer em sua página, Div, Input, etc, veja os exemplos abaixo:

Exemplos efeito Float e Sink

Exemplo com Float “flutuar”

Passe o mouse

Agora o exemplo com Sink “afundar”

Passe o mouse

Código CSS necessário

.float {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.float:hover, .float:focus, .float:active {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

.sink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.sink:hover, .sink:focus, .sink:active {
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}

Ajuste as propriedade transform: translateY(-8px); para aumentar a quantidade de pixel que o elemento deverá subir ou descer.

Já para alterar a velocidade de execução da animação mude  transition-duration informando o novo valor desejado em segundos.

CSS “minify”

CSS já com o tamanho reduzido para você incluir no seu projeto.

.float,.sink{display:inline-block;vertical-align:middle;box-shadow:0 0 1px transparent}.float{-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.float:active,.float:focus,.float:hover{-webkit-transform:translateY(-8px);transform:translateY(-8px)}.sink{-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.sink:active,.sink:focus,.sink:hover{-webkit-transform:translateY(8px);transform:translateY(8px)}

 

Post Recentes

YouTube sem cookie: adiar o embed do vídeo e do Maps até o aceite

Seu banner de consentimento está certo, mas o vídeo incorporado grava cookie de terceiro no primeiro carregamento. Troque o domínio…

7 horas atrás

Custom post type dando 404: flush_rewrite_rules na ativação do plugin

A listagem do custom post type abre e o single dá 404 no WordPress 6.9. Entenda o cache das rewrite…

2 dias atrás

systemd timer no lugar do cron: agendar script com log e sem execução dupla

Um par .service e .timer substitui a linha do crontab com log no journal, execução perdida recuperada no boot e…

2 dias atrás

Descrição em massa no WooCommerce: wp eval-file lendo a lista de SKUs

400 produtos importados do fornecedor com a aba Descrição vazia. Um wp eval-file percorre os SKUs sem texto, grava pelo…

2 dias atrás

Frete grátis no WooCommerce: esconder as outras opções de entrega

Some com PAC e SEDEX da lista quando o frete grátis está disponível, usando woocommerce_package_rates, e limpe o cache de…

3 dias atrás

Erro HTTP no WordPress ao enviar imagem para a biblioteca de mídia

A barra de upload chega no fim e o WordPress devolve só "Erro HTTP". Separe as três causas: Imagick barrado…

3 dias atrás