原森情報技術研究所 WEBコンテンツ企画・制作・運営・サポート / 兵庫県 神戸市 明石市 /

アニメーション部品

css3のみでアニメ部品作成

サンプル1 ローディング

1. ローディングdiv図形回転

div1個で図形作成。animationで回転。最初の2個はlinearで回転。後の2個はstep 8

2. ローディングdiv図形回転2

0.8s step 4コマ。右二つは0.4s 円が4つでstep 4。

3. ローディングdiv図形回転3

keyframeでbox-shadowを設定した例。後ろ2個つはopacity変化のアニメと組み合わせてみた

サンプル2 文字アニメ

4. 文字にアニメ演出

now loading...
now loading...

上:line-height、text-shadow、letter-spacing。
下:text-indent、letter-spacing。

5. 文字にアニメ演出2

疲れ目でぼやけます
光って主張します

上:color:rgba()とtext-shadowで文字をかすませる演出。
下:color:rgba()とtext-shadowで文字を光らせる演出。

6. 文字にアニメ演出3

文字を拡大縮小
文字を拡大縮小

上:scale(1)とscale(2)で文字拡大縮小アニメ。
下:perspectiveとtranslateZで文字拡大縮小アニメ。

サンプル3 spanタグ増殖

7. アニメ1個/spanごとに遅延

spanが8個。アニメは8s、0-10-20%で文字色が変化。:nth-of-type()で各spanの開始を1s遅らせる

8. アニメ1個/spanごとに遅延2

spanが8個。アニメは8s、0-10-20%で背景色が変化。偶数個目のspanはrotateZ(45deg)

9. アニメ1個/spanごとに遅延3

spanが8個。アニメはboxの背景色が白から黒へ steps(8,end) で変化

サンプル4 遅延・時間

10. ローディングアニメ4

div1個+before+box-shadowのkeyframe1個でローディング。※IE10は疑似要素で作っている斜めの影アニメが表示されない。

11. ローディングのコマ表示

10のアニメの0%,25%,50%,75%,100%をdivに指定した例。※このスタイルで各キーフレームを作りdivをbeforeよりも0.5s早めにanimationで動作させている。ie10は疑似要素(before等)のanimationが未サポート

14. ローディングアニメ4(改)

疑似要素のanimationが使えないieのために、divを2個使用。

サンプル5

13. 文字にアニメ演出4

NEW
NEW
NEW
NEW

line-heightで文字の位置を動かし、text-shadowで影

14. 文字にアニメ演出5

NEW
NEW
NEW
NEW

text-indent、letter-spacing、text-shadow等でアニメ

15. 文字にアニメ演出6

NEW
NEW
NEW
NEW

transformでアニメいろいろ

サンプル5 円の回転表示

16. 円の表示アニメ

Loading

親box、円、アニメ演出用BOXの3つのdivを使用

18. 円の表示アニメ2

Loading

divを4つも使ってしまった…

18. 円の表示アニメの種明かし

Loading

背景グレーから別の色に…3つのbefore&afterでアニメ

アニメーション部品の考察

spanタグやdivタグを大量に並べたHTMLソースを書いて、cssでアニメさせたローディングイメージを演出するぐらいなら、gifアニメ1個で簡単にできるのでは?などと言われがちな、今日この頃。

そもそもローディングをさせるのは、ページ内の大量の画像や逐次ページの記事をスクロールさせた時に読み込ませるなどのために、「ちょっとこれ見て待っててね」という演出で使うものかと思いますので、ローディングイメージが重い場合は本末転倒なことになるかもしれません。

cssでローディングイメージを作る場合、それっぽい図形を描いて回転させる方法や、box-shadow 指定自体をアニメで表現する方法などが考えられますのでとりあえず作ってみました。(→サンプル1参照)

span・div タグを大量配置するのは HTML5 ではあまり推奨されないのではないかと思いますが、javascript で innerHTML変更して HTMLタグソースを書き換えたりして、一時的に画面表示するだけなら HTMLソース上に最初は存在しない状態にすることもできますので、javascriptでソース作成するためのひな形と割り切れば、リストやキャプション、ラベルタグ等で言い訳的に意味づけする必要もないかと思ったりもしてます。(→ サンプル3はわざと span・div 増殖状態でアニメの遅延連携動作の実験として作ってみたものです)

また、このページでの、IE10の befor after の影アニメがうまく動かない問題については、現在少し忙しいので、調査保留中です…。

主なcssやテクニック

data-…
独自データ属性(又は、カスタムデータ属性)。すべての HTML 要素に自分で設定した属性名と値を指定することができる仕様。
content:attr(属性名)
属性名の値を表示
position
ボックスに背景画像の時は absolute を指定してtop,leftなどで位置指定
top
top位置
left
left位置
animation
アニメを指定するcssプロパティ
@keyframes
アニメのキーフレーム指定
transform
要素の変形を指定するcssプロパティ

ページトップへ

top > css3実験 > 
アニメーション部品

Transition ソース作成ツール ver1.0
Animation ソース作成ツール ver1.0
keyframes ソース作成ツール ver2.0
Transform ソース作成ツール ver1.0
ベンダープレフィックスを付加する ソース作成ツール ver1.0
進数変換ツール ver1.0
positionソース作成支援ツール ver1.0
liタグを自動付加するソース作成支援ツール ver1.0
checkbox radio ソース作成支援ツール ver1.0
連番ソース作成支援ツール ver1.0
10進←→16進カラー変換ツール ver1.0
セーフカラーマップ ver1.0
黄金/白銀比率計算ツール ver1.0

サブメニューがスライドする効果実験 / メニューは最初すべて非表示実験
記事や本文の指定id付き p or span 等で挟んだ時にアニメ効果js実験
SVGで立体表現実験
拡大画像を表示する(lightbox風)効果実験

フォーム入力用の演出
パララックス効果実験
ページめくり効果実験(複数ページ版 / ie10対応)
記事が上から降りてくる効果実験
記事ボックスが回転する効果実験

divが自動で回転アニメ 四角形
divが自動で正面向き回転アニメ
divがホバー方向別に異なるtransform
ボタンマウスオーバー方向で異なる入力インターフェイス実験

div図形
メニューいろいろ実験1/縦メニュ(サブなし)
メニューいろいろ実験2/横メニュー
選択表示 div box
cssだけでフキダシツールチップ表示
css3でアニメーション部品
css3でdivbox装飾
css3 + html5 でキャプション表示
css3でlist装飾
css3でホバーアニメボタン
css3で文字装飾
css3でflash代替キャッチアニメ

カテゴリMENU
お問い合せ