変形とアニメーション

変形とアニメーション

 CSS3では、Transformという要素の変形と、Transition/Animationというアニメーションの機能がワーキングドラフトになっています。iPhone(Webkit)ではこの機能を先取りし、CSSのみで変形とアニメーションができます。

 変形は「-webkit-transform」によって指定します。対応している変形機能は、移動、拡大縮小、回転です(図3-1)。

 -webkit-transformの詳しい説明は、Safari CSS Transform Guide for iPhone OS(https://developer.apple.com/webapps/docs/documentation/iPhone/Conceptual/SafariCSSTransformGuide/Introduction/chapter_2_section_1.html)を参照ください。

 アニメーションは「-webkit-transition:<対象> <時間> <アニメーションモード>」です。-webkit-transitionが指定された要素のCSS指定が変化すると、変化前と変化後のスタイルの差がアニメーションで表現されます。

#box { -webkit-transition:all 1s ease-in-out; background:red; }
.scaled { -webkit-transform:scale(0.5); background:blue; }

 対象要素のclassを直接変えなくても、div#boxの親要素のclassによってボックスの指定が変わる場合でも問題ありません。

#box { -webkit-transition:all 1s ease-in-out; background:red; }
.scaled #box { -webkit-transform:scale(0.5); background:blue; }

 変形とアニメーションを組み合わせたサンプルをダウンロード(http://www.thinkit.co.jp/images/article/146/5/14653.zip)できますので、参照ください(14653.zip/1.55 KB)。また、iPhoneのSafariでのみ動く「要素の3D変換の例」も入っています(図3-2)。

 さらに、-webkit-transitionとはまた別に、-webkit-animationと@-webkit-keyframesという方法もあります。

 -webkit-transition、-webkit-animationの詳しい説明は、Safari CSS Animation Guide for iPhone OS(https://developer.apple.com/webapps/docs/documentation/iPhone/Conceptual/SafariCSSAnimationGuide/Introduction/chapter_2_section_1.html)にあります。

ライブラリについて

 メジャーなiPhone用Webサイトのためのライブラリを紹介します。どのライブラリも「いかにお手軽にiPhoneのネイティブアプリケーションのような見た目と動きのWebサイトを作るか」を考えてあります。

 iUI.js(http://code.google.com/p/iui/)はiPhone風UIライブラリの老舗です。

    としてiPhoneのリストページを1枚のHTMLにまとめておけば、トップにバックボタンのついたページが表示され、ネイティブアプリケーションのような見た目と動きの階層選択ができます。

     iWebKit(http://iwebkit.net/)もiUI.jsとほぼ同じですが、iUI.jsでは1ページ1リストという構造なのに対し、iWebKitの場合はページ内をセクション分けしてリストを複数持つことができます。

     Universal iPhone UI Kit(http://code.google.com/p/iphone-universal/)ではさらにいろいろなリストビューを使えます。普通のリストだけではなく、コンタクトリスト風、YouTubeアプリケーション風、クロックアプリケーション風などのほか、イメージリストがあったり、チャットのバブル装飾や大きなボタンなども準備されており、眺めているだけでもなかなか面白いです。ただし、こちらは上の2つで実装されている「ぬるっとページ遷移」は実装されていないため、動かしていると少し気持ちが悪いです。

     これらのライブラリを使えば、少なくともアプリケーションっぽい見た目はかなり簡単に作れます。

     以上、iPhone用Webサイトの世界はいかがだったでしょうか。

     まだまだCSS3なんて先の話だと思っていましたが、iPhoneの場合はクロスブラウザ対応や過去の互換性を気にすることなく新機能を試すことができますので、ぜひ実機で確かめてみてください。

    人気記事トップ10

    人気記事ランキングをもっと見る

    企画広告も役立つ情報バッチリ! Sponsored

    ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30