Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8690

[メモ]1文字ずつスライドして現れるCSSアニメーション

$
0
0

概要

CSSアニメーションでこんな動きを実現したい。

movie.gif

実装

1文字ごとにアニメーションさせるため1文字ごとに要素を区切る。
空白から文字をスライドさせるためspanを2重にしている(後述)。

<pclass="animation"><span><span>A</span></span><span><span>N</span></span><span><span>I</span></span><span><span>M</span></span><span><span>A</span></span><span><span>T</span></span><span><span>I</span></span><span><span>O</span></span><span><span>N</span></span></p><button@click="handleClick">toggle</button>

javascript部分はボタンがクリックされたら <p class="animation">activeクラスを付けたり除いたりする。

constelement=document.querySelector(".animation");if(element.classList.contains('active')){element.classList.remove('active')}else{element.classList.add('active')}

CSSはアニメーション前後の状態を規定する。
active classがついていないときは文字を横にずらしておき、active classが付いたときに元の位置に戻す。
外側のspanに overflow: hiddenをつけることでスライドした文字を隠す。

.animationspan{overflow:hidden;display:inline-block;}.animationspanspan{transform:translateX(50px);transition:.5s;}.animation.activespanspan{transform:translateX(0);}

外側のspanが無いとこうなる
movie2.gif

参考

https://www.mikapikazo.com/


Viewing all articles
Browse latest Browse all 8690

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>