transform: translatex(x 方向の移動距離 ) transform: translatey(y 方向の移動距離 ) transform: translate(x 方向の移動距離, Y 方向の移動距離 ) transform: translate 関数は 移動する位置ではなく 移動

Similar documents
サンプル CSS web ページを開くと同時にピエロの玉乗りが動き出すアニメーションを作ってみましょう AnimeAuto の説明 HTML の記述 (AnimeAuto.html) ピエロの画像に pierrot という id を 玉の画像に ball という id を付けておきます <!DOCT

<!DOCTYPE html> <html> <head> <title>titleanime01</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="titleanime01.css"> </hea

MorphAndTextAnime の説明 HTML の記述 (MorphAndTextAnime.html) id 属性 stage の div 要素を作り その中に div 要素でボックスを記述します id 属性 div1 の div 要素を記述し 中につぎの記述をします id 属性 div2

( 注 )Safari (webkit 系ブラウザ ) と Chrome(webkit にも対応 ) は テキストの輪郭や色を -webkit-text-stroke-width -webkit-text-stroke-color -webkit-text-fill-color のプロパティで描くこ

MovingTextsAnime1 の説明 HTML の記述 (MovingTextsAnime1.html) id 属性 stage の div 要素 ( アニメーションが動くステージ ) を作り その中にボックスやテキストを記述します id 属性 div1 のdiv 要素から id 属性 div

サンプル CSS OutlineAnimation.html の説明 HTML の記述 (OutlineAnimation.html) id 属性 stage の div 要素を作り その中に div 要素でボックスを記述します id 属性 div1 の div 要素を記述し 中にテキストで Out

画像 images/ SpaceShuttle.png を指定します <!DOCTYPE html> <html> <head> <title>circleanime1</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/

背景の線形グラデーションをアニメーションのように見せる方法は 前章の #div4 ボックスと同じ方法です ( 注 )Safari (webkit 系ブラウザ ) と Chrome(Webkit にも対応 ) は テキストの輪郭や色を -webkit-text-stroke-width -webkit

</div> </div> </body> </html> CSS の記述 (3DCubeAnime1.css) #stage ステージのスタイルを指定します 背景色を黒色で指定します 画像に軽く遠近感を出すために perspective: 1000px; と指定し perspective-orig

