Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

iPhone対応Webサイト構築入門(後編)

2008年10月31日 18:00 松島浩道 1 2 3 4 5

・ユーザーインターフェイスをアニメーションさせる

 FirefoxやIEといったWebブラウザでアニメーションするドロップダウンツールバーやメニューなどを表示させるには、JavaScriptを駆使する必要がある。いっぽう、Safariでは指定した要素をアニメーションさせながら変形させる「transition」機能を独自実装している。transition機能は、CSSで「-webkit-transition-」で始まるプロパティを指定することで利用できる。この機能を利用すれば、複雑なJavaScriptコードを用意しなくても、簡単にアニメーションする要素を作成できる。

 たとえば、次の例(図5)はTransition機能を使ってアニメーションを実装した例だ(サンプルページ)。グレーの矩形領域にマウスポインタを重ねると、Firefoxなどでは一瞬で矩形の色と大きさが変化するが、Safariでは0.5秒間でゆっくりとアニメーションしながら色と大きさが変化する。

図5-1 図5-2 図5-3
図5 Transitionを使うと、アニメーションしながら形や色が変化する要素を簡単に作成できる

 このアニメーションは、下記のような単純なCSSだけで実現できる。この例では、:hover疑似クラスを用いて要素を変形させているが、この「アニメーションしながらの変形」はJavaScriptでエレメントのプロパティを変更した際にも反映される。たとえば、JavaScriptで要素のheight値を変更するようなコードを記述するだけで、要素の高さが変形するアニメーション表示を実現できる。

<style type="text/css" media="screen">
div.transition {
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.5s;
  width:100px;
  height:100px;
  background-color:#999;
  overflow: hidden;
  border: 1px solid;
}

div:hover.transition {
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.5s;
  width:100px;
  height:200px;
  background-color:#FFF;
  overflow: hidden;
  border: 1px solid;
}
</style>
<div class="transition" >
This is transition sample.</div>

iPhone向けWebサイトの実装例

 以上のようなiPhone向けのデザイン/動作を実装したサンプルページ(iPhone向け)を用意したので、興味のある方は各自動作やコードを確認していただきたい。このサンプルページはiPhone版Safariでアクセスした場合のみiPhone向けの表示を行うが、ほかのWebブラウザでアクセスした際もiPhone版Safariでアクセスした場合と同様に表示するサンプルも用意した。なお、このサンプルではSafariでしか利用できない「transition」機能を利用しているので、Safari以外では一部のアニメーションが表示できない点に注意して欲しい。

最終更新:2009年07月06日 16:41