CSS3 for tomorrow [ver.LP9]

高津戸 壮(たかつど・たけし)

株式会社ピクセルグリッド
フロントエンドエンジニア

GoogleChromeのみ)
http://goo.gl/O9ua
http://goo.gl/TRbO

秀丸HTMLコーディングの話などが超ためになる
 http://gyauza.egoism.jp/clip のひとです。

HTMLCSSコーディングJSによるUI実装
#おお!

CSS TransitionsModule Lvel3
CSS 2D Transforms Modle Levwl3
Animation

アップルが提案しているものがほとんど
Chrome Safariでしかみられない

CSS内にweb-kit の独自実装を設定
スライドもCSSでつくる

Trainsition
「値の変化がおこるときにアニメーションをつけることができる」
例:マウスオーバーで背景色が変化 + transition
→「1秒かけて色がかわる」

classにも適用できる
画像サイズ変化:犬のダイエット

例:文字サイズセレクト
アニメーションでナチュラルに変化
「何がおこっているか」わかりやすい

サブメニューアコーディオン展開
・透明度0→1
・左位置:右へイン
・高さ:0から

CSSだけで手軽にアニメーション

Transforms
位置が移動する
倍率の変化
回転
平行四辺形変化

→transitionと組み合わせる
かんたんに超人ワザ!

JSもAS3もいらない

・本背表紙取り出しナビ
・かっこいい階段メニュー展開
・花咲ポップアップ

要素の配置が自由自在に

Animations

ハトがふるえている…!!
CSSでアニメーションを定義
定義したアニメーションを指定するだけ

Demo

fademenu:下からほんわり現れる
galally:JSで0.1秒おきにimg作成:使うときは読み込み済みをかくにんしてから
tagfall:つけっぱだとフリーズする バラバラになるようにアニメ時間をJSでdurationをランダムにしている

JavaScriptCSSアニメーション

jQueryでもアニメーションできるし… :箱が横に移動する
→じつは裏では原始的に1pxずつCSSをずらしている →重くなりやすい
単純にかけるけど裏ではいろいろがんばってる
CSSとJS両方書かないといけない
キーフレームアニメーションは大変
長いスクリプトの中にアニメーションがあると複雑さ増大
CSSアニメーションなら、一時停止や再生も簡単

→CSS3で自由で管理性のたかいアニメーションが可能

アニメーションとのつきあいかた
「でしゃばらないアニメーション」unobtrusive animation
Eメールのバリデーションアニメ:間違っているとぶるぶるっとふるえる「通知」の意味
現実には一瞬で切り替わる事物はない

素敵なUIを素敵なCSSアニメーションで

<感想>
Flashでいいだろー!と思ってたけど、CSS3便利!(ChromeSafariでしか見られないけど。。)
アニメーションの動きの計算原理はActionScriptと同じ感じ(残りの距離の半分ずつ近づく)ですね。