1222-A Transform Function Order (trsn

をさせる ) ような場合に それぞれの要素に id 属性で id 名を指定している場合には CSS の id セレクタごとにアニメーションでプロパティを指定する必要があります class セレクタ.class 名 { プロパティ名 : 値 ; HTML 文書で class 属性 ( class="

padding( パディング ) padding プロパティでボックスの内側の余白を指定します この部分の内側には背景 ( 背景色や背景画像 ) を表示できます border( ボーダー ) border プロパティでボックスの境界線を指定します ボーダーには色 太さ 線の種類を指定できます 画像で

Web 設計入門

スタイルシートでデザインを整えよう

Microsoft PowerPoint - CSS(Cascading Style Sheets)の基本.pptx

IBM Business Process Manager CSS による Coach レイアウト制御ガイド WebSphere 2014 IBM Corporation

経営論集2011_07_小松先生.indd


JavaScript 演習 2 1

SVG資料第6回目(その3) SVGとHTMLの間でデータを交換する

ホームページ制作 基礎編 (HTML5 CSS3 コーディング )

PowerPoint Presentation

ch31.dvi

about かみのごうや たいち 大阪府出身 東京都在中 28歳 うお座 O型 ゾウと写真が好き 2xup.org を管理

07_経営論集2010 小松先生.indd

6 2 1

合宿事前講座 Web 開発の基本編その 2 情報研究会モブ 薗田海樹 The. H.30 情報研究会 1

~/WWW-local/compIID (WWW IID ) $ mkdir WWW-local $ cd WWW-local $ mkdir compiid 3. Emacs index.html n (a) $ cd ~/WWW/compIID

JavaScript演習

JavaScript演習

_勉強会_丸山さつき_v3

JIS Web Web JIS JIS 5.1.a 5.1.b 5.2.a 5.2.b 5.2.c 5.2.d 5.2.e 5.2.f 5.2.g 5.3.a 5.3.b 5.3.c 5.3.d 5.3.e 5.3.f 5.3.g 5.3.h 5.3.i 5.4.a 5.4.b 5.4.c 5.4.

第6回 CSS入門(つづき)

Web データ管理 HTML+CSS (3) (2 章 ) 2011/10/19( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/23

CSS

JavaScript カスタマイズ入門 kintone university アプリデザイナープラス JavaScript カスタマイズ入門編演習問題回答 演習問題 第 2 章サンプルで試そう 1 cybozu.com developer network の サンプルで試そう ( 以下 サンプル と

目次 概要... 2 フォームレイアウトデザイナー機能の設定... 3 設定したフォームレイアウトデザイナーの確認...14 その他スタイルの設定...15 フォームレイアウトデザイナーをエクスポート...17 フォームレイアウトデザイナーをインポート...18 インポート時の制限事項...19 リ

Web概論

情報工学実験Ⅲ

Transcription:

1225-8 練習 8 Translate Balls(translateX, translatey, translate) transform プロパティの translate 関数を使用して 2 つのボールを斜めに転がすトランジシ ョンを作ってみましょう Hover ボタンの上をマウスポインター ( カーソル ) で hover すると 2 つのボールが斜 めに転がります 動きの仕組み このトランジションは 次の2つの動きの組み合わせで動きます 1 ボールの横方向 縦方向の動き transform プロパティで translate 関数を指定し ease-in-out で動かすことにより 最初はゆっくりと そして徐々に速度を増して動き また徐々に速度を落とし 最後はゆっくりと止まります 2 ボールの回転 transform プロパティで rotatez 関数を指定し ease-in-out で動かすことにより 最初はゆっくりと そして徐々に回転速度を増して動き また徐々に回転速度を落とし 最後はゆっくりと止まります プロパティ transform: translatex( ) translatey( ) translate( ) 要素の表示位置を移動するときに指定します 1

transform: translatex(x 方向の移動距離 ) transform: translatey(y 方向の移動距離 ) transform: translate(x 方向の移動距離, Y 方向の移動距離 ) transform: translate 関数は 移動する位置ではなく 移動する距離を指定します 移動距離は数値 + 単位 (px 等 ) で指定し 数値は正の整数と負の整数が指定できます 指定例 transform: translatex(120px); transform: translate(30px, -80px); 重要 注意!: 本サンプルではボールの横方向と縦方向の動きに translate 関数を使用していますが IE(Internet Explorer) ブラウザは translate 関数に不具合があります (2015 年 10 月 3 日現在 IE11 で確認 ) 次のような現象が発生するので注意してください translate(x 方向の移動距離, Y 方向の移動距離 ) のY 方向の移動距離の後にスペース ( 半角スペース ) を入れると動作しません (translate 関数だけでなく transform プロパティに一緒に指定した他の関数も動作しなくなります ) 関数の括弧の中の前後にスペースを入れる書き方に慣れている方は注意してください 1 translate( -480px, -80px ) 動作しない 2 translate(-480px, -80px ) 動作しない 3 translate( -480px, -80px) 動作する 4 translate(-480px, -80px) 動作する Google Chrome Firefox Safari Microsoft Edge は どの記述方法でも正常に動作します しかし こんなことに頭を使うのは無駄なことなので translate 関数を指定する際には4のように括弧の中の前後にスペースを入れないで指定するようにしましょう サンプル CSS TranslateBalls の説明 HTML の記述 (TranslateBalls.html) id 属性 stage の div 要素 ( トランジションが動くステージ ) を作り その中にボックスや 画像を記述します id 属性 button の div 要素を作ります これがボタン ( 親ボックス ) になります font1 ク ラスでフォントを指定し Hover を記述します id 属性 ball1 の div 要素 ( 子ボックス ) の中に <img> タグで画像要素の記述をします 画像 2

は "images/ ColorWheel.png" を指定します id 属性 ball2 の div 要素 ( 子ボックス ) の中に <img> タグで画像要素の記述をします 画像は "images/soccerball.png" を指定します hover でトランジションが開始されるようにするので 各要素には onclick などの記述はしません <!DOCTYPE html> <html> <head> <title>translateballs</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="translateballs.css"> </head> <body> <p> ボタン ( 親ボックス ) を hover して 複数のボール ( 子ボックス ) を斜めに移動 (Translate) させる </p> <div id="stage"> <div id="button"><font class="font1">hover</font> <div id="ball1"><img src="images/colorwheel.png" alt="color Wheel"></div> <div id="ball2"><img src="images/soccerball.png" alt="soccer Ball"></div> </div> </div> </body> </html> CSS の記述 (TranslateBalls.css) 先ず トランジションが動く #stage の記述をします #stage { width: 600px; height: 200px; background-color: forestgreen; border: solid 1px black; position: relative; ボタンとなる #button ボックス ( 親ボックス ) を記述します position は absolute にしま す 角丸矩形のボタンにしたいので border-radius プロパティでボックスの 4 隅の角丸の 半径を 10px で指定します #button { top: 80px; left: 240px; width: 120px; height: 50px; border: solid 1px black; border-radius: 10px; 3

background-color: red; text-align: center; cursor: default; 画像 (images/ ColorWheel.png) を入れる #ball1 ボックス ( 子ボックス ) を記述します position は absolute にして 位置は top 70px と left 230px(#button ボックスの左上端を基準とした位置 ) で指定します transition の記述をします transform プロパティを 2 秒 ease-in-out でトランジションするように記述します #ball1 { top: -70px; left: -230px; width: 100px; height: 100px; transition: transform 2s ease-in-out; -webkit-transition: -webkit-transform 2s ease-in-out; #ball1 img { top: 0px; left: 0px; width: 100%; height: 100%; 画像 (images/ SoccerBall.png) を入れる #ball2 ボックス ( 子ボックス ) を記述します position は absolute にして 位置は top 10px と left 250px(#button ボックスの左上端を基準とした位置 ) で指定します transition の記述をします transform プロパティを 2 秒 ease-in-out でトランジションするように記述します #ball2 { top: 10px; left: 250px; width: 100px; height: 100px; transition: transform 2s ease-in-out; -webkit-transition: -webkit-transform 2s ease-in-out; #ball2 img { top: 0px; left: 0px; width: 100%; height: 100%; 4

#button ボックス ( ボタン ) を hover したら #button ボックスの背景色を deepskyblue に変化させます #button ボックス ( ボタン ) を hover した時の変化として #ball1 ボックスに transform プロパティで translate(480px, 80px) rotatez(720deg) を指定しておいて 時計回りで 2 回転しながら X 軸方向へ 480px Y 軸方向へ 80px 移動させます 同じように #button ボックス ( ボタン ) を hover した時の変化として #ball2 ボックスに transform プロパティで translate(-480px, -80px) rotatez(-720deg) を指定しておいて 反時計回りで2 回転しながら X 軸方向へ-480px Y 軸方向へ-80px 移動させます 注意!!===================================================================== transform プロパティに複数の関数 ( 例えば translate と rotatez) を指定する場合には 各関数の間にスペースを入れて記述します transform: translate(480px, 80px) rotatez(720deg); -webkit-transform: translate(480px, 80px) rotatez(720deg); 各関数の間に下記のように, ( カンマ ) を入れると transform プロパティが実行されない ( 適用されない ) ので注意が必要です transform: translate(480px, 80px), rotatez(720deg); -webkit-transform: translate(480px, 80px), rotatez(720deg); ============================================================================= #button:hover { background-color: deepskyblue; #button:hover div#ball1 { transform: translate(480px, 80px) rotatez(720deg); -webkit-transform: translate(480px, 80px) rotatez(720deg); #button:hover div#ball2 { transform: translate(-480px, -80px) rotatez(-720deg); -webkit-transform: translate(-480px, -80px) rotatez(-720deg); 最後にボタンに表示するテキストのフォントの指定をします.font1 { color: black; font: bold 28px "MS P ゴシック ", Osaka, " ヒラギノ角ゴ Pro", Verdana; line-height: 50px; 5