【ハウツー】
前回、W3Cで未だ確定していないプロパティを、各ブラウザベンダーが独自に実装したプロパティに対して「ベンダープリフィックス」を記述する必要があると解説しました。
しかし、いちいち同じ記述をブラウザ毎に記述するのも面倒ですし、コードの可読性も悪くなります。
そこで、ベンダープリフィックスを記述しなくて済むようになる便利なライブラリ、「prefixfree.js」を紹介します。
「prefixfree.js」を使うと、アニメーションのプロパティだけでなく、シャドウやグラデーションなど、ベンダープリフィックスが必要なプロパティ全てで有効になります。
今回は、オブジェクトの位置を移動するというアニメーションを付けてみました。
このサンプルは、CSS3の「transitionプロパティ」に対応した「Firefox」、「Chrome」、「Safari」でしか動作しません。 残念ながら現時点ではIEは「transitionプロパティ」には対応していません。
早速記述を見てみます。
<style>
#box
{
cursor:pointer;
width:80px;
height:80px;
background:#CCC;
color:#FFFFFF;
overflow:hidden;
transition-property:transform;
transition-duration:500ms;
transition-timing-function:ease-out;
}
#box p
{
margin:0;
padding-top:30px;
text-align:center;
}
</style>
</head>
<body>
<div id="box">
<p>クリック</p>
</div>
</body>
</html>
ご覧のとおり、ベンダープリフィックスは、一切記述されていません。 前回の記述より、かなりすっきりしましたね。 これを実現してくれるのが、「prefixfree.js」です。
では早速導入したいと思います。
Prefix free: Break free from CSS vendor prefix hell!
上記サイトにアクセスし、左上のボタン「Only 2KB gzipped」から、ソースをダウンロードします。次に、メニューの「Plugins」に入り、下の方の「prefixfree.jquery.js」をダウンロードします。
この、「prefixfree.jquery.js」は何をするのかというと、「prefixfree.js」は、ページのロード時にはベンダープリフィックスを補完してくれますが、jQuery等でに動的にCSSを書き換える場合などでは補完できません。
そういう訳で、この講座ではjQueryを標準的に使用しているので、「prefixfree.jquery.js」も一緒に読み込みましょう。
ではJavaScriptの記述を見てみましょう。
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="prefixfree.min.js"></script>
<script type="text/javascript" src="prefixfree.jquery.js"></script>
<script>
$(function ()
{
$("#box").toggle(
function()
{
$("#box").css("transform", "translate(200px,200px)");
},
function()
{
$("#box").css("transform", "translate(0px,0px)");
}
);
});
</script>
まずはダウンロードしてきたJavaScriptファイルを読み込みます。 順番としては、「prefixfree.jquery.js」は、jQueryとprefixfree.jsの読み込みの後に記述します。
そして、今回もjQueryの「toggle」メソッドを使います。楽ですからね。 ここでは前回と違って、「transformプロパティ」を使っています。「transformプロパティ」についてはまた後日解説するとして、ここで重要なのは「transformプロパティ」はベンダープリフィックスが必要なプロパティということです。
試しに、「prefixfree.jquery.js」の読み込みの記述を消して実行してみると、アニメーションが走らなくなります。
この様に、「prefixfree.js」と「prefixfree.jquery.js」を使うと、CSS3のプロパティをもっと手軽に扱うことが出来るのです。 「prefixfree.js」と「prefixfree.jquery.js」はともにMITライセンスという、 非常に制限の緩いラインセンス形態で配布されており、ソースコード内の著作権表記のコメントを消さない限り、自由に商用利用可能ですので、積極的に利用していきましょう。
河野 義貴
インハウスのFlashクリエイターとして勤務後、2010年独立。一年間のフリーランス期間を経て、2011年9月にスウィーツアンドストリーム株式会社を設立。主にFlash・HTML5を駆使した、PC・スマートフォン向けインタラクティブコンテンツを中心に活動中。マイナビクリエイターセミナー(WCBセミナー)の講師としてもおなじみ。
| 【ハウツー】クリエイターのためのWebテク講座 -CSS3のtransitionプロパティを使ってみよう。 [2012/7/2] |
| 【ハウツー】クリエイターのためのWebテク講座 - 動画ファイルの作成について。 [2012/6/25] |
| 【ハウツー】クリエイターのためのWebテク講座 - videoタグを使った、プレイリストの作成 [2012/6/18] |
| 【ハウツー】クリエイターのためのWebテク講座 - videoタグを使って、Flash無しでビデオ再生 [2012/6/11] |
| 【ハウツー】クリエイターのためのWebテク講座 - jQueryを使ってフォトライブラリを作ろう [2012/6/4] |
| 【レポート】フジに続きTBSでは出水アナをイメージした3Dキャラクターを導入? - 人の表情をカメラで読み取る「リアルタイムアバターシステム」 [19:49 5/21] |
| キヤノンら、重要文化財「竹に虎図襖」などの高精細複製品を天球院に寄贈 [16:52 5/21] |
| 音楽制作ソフトウェア「Singer Song Writer Lite 8」の試用版を公開 [16:36 5/21] |
| 8つのエフェクト同時演奏可能なアプリ「Turnade for iPad」発売 [15:58 5/21] |
| アドビ、iOS向け「Adobe Ideas」を無償化 - 購入者には払い戻し対応も [15:10 5/21] |