CREATOR BLOG

SVGとCSSアニメーションで 必殺技の練習をしよう

2014/06/30
近藤
  • このエントリーをはてなブックマークに追加
blog

お世話になっております。制作部の2児の父、近藤です。

子供と歩いていると、「お父さんとそっくり」「近藤さんちっちゃくしたみたい!」と良く言われますが、実際のところ、「近藤(父)」×0.43 = 「近藤(長男坊)」 のようには変換できません。

出来たら面白いとは思いますが、長男坊と嫁が困りそうですね。

さて、ウェブのグラフィックには、
・ビットマップ
・ベクター
という、大きな2つの区分があります。

ビットマップは、写真などの、ピクセル(画素)に基づいた画像形式。
ベクターというのは、幾何図形を作成するための情報を数値や式として表現したものです。

SVGとは?

SVG(スケーラブル・ベクター・グラフィックス)はテキストベースの画像フォーマット。
ベクターデータなので、拡大・縮小しても、粗く見えない、という点が特徴です。

IE8以前では対応していませんが、現在、ほとんどのブラウザで対応されています。

基本的な書き方

SVGはXMLをベースとしていますので、<svg>~~~</svg>の形で記述します。

SVGタグに記述できる図形要素は、以下のものがあります。
・rect:長方形
・circle:円形
・ellipse:楕円形
・line:直線
・polyline:折れ線
・polygon:多角形

rect を例に、図形を描いて見ましょう。

・横幅:100px
・高さ:60px
・X座標:100px
・Y座標:20px
・塗りつぶしの色:green

記述は、以下になります。

緑の■が、簡単に描けますね。

SVGタグが、描画領域。絵を描く、画用紙、のようなイメージです。
では次に、赤丸を追加してみましょう。
●は、circle要素、円の中心座標をcx,cyで設定して、半径をrで指定します。

アニメーション

CSS、SVG(とその各要素)に対して設定することができます。

先ほどの、circleに、.cricleBlue というクラスを付与して、以下のCSSをあててみましょう。

こんな風に、簡単にCSSでの制御も可能です。

続いて、CSS3のアニメーションを設定してみましょう。緑の■に .rectGreen というクラスを振り以下のCSSを記述します。
SVGをマウスオーバーすることで、緑の■が動きます。

動きますね。ちなみに、svgの各要素はz-indexのような概念は無く、「記述された順番が遅いほど上に」表示されます。

SVGは、スケーラブル。ディスプレイサイズなどの制約にも柔軟に対応できるため、色々な用途ですでに使われています。

おまけ

SVGのアニメーションは、簡単に導入できて見栄えの調整も楽しいので、たとえば、「新しい必殺技」なんかを考えるときにも有効でしょう。

例)アライド君の必殺技案 その1:ヘソビーム

ぜひ、遊んでみてください。

Recent Entry

CSSの単位まとめ pxからvm/vh/vmin/vmaxまで

レスポンシブHTMLメールを作ってみての感想

CSSのリファクタリングでした5つのこと

大人が読んでも頭を使う絵本の紹介

サイト内にうまくInstagramを取り入れてるサイト11選

Category

Archive