Movendo um elemento para frente e para atrás utilizando translateX com CSS 3. Utilizando a propriedade transform:translateX e transition-duration conseguimos criar a animação no evento “on hover”.
Exemplos
Movendo para atrás “backward”:
Passe o mouse
Movendo para frente “forward”:
Passe o mouse
CSS utilizado nos exemplos:
.forward { 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; } .forward:hover, .forward:focus, .forward:active { -webkit-transform: translateX(8px); transform: translateX(8px); } .backward { 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; } .backward:hover, .backward:focus, .backward:active { -webkit-transform: translateX(-8px); transform: translateX(-8px); }
Para aumentar a quantidade de pixels movidos durante o feito altere transform: translateX(-8px);
Já para alterar a velocidade do movimente faça a alteração em transition-duratio, valor informado deverá ser em segundos.
Versão compactada
Versão de tamanho reduzida para você incluir em seu projeto.
.backward,.forward{display:inline-block;vertical-align:middle;box-shadow:0 0 1px transparent}.forward{-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}.forward:active,.forward:focus,.forward:hover{-webkit-transform:translateX(8px);transform:translateX(8px)}.backward{-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}.backward:active,.backward:focus,.backward:hover{-webkit-transform:translateX(-8px);transform:translateX(-8px)}