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

Similar documents
1つ目は MASK という文字の下に楕円形のマスクイメージで その文字と楕円形の中に複数画像のスライドを表示するので id 属性 slide の div 要素の中に画像を5つ (images/dsc00203l.jpg images/dsc00027l.jpg images/dsc00092l.jp

画像全体を左右反転させると 下の画像 ( 黄緑色の外枠に白い桜 ) は backface-visibility: visible; と指定してあるので裏側が表示されます 上の画像 ( 水色の外枠に紅葉 ) は backface-visibility: hidden; と指定してあるので裏側が表示され

動させることはできません 少し工夫が必要になります 元の画像を移動すれば反射画像 も一緒についてきますが 反射画像だけが移動するように見せたいので 元の画像の上に は黒色のボックスを覆い被せます ReflectAnime1 の説明 HTML の記述 (ReflectAnime1.html) id 属

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

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

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

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

ように記述をします div1 要素 span 要素 2 個 div3 要素 span 要素 4 個 div5 要素 span 要素 1 個 div7 要素 span 要素 2 個 div2 要素 span 要素 1 個 div4 要素 span 要素 2 個 div6 要素 span 要素 2 個

leaf2-h leaf2-v leaf2 images/leaf2.png leaf3-h leaf3-v leaf3 images/leaf3.png leaf4-h leaf4-v leaf4 images/leaf4.png leaf5-h leaf5-v leaf5 images/leaf

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

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

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

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

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

Color Change

overflow プロパティの指定は 親ボックスのスタイルに記述します overflow プロパティは position プロパティ (position: static; 以外 ) の指定がされていなと適用されません ボックスの外にはみ出た部分を表示させたくないときに hidden を使用します サ

transform: skewx(x 軸の傾斜角度 ) transform: skewy(y 軸の傾斜角度 ) transform: skew(x 軸の傾斜角度, Y 軸の傾斜角度 ) skewx( ) は X 軸に沿って傾斜します skewy( ) は Y 軸に沿って傾斜します skew( ) は

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

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

Border Width と記述します id 属性 div3 の div 要素を記述し 中にテキストで Border Radius と記述します id 属性 div4 の div 要素を記述し 中に span 要素を1つ記述しその中にテキストで Border All<br />(Color,Widt

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

1221 Transitionの指定項目

子ボックスや孫ボックスなどに position: absolute; と指定すると それぞれ親ボックスに対する絶対位置で配置できるので親ボックスの上に複数の子ボックスや孫ボックスを重ねて配置することができます トランジションやアニメーションを作成するときに非常に便利なので覚えておきましょう top

大メニューをマウスカーソルで hover すると 半透明の小メニューが上から伸びてきます 小メニューを hover すると メニューの背景色とテキストの色が変わります NaviMenuAnime01 の説明 HTML の記述 (NaviMenuAnime01.html) id 属性 menu-box

1222-A Transform Function Order (trsn

1222-B Transform Using Class And Tag (classセレクタと要素型セレクタ(Tag)を使用してスタイルを適用する)

トリガーをわかり易くする方法

Color Change

1222-A Transform Function Order (trsn

1222-A Transform Function Order (trsn

サンプル CSS1 入力フィールドの輪郭 (outline) のトランジション 入力フィールドをクリックすると変化します InputOutlineTransition の説明 HTML の記述 (InputOutlineTransition.html) id 属性 field の div 要素を作り

ボタンのトランジション 1 トランジションを利用して ボタンを作ってみましょう ボタンを工夫することでひときわ光る web ページにすることができます もう Illustrator や Photoshop でボタンの画像を作る必要はありません JavaScript でスクリプトを書く必

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

メニューのトランジション 1 (text-overflow) トランジションを利用して 面白い個性的なメニューを作ってみましょう web ページもぐっと引き立つでしょう ここで紹介するメニューも Illustrator や Photoshop でメニューの画像を作る必要はありません J

1221 Transitionの指定項目

images/dsc00092s.jpg images/dsc00131s.jpg images/dsc00149s.jpg images/dsc00203s.jpg <!DOCTYPE html> <html> <head> <title>roundphotogallery</title> <me

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

Microsoft Word - 教材WebページのHTML5及びCSS3の解説

PowerPoint Presentation

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

要素にフォーカスが当たったときは 例えば以下のように記述する input:focus{} 疑似要素 p:first-lin{ } 一行目だけ p:first-letter{} 最初の文字だけ要素の前や後に付け加えるには 以下のように記述する p:before{content:" 記号や文字 ";}

Webデザイン論

PowerPoint Presentation

Web 設計入門

PowerPoint プレゼンテーション

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

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

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

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.

インターネット社会の発展

World Wide Web =WWW Web ipad Web Web HTML hyper text markup language CSS cascading style sheet Web Web HTML CSS HTML

目次 はじめに... 1 CSS?... 3 CSS の例... 4 CSS の基本の形... 5 HTML で CSS を読み込む... 7 <link> タグを置く ( ファイルを読み込む )... 9 <style> タグを置く ( スタイルを直接埋め込む ) セレクタ... 11

6 2 s µ µµµ µµµµ µ µ h µs µ µµµµ µ µ µ s mµµµµµ µµµ µµ µ u m µmµµµµµ µµ µ µ µ µ µ µ µ µ s 1

id, クラスで指定 (#id 名,.class 名 ) 4. 様々なセレクタ a,b :a と b を指定 a b :a の下の階層の b を指定 a>b :a の直下の b を指定 a+b :a の次の b を指定 ab :a かつ b を指定 5. 属性セレクタ a[b] :a タグ内で b

Moshimo Challenge Report

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

第6回 CSS入門(つづき)

EC 千葉のホームページで使用している CSS CSSスタイルシート ( 外部記載 ) /* == 標示枠背景に壁紙設置 ( 全画面共通 )======= */ body { background-ima

ch31.dvi


PowerPoint プレゼンテーション

演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください 演習名 使用するフォルダ 演習 1 Z: Web データ管理 演習 1 演習 2 Z: Web データ管

コンピュータ基礎実習 ( 上級 ) 第 13 週の例では <h1> タグが対象であることを意味します セレクタを変えることで見栄えを様々な対象に設定できます プロパティ (property) は設定する見栄え ( スタイル ) の種類のことです 値はプロパティに対する具体的な設定値です この例では文

超簡単にWebページを作成

Web 設計入門

6 2 1

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

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

1

CSS3

Web データ管理 HTML+CSS (7) (2 章 ) 2011/11/16( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/15

Web プログラミング 1 HTML+CSS (3) (2 章 ) 2013/5/8( 水 ) 演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用で

■サイトを定義する

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


Microsoft Word - manual.doc

HTML5 CSS

情報工学実験Ⅲ

2 / 16 HTML=HyperText Markup Language( ハイパーテキストマークアップランゲージ ) ブラウザ (Chrome) での表示 ソースの表示 ( メモ帳 /TeraPad) HTML <========= =========>

Web

コンピュータ基礎実習 ( 上級 ) 第 12 週例では <h1> タグが対象であることを意味します セレクタを変えることで見栄えを様々な対象に設定できます プロパティ (property) は設定する見栄え ( スタイル ) の種類のことです 値はプロパティに対する具体的な設定値です この例では文字

■新聞記事


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

CSSの基礎

! "#$%&'()*+,-. STUV WXYZ[\]^_`abcdefghijklmno pqrstuvwxyz{ }~ ƒ ˆ Š Œ Ž š œ žÿ ª«±²³ µ ¹º»¼½¾ ÀÁÂÃÄ ÅÆÇÈÉÊËÌÍÎÏÐ

2

JavaScript 演習 2 1

はじめに 本書の目的は 制作の効率化 クオリティの向上 各作業者間のスタイルの統一を 図る目安になることで 常にブラッシュアップを繰り返し 現時点での最適解の共 有に活用するものである 目次 基本仕様 ファイル ディレクトリ構成 画像ファイル 対応ブラウザ 品質管理 (X)HTML 制作 文字コード

第 10 問 PHP での例外処理は PHP5.5 以降から行えるようになった 第 11 問 MySQL では サブクエリを使用することができない 第 12 問 マルチキャストにて放送を行う場合 宛先の IP アドレスはクラス D である 第 13 問 XML では 次の記述によってスタイルシートを

extChatText.pdf

27短01研01斉藤.indd

Microsoft PowerPoint - css-3days 互換モード

第 10 問 HTML5 では 1 つの HTML 文書内で複数の h1 要素を使用することは文法的に誤りとしている 2. 以下の設問に答えよ 第 11 問 コンピュータネットワークにおいて SSH の仕組みを使ってファイルを転送するプロトコルはどれか 以下より 1 つ 選択しなさい 1. SMTP

(3) 本文を書く 実際にページを開いたときに表示される本文を書いてみましょう から の間に書きます <html > <head > <title > 武のホームページ </title > </head > </html > (4) ページを保存する ここで一度ページを保存してみましょう テキストエ

Microsoft PowerPoint - css-3days 互換モード

1. はじめにこのドキュメントは IBMi 上のデータを HTML のテーブルで表示するためのカスタマイズ方法について説明するものです この手法を用いることで スムーズなスクロールによる照会画面 (HTML のテーブル ) を 5250 画面に挿 することが出来ます ( 下図参照 ) なお このドキ

Webデザイン論

SaCSS 49 LT

フォームとインナー HTML を使って動的にページ内の文章を変更しよう 問題 1. つぎの指示と画面を参考に HTML を組みなさい 仕様 テキストボックスに任意の文字を入力し [ コメント ] ボタンをクリックすると 下部の文章がテキストボックスの内容に置き換わる フォーム名 : f1 テキストボ

Transcription:

1331 Clipping の効果 clip プロパティをアニメーションに利用してみましょう 1 つの画像を 4 分割して別々に動かす サンプル CSS1 1 つの画像を 4 分割して それぞれの画像が違う動きをするアニメーションを作ります 4 分割した左上の画像は透明に近づけます 右上の画像は 3D 変形しながら移動します 左下の画像は回転しながら移動します 右下の画像は拡大しながら移動します ClipAnime1 の説明 HTML の記述 (ClipAnime1.html) 画像 images/dsc00203l.jpg から 4 つの部分を抜き出すので <img> タグで 4 つ指定します 1

<!DOCTYPE html> <html> <head> <title>clipanime1</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="clipanime1.css"> </head> <body> <p> 画像を部分抜き出し (Clip) して動かす (1)</p> <div id="stage"> <div id="image1"> <img src="images/dsc00203l.jpg" alt="green road"> <img src="images/dsc00203l.jpg" alt="green road"> <img src="images/dsc00203l.jpg" alt="green road"> <img src="images/dsc00203l.jpg" alt="green road"> </body> </html> CSS の記述 (ClipAnime1.css) #stage ステージのスタイルを指定します width: 600px; height: 500px; 背景にグレー (#999999) を指定します #stage { width: 600px; height: 500px; background-color: #999999; border: solid 1px #000000; position: relative; 画像の位置の起点を指定します #image1 { top: 80px; left: 30px; 4 つの画像の共通のスタイルを指定します #image1 img { top: 0px; left: 0px; width: 280px; height: 210px; 2

1つ目の画像は clip プロパティで clip: rect(0px, 140px, 105px, 0px); と指定して top 0px right 140px bottom 105px left 0px の範囲の四角形を抜き出します position: absolute; の指定が必要です アニメーション名を clip1anime 実行時間を 4s イージングを linear 開始待ち時間を 0s 繰り返しを infinite 実行方向は alternate で指定します #image1 img:nth-child(1) { clip:rect(0px, 140px, 105px, 0px); animation: clip1anime 4s linear 0s infinite alternate; -webkit-animation: clip1anime 4s linear 0s infinite alternate; 2 つ目の画像は clip プロパティで clip: rect(0px, 280px, 105px, 140px); と指定して top 0px right 280px bottom 105px left 140px の範囲の四角形を抜き出します position: absolute; の指定が必要です 抜き出した画像を変形させるので transform-origin: 210px 52px; と指定 ( 元の画像の左上端からの距離で指定します ) して 変形の起点を抜き出した 四角形の中心にします transform-origin の指定をしなければ 変形の起点は 元の画像 の中心になっています 0px 140px 280px 0px (1つ目の抜き出し画像) (2つ目の抜き出し画像) 105px 大枠は元の画像を表します 1つ目の抜き出し画像は 変形させないので 変形の起点は変えません (140px 105px) 2つ目と3つ目の抜き出し画像 (3つ目の抜き出し画像) (4つ目の抜き出し画像) は変形させるので 変形の (70px 157px) (210px 52px) (140px 105px) 起点をそれぞれの四角形の中心に指定します 4 つ目の抜き出し画像は 拡大しながら斜め下に移動させる 210px ので 変形の起点はそのまま四角形の左上端にします アニメーション名を clip2anime 実行時間を 4s イージングを linear 開始待ち時間を 0s 繰り返しを infinite 実行方向は alternate で指定します #image1 img:nth-child(2) { clip:rect(0px, 280px, 105px, 140px); transform-origin: 210px 52px; -webkit-transform-origin: 210px 52px; animation: clip2anime 4s linear 0s infinite alternate; -webkit-animation: clip2anime 4s linear 0s infinite alternate; 3

3つ目の画像は clip プロパティで clip: rect(105px, 140px, 210px, 0px); と指定して top 105px right 140px bottom 210px left 0px の範囲の四角形を抜き出します position: absolute; の指定が必要です 抜き出した画像を変形させるので transform-origin: 70px 157px; と指定して 変形の起点を抜き出した四角形の中心にします アニメーション名を clip3anime 実行時間を 4s イージングを linear 開始待ち時間を 0s 繰り返しを infinite 実行方向は alternate で指定します #image1 img:nth-child(3) { clip:rect(105px, 140px, 210px, 0px); transform-origin: 70px 157px; -webkit-transform-origin: 70px 157px; animation: clip3anime 4s linear 0s infinite alternate; -webkit-animation: clip3anime 4s linear 0s infinite alternate; 4つ目の画像は clip プロパティで clip: rect(105px, 280px, 210px, 140px); と指定して top 105px right 280px bottom 210px left 140px の範囲の四角形を抜き出します の指定が必要です 抜き出した画像は拡大して右斜め下に移動させるので 分かり易く 変形の起点は変更しません アニメーション名を clip4anime 実行時間を 4s イージングを linear 開始待ち時間を 0s 繰り返しを infinite 実行方向は alternate で指定します #image1 img:nth-child(4) { clip:rect(105px, 280px, 210px, 140px); animation: clip4anime 4s linear 0s infinite alternate; -webkit-animation: clip4anime 4s linear 0s infinite alternate; アニメーション名 clip1anime に対応するタイムライン (@keyframes) を指定します 20% 後 (0.8 秒後 ) から opacity: 1.0; を opacity: 0.3; に変化させ 画像を透明に近づけます @keyframes clip1anime { from { 20% { opacity: 1.0; to { opacity: 0.3; @-webkit-keyframes clip1anime { from { 20% { opacity: 1.0; to { opacity: 0.3; 4

アニメーション名 clip2anime に対応するタイムライン (@keyframes) を指定します 20% 後 (0.8 秒後 ) から transform: translate(0px, 0px) を transform: translate(180px, 0px) に変更し X 方向へ 180px 移動させ skew(0deg, 0deg) を skew(-50deg, -30deg) に変更し X 方向に-50 度 Y 方向に-30 度傾斜させて変形します @keyframes clip2anime { from { 20% { transform: translate(0px, 0px) skew(0deg, 0deg); to { transform: translate(180px, 0px) skew(-50deg, -30deg); @-webkit-keyframes clip2anime { from { 20% { -webkit-transform: translate(0px, 0px) skew(0deg, 0deg); to { -webkit-transform: translate(180px, 0px) skew(-50deg, -30deg); アニメーション名 clip3anime に対応するタイムライン (@keyframes) を指定します 20% 後 (0.8 秒後 ) から transform: translate(0px, 0px) を translate(0px, 160px) に変更し Y 方向へ 160px 移動させ rotatez(0deg) を rotatez(720deg) に変更し 時計回りに 720 度回転 (2 回転 ) させます @keyframes clip3anime { from { 20% { transform: translate(0px, 0px) rotatez(0deg); to { transform: translate(0px, 160px) rotatez(720deg); @-webkit-keyframes clip3anime { from { 20% { -webkit-transform: translate(0px, 0px) rotatez(0deg); to { -webkit-transform: translate(0px, 160px) rotatez(720deg); アニメーション名 clip3anime に対応するタイムライン (@keyframes) を指定します 20% 後 (0.8 秒後 ) から transform: translate(0px, 0px) を translate(0px, 160px) に変更し Y 方向へ 160px 移動させ rotatez(0deg) を rotatez(720deg) に変更し 時計回りに 720 度回転 (2 回転 ) させます @keyframes clip3anime { from { 20% { transform: translate(0px, 0px) rotatez(0deg); to { transform: translate(0px, 160px) rotatez(720deg); 5

@-webkit-keyframes clip3anime { from { 20% { -webkit-transform: translate(0px, 0px) rotatez(0deg); to { -webkit-transform: translate(0px, 160px) rotatez(720deg); アニメーション名 clip4anime に対応するタイムライン (@keyframes) を指定します 20% 後 (0.8 秒後 ) から transform: translate(0px, 0px) を translate(120px, 50px) に変更し X 方向へ 120px Y 方向へ 50px 移動させ scale(1.0, 1.0) を scale(2.0, 2.0) に変更し 縦横 2 倍に拡大させます @keyframes clip4anime { from { 20% { transform: translate(0px, 0px) scale(1.0, 1.0); to { transform: translate(120px, 50px) scale(2.0, 2.0); @-webkit-keyframes clip4anime { from { 20% { -webkit-transform: translate(0px, 0px) scale(1.0, 1.0); to { -webkit-transform: translate(120px, 50px) scale(2.0, 2.0); 画像を抜き出す窓を移動させる サンプル CSS2 画像を抜き出す窓を移動させるアニメーションを作ります 6

ClipAnime2 の説明 HTML の記述 (ClipAnime2.html) id 属性 blackwall の div 要素の中に 画像 images/dsc00027l.jpg を指定します <!DOCTYPE html> <html> <head> <title>clipanime2</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="clipanime2.css"> </head> <body> <p> 画像を抜き出す窓 (Clip) を移動させる (2)</p> <div id="stage"> <div id="blackwall"> <img id="image1" src="images/dsc00027l.jpg" alt="wall paint"> </body> </html> CSS の記述 (ClipAnime2.css) #stage ステージのスタイルを指定します width: 460px; height: 360px; 背景にグレー (#999999) を指定します #stage { width: 460px; height: 360px; background-color: #999999; border: solid 1px #000000; position: relative; 黒い背景の中で画像を抜き出した窓が移動するように見せたいので 黒い四角形を指定し ます #blackwall { top: 30px; left: 30px; width: 400px; height: 300px; background-color: black; 7

#image1 画像を指定します width: 400px; height: 300px; で指定します clip プロパティで clip: rect(0px, 100px, 100px, 0px); と指定して top 0px right 100px bottom 100px left 0px の範囲の四角形を抜き出します の指定が必要です アニメーション名を clipanime 実行時間を 10s イージングを linear 開始待ち時間を 0s 繰り返しを infinite 実行方向は alternate で指定します #image1 { top: 0px; left: 0px; width: 400px; height: 300px; clip:rect(0px, 100px, 100px, 0px); animation: clipanime 10s linear 0s infinite alternate; -webkit-animation: clipanime 10s linear 0s infinite alternate; アニメーション名 clipanime に対応するタイムライン (@keyframes) を指定します 20%(2 秒 ) おきに clip プロパティで抜き出す画面の範囲を変更しています こうすることによっ て 画像を抜き出す窓が移動するように見えます @keyframes clipanime { from { 20% { clip:rect(0px, 400px, 100px, 300px); 40% { clip:rect(200px, 400px, 300px, 300px); 60% { clip:rect(200px, 100px, 300px, 0px); 80% { clip:rect(0px, 400px, 100px, 300px); to { clip:rect(0px, 100px, 100px, 0px); @-webkit-keyframes clipanime { from { 20% { clip:rect(0px, 400px, 100px, 300px); 40% { clip:rect(200px, 400px, 300px, 300px); 60% { clip:rect(200px, 100px, 300px, 0px); 80% { clip:rect(0px, 400px, 100px, 300px); to { clip:rect(0px, 100px, 100px, 0px); 8

画像を抜き出す丸い窓を移動させる サンプル CSS3 CSS2.1 仕様では clip プロパティで画像を抜き出すときの形状は四角形だけです 例えば円形で画像を抜き出したい場合には clip プロパティは使用できません 円形を透明で抜いた黒色画像を上に被せる方法で代用するのがよいでしょう では丸い窓を移動させるアニメーションを作ってみましょう ClipAnime3 の説明 HTML の記述 (ClipAnime3.html) id 属性 wrap の div 要素の中に 画像 images/dsc00092l.jpg と全面黒色の中に円形を透明で抜いた画像 images/clipcircle.png を指定します <!DOCTYPE html> <html> <head> <title>clipanime3</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="clipanime3.css"> </head> <body> <p> 画像を抜き出す丸い窓を移動させる </p> <div id="stage"> <div id="wrap"> <img id="image1" src="images/dsc00092l.jpg" alt="bridge and cherry"> <img id="clipcircle" src="images/clipcircle.png" alt="clip circle"> </body> </html> 9

CSS の記述 (ClipAnime3.css) #stage ステージのスタイルを指定します width: 460px; height: 360px; 背景にグレー (#999999) を指定します #stage { width: 460px; height: 360px; background-color: #999999; border: solid 1px #000000; position: relative; 全面黒色の中に円形を透明に抜いた画像は 抜き出して表示したい画像の縦横 2 倍のサイ ズなので はみ出る部分を表示しないように 見える範囲 width: 400px; height: 300px; と overflow: hidden; の指定をします #wrap { top: 30px; left: 30px; width: 400px; height: 300px; overflow: hidden; #image1 画像を指定します #image1 { top: 0px; left: 0px; width: 400px; height: 300px; 全面黒色の中に円形を透明に抜いた画像を指定します 横幅が 800px 高さが 600px の全面 黒色の中心に直径 100px の円形を透明に抜いているので width: 800px; height: 600px; で指定し top: -250px; left: -350px; で指定すると #image1 画像の左上に円形が位置し ます アニメーション名を clipanime 実行時間を 15s イージングを linear 開始待ち時間を 0s 繰り返しを infinite 実行方向は alternate で指定します #clipcircle { top: -250px; left: -350px; width: 800px; height: 600px; animation: clipanime 15s linear 0s infinite alternate; -webkit-animation: clipanime 15s linear 0s infinite alternate; 10

アニメーション名 clipanime に対応するタイムライン (@keyframes) を指定します 20%(2 秒 ) おきに全面黒色の中に円形を透明に抜いた画像の位置を変更しています こうするこ とによって 画像を抜き出す円形の窓が移動するように見えます @keyframes clipanime { from { 20% { top: -250px; left: -50px; 40% { top: -50px; left: -50px; 60% { top: -50px; left: -350px; 80% { top: -250px; left: -50px; to { top: -250px; left: -350px; @-webkit-keyframes clipanime { from { 20% { top: -250px; left: -50px; 40% { top: -50px; left: -50px; 60% { top: -50px; left: -350px; 80% { top: -250px; left: -50px; to { top: -250px; left: -350px; 11