今日はタイトルの通りCSSアニメーションで図形のまわりをまわる文字を作成してみました。
文字自体はSVGで作成しています。
早速デモから!
See the Pen
CSS animation by sayuri (@giraffeweb)
on CodePen.0
ソースをそれぞれ説明していきます。
HTMLはさっくりしたものです。
<div id="movieBtn"> <div id="playMovie"> </div> </div>
今回はJSは使用してません。
SCSSなので変数で色と丸と上下左右50%だけ指定してます。
$red: #FF0002; @mixin vertical-align { position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); transform: translate(-50%,-50%); } @mixin border-radius-per($radius) { -webkit-border-radius: $radius; -moz-border-radius: $radius; border-radius: $radius; }
ボタンのまわりをまわっている文字部分。
before要素に背景としてSVGで画像をいれてます。
#movieBtn { position: relative; width: 150px; height: 150px; &:before { position: absolute; top: 0; left: 0; display: block; content: ""; background: url("https://drive.google.com/ucexport=view&id=14Begz2OHBIbkWEre6gPrgEvN9AYrT04D") no-repeat 50%/contain; width: 100%; height: 100%; animation: circleRing 20s linear infinite; border-radius: 20px; } }
白背景のボタン部分です。
ここはみなさん適宜応じて修正してください。
参考程度に見てもらえるとうれしいです。
#playMovie { width: 100px; height: 100px; z-index: 50; box-shadow: 3px 3px 5px #e3e5ea, -3px -3px 5px #fff; background-color: #f8f8f8; cursor: pointer; @include border-radius-per(50%); @include vertical-align(); &:before { content: ""; display: block; width: 0; height: 0; border-color: transparent transparent transparent #333; border-style: solid; border-width: 8px 0 8px 14px; z-index: 10; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; } &:after { position: absolute; top: 0; left: 0; right: 0; bottom: 0; content: ""; background-color: $red; transition: transform .4s cubic-bezier(.215,.61,.355,1); border-radius: 50%; transform: scale(0); } &:hover { &:before { border-color: transparent transparent transparent #fff; } &:after { transform: scale(1); } } }
こんなかんじです!
結構簡単におしゃれなボタンがつくれますよね!
みなさんもぜひ試してみてくださいね。