• 検索結果がありません。

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
9
0
0

読み込み中.... (全文を見る)

全文

(1)

© 2016 電脳 Papa 1

1332 Masking の効果

-webkit-mask-box-image プロパティをアニメーションに利用してみましょう。Masking は

Safari (webkit 系ブラウザ)と Chrome(webkit にも対応)のみで動かすことができます。

2013 年 12 月現在、

W3C で Masking の仕様が Working Draft となっています。

近い将来 webkit

系以外のブラウザでも Masking が使えるようになるでしょう。

サンプルCSSのスクリプトには mask-box-image と-webkit-mask-box-image を指定してあ

りますが、現在のところ機能するのは-webkit-mask-box-image の方だけです。

3つのマスクイメージを使います。1つ目は MASK という文字の下に楕円形のマスクイメー

ジで、その文字と楕円形の中に複数画像のスライドを表示します。2つ目は星形のマスク

イメージで、星形の中に画像を表示して回転しながら斜めに移動させます。3つ目は円形

のグラデーションでマスクイメージを作り、その中に画像を表示して縦横に移動させます。

【MaskAnimation の説明】

〔HTML の記述(MaskAnimation.html)

サンプルCSS

(2)

© 2016 電脳 Papa 2

1つ目は MASK という文字の下に楕円形のマスクイメージで、その文字と楕円形の中に複数

画 像 の ス ラ イ ド を 表 示 す る の で 、 id 属 性 slide の div 要 素 の 中 に 画 像 を 5 つ

(images/DSC00203L.jpg、images/DSC00027L.jpg、images/DSC00092L.jpg、images/DSC000

95L.jpg、images/DSC00131L.jpg)指定します。2つ目は星形のマスクイメージで、星形の

中に画像を表示するので、id 属性 star の div 要素の中に画像 images/DSC00007L.jp を指定

します。3つ目は円形のグラデーションでマスクイメージを作り、その中に画像を表示す

るので、id 属性 spot の img 要素で images/DSC00149L.jp を指定します。

〔CSS の記述(MaskAnimation.css)

#stage ステージのスタイルを指定します。width: 700px; height: 550px;、背景に黒色を

指定します。

#stage { width: 700px; height: 550px; background-color: #000000; border: solid 1px #000000; position: relative; } <!DOCTYPE html> <html> <head> <title>MaskAnimation</title> <meta charset="UTF-8">

<link rel="stylesheet" type="text/css" href="MaskAnimation.css"> </head> <body> <p>■CSS3で画像をマスクし、アニメーションさせる。</p> <div id="stage"> <div id="slide"> <img src="images/DSC00203L.jpg"> <img src="images/DSC00027L.jpg"> <img src="images/DSC00092L.jpg"> <img src="images/DSC00095L.jpg"> <img src="images/DSC00131L.jpg"> </div>

<div id="star"><img src="images/DSC00007L.jpg"></div> <img id="spot" src="images/DSC00149L.jpg">

</div> </body> </html>

(3)

© 2016 電脳 Papa 3

●MASK という文字とその下の楕円形の中に複数画像のスライドを表示する。

(表示する画像) (マスクイメージ画像) (マスク後表示画像)

スライド画像の位置の起点を指定します。position は absolute、位置は top: 20px; left:

20px;(#stage ボックスの左上端を起点とした位置)で指定します。

4つの画像の共通のスタイルを指定します。width: 400px; height: 300px;で指定します。

-webkit-mask-box-image: url(images/mask1.png); で 、 マ ス ク イ メ ー ジ 画 像 と し て

images/mask1.png を指定します。opacity: 0.0;と指定して、

見えないようにしておきます。

1つ目の画像はアニメーション名を slide1Anime、実行時間を 30s、イージングを linear、

開始待ち時間を 0s、繰り返しを infinite、実行方向は normal で指定します。

2つ目の画像はアニメーション名を slide2Anime で指定します。

#slide { top: 20px; left: 20px; position: absolute; } #slide img { top: 0px; left: 0px; width: 400px; height: 300px; position: absolute; mask-box-image: url(images/mask1.png); -webkit-mask-box-image: url(images/mask1.png); opacity: 0.0; } #slide img:nth-child(1) {

animation: slide1Anime 30s linear 0s infinite normal;

-webkit-animation: slide1Anime 30s linear 0s infinite normal; }

(4)

© 2016 電脳 Papa 4

3つ目の画像はアニメーション名を slide3Anime で指定します。

4つ目の画像はアニメーション名を slide4Anime で指定します。

5つ目の画像はアニメーション名を slide5Anime で指定します。

アニメーション名 slide1Anime から slide5Anime に対応するタイムライン(@keyframes)

を指定します。タイムラインを5分割(画像の数)し、slide1Anime は5分割の1番目の時

間で opacity: 1.0;にしてグラデーションが見えるようにします。次に slide2Anime は5分

割の2番目の時間で opacity: 1.0;にしてグラデーションが見えるようにします。同じよう

に slide3Anime から slide5Anime も、5分割の3番目の時間から5番目の時間で opacity:

1.0;にして画像が見えるようにします。

slide1Anime と slide5Anime は他のタイムラインと少し違うところがあります。grad1Anime

は、タイムラインの5番目の時間にも opacity: 1.0;にして、徐々に見えるようにします。

slide5Anime は、タイムラインの5番目の時間を opacity: 0.0;にして、徐々に見えなくな

るようにします。これで画像が徐々に切り替わって永久に繰り返すように見えます。

#slide img:nth-child(2) {

animation: slide2Anime 30s linear 0s infinite normal;

-webkit-animation: slide2Anime 30s linear 0s infinite normal; }

#slide img:nth-child(3) {

animation: slide3Anime 30s linear 0s infinite normal;

-webkit-animation: slide3Anime 30s linear 0s infinite normal; }

#slide img:nth-child(4) {

animation: slide4Anime 30s linear 0s infinite normal;

-webkit-animation: slide4Anime 30s linear 0s infinite normal; }

#slide img:nth-child(5) {

animation: slide5Anime 30s linear 0s infinite normal;

-webkit-animation: slide5Anime 30s linear 0s infinite normal; }

(5)

© 2016 電脳 Papa 5 /* slide1Anime **************************************/ @keyframes slide1Anime { from { opacity: 1.0; } 15% { opacity: 1.0; } 20% { opacity: 0.0; } 95% { opacity: 0.0; } to { opacity: 1.0; } } @-webkit-keyframes slide1Anime { from { opacity: 1.0; } 15% { opacity: 1.0; } 20% { opacity: 0.0; } 95% { opacity: 0.0; } to { opacity: 1.0; } } /* slide2Anime **************************************/ @keyframes slide2Anime { from { opacity: 0.0; } 15% { opacity: 0.0; } 20% { opacity: 1.0; } 35% { opacity: 1.0; } 40% { opacity: 0.0; } to { opacity: 0.0; } } @-webkit-keyframes slide2Anime { from { opacity: 0.0; } 15% { opacity: 0.0; } 20% { opacity: 1.0; } 35% { opacity: 1.0; } 40% { opacity: 0.0; } to { opacity: 0.0; } } /* slide3Anime **************************************/ @keyframes slide3Anime { from { opacity: 0.0; } 35% { opacity: 0.0; } 40% { opacity: 1.0; } 55% { opacity: 1.0; } 60% { opacity: 0.0; } to { opacity: 0.0; } } @-webkit-keyframes slide3Anime { from { opacity: 0.0; } 35% { opacity: 0.0; } 40% { opacity: 1.0; } 55% { opacity: 1.0; } 60% { opacity: 0.0; } to { opacity: 0.0; } } /* slide4Anime **************************************/ @keyframes slide4Anime {

(6)

© 2016 電脳 Papa 6

●星形の中に画像を表示して回転移動させる。

(表示する画像) (マスクイメージ画像) (マスク後表示画像)

画像の位置の起点となる#star ボックスを指定します。#star ボックスは5秒で移動するよ

うにアニメーションを指定します。position は absolute、位置は top: 320px; left: 10px;

(#stage ボックスの左上端を起点とした位置)

、width: 250px; height: 225px;で指定しま

from { opacity: 0.0; } 55% { opacity: 0.0; } 60% { opacity: 1.0; } 75% { opacity: 1.0; } 80% { opacity: 0.0; } to { opacity: 0.0; } } @-webkit-keyframes slide4Anime { from { opacity: 0.0; } 55% { opacity: 0.0; } 60% { opacity: 1.0; } 75% { opacity: 1.0; } 80% { opacity: 0.0; } to { opacity: 0.0; } } /* slide5Anime **************************************/ @keyframes slide5Anime { from { opacity: 0.0; } 75% { opacity: 0.0; } 80% { opacity: 1.0; } 95% { opacity: 1.0; } to { opacity: 0.0; } } @-webkit-keyframes slide5Anime { from { opacity: 0.0; } 75% { opacity: 0.0; } 80% { opacity: 1.0; } 95% { opacity: 1.0; } to { opacity: 0.0; } }

(7)

© 2016 電脳 Papa 7

す。

アニメーション名を star1Anime、実行時間を 5s、イージングを ease-in-out、開始待ち時

間を 0s、繰り返しを infinite、実行方向は alternate で指定します。

アニメーション名 star1Anime に対応するタイムライン(@keyframes)を指定します。top:

320px; left: 10px;から、-webkit-transform: translate(420px, -300px);で、X 方向に

420px、Y 方向に-300px 移動させます。

画像を指定します。width: 250px; height: 225px;で指定します。-webkit-mask-box-image:

url(images/StarMask2.png);で、マスクイメージ画像として images/StarMask2.png を指定

します。

アニメーション名を star2Anime、実行時間を 2s、イージングを linear、開始待ち時間を

0s、繰り返しを infinite、実行方向は normal で指定します。

#star { top: 320px; left: 10px; width: 250px; height: 225px; position: absolute;

animation: star1Anime 5s ease-in-out 0s infinite alternate;

-webkit-animation: star1Anime 5s ease-in-out 0s infinite alternate; } #star img { top: 0px; left: 0px; width: 250px; height: 225px; position: absolute; mask-box-image: url(images/StarMask2.png); -webkit-mask-box-image: url(images/StarMask2.png);

animation: star2Anime 2s linear 0s infinite normal;

-webkit-animation: star2Anime 2s linear 0s infinite normal; } @keyframes star1Anime { from { } to { transform: translate(420px, -300px); } } @-webkit-keyframes star1Anime { from { } to { -webkit-transform: translate(420px, -300px); } }

(8)

© 2016 電脳 Papa 8

アニメーション名 star2Anime に対応するタイムライン(@keyframes)を指定します。

-webkit-transform: rotateY(360deg);で Y 軸の正の方向から見て時計方向に 360 度回転(1

回転)させます。

●円形のグラデーションの中に画像を表示して移動させる。

(表示する画像) (マスクイメージ) (マスク後表示画像)

画像#spot を指定します。top: 330px; left: 450px;(#stage ボックスの左上端を起点と

し た 位 置 )、 width: 250px; height: 225px; で 指 定 し ま す 。 -webkit-mask-image:

-webkit-radial-gradient(50% 50%, farthest-side, rgba(0,0,0,1) 40%, rgba(0,0,0,0)

90%);で、マスクイメージとして、#spot ボックスの中心から半径 40%の黒色の円形で半径

90%まで徐々に黒色が薄くなるグラデーションを指定します。

アニメーション名を spotAnime、実行時間を 20s、イージングを ease-in-out、開始待ち時

間を 0s、繰り返しを infinite、実行方向は normal で指定します。

@keyframes star2Anime { from { } to { transform: rotateY(360deg); } } @-webkit-keyframes star2Anime { from { } to { -webkit-transform: rotateY(360deg); } } #spot { top: 330px; left: 450px; width: 250px; height: 225px; position: absolute;

mask-image: radial-gradient(farthest-side at 50% 50%, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 90%);

-webkit-mask-image: -webkit-radial-gradient(50% 50%, farthest-side,

rgba(0,0,0,1) 40%, rgba(0,0,0,0) 90%);

(9)

© 2016 電脳 Papa 9

アニメーション名 spotAnime に対応するタイムライン(@keyframes)を指定します。top:

330px; left: 450px;から、25%で-webkit-transform: translateX(-450px);で、X 方向に

-450px 移動させ、50%で元の位置に戻し、75%で-webkit-transform: translateY(-330px);

で、Y 方向に-330px 移動させ、100%で元の位置に戻します。

@keyframes spotAnime { from { } 25% { transform: translateX(-450px); } 50% { transform: translateX(0px); } 75% { transform: translateY(-330px); } to { transform: translateY(0px); } } @-webkit-keyframes spotAnime { from { } 25% { -webkit-transform: translateX(-450px); } 50% { -webkit-transform: translateX(0px); } 75% { -webkit-transform: translateY(-330px); } to { -webkit-transform: translateY(0px); } }

animation: spotAnime 20s ease-in-out 0s infinite normal;

-webkit-animation: spotAnime 20s ease-in-out 0s infinite normal; }

参照

関連したドキュメント

名の下に、アプリオリとアポステリオリの対を分析性と綜合性の対に解消しようとする論理実証主義の  

 1)血管周囲外套状細胞集籏:類円形核の単球を

噸狂歌の本質に基く視点としては小それが短歌形式をとる韻文であることが第一であるP三十一文字(原則として音節と対応する)を基本としへ内部が五七・五七七という文字(音節)数を持つ定形詩である。そ

が前スライドの (i)-(iii) を満たすとする.このとき,以下の3つの公理を 満たす整数を に対する degree ( 次数 ) といい, と書く..

回転に対応したアプリを表示中に本機の向きを変えると、 が表 示されます。 をタップすると、縦画面/横画面に切り替わりま

文字を読むことに慣れていない小学校低学年 の学習者にとって,文字情報のみから物語世界

の変化は空間的に滑らかである」という仮定に基づいて おり,任意の画素と隣接する画素のフローの差分が小さ くなるまで推定を何回も繰り返す必要がある

そこで本解説では,X線CT画像から患者別に骨の有限 要素モデルを作成することが可能な,画像処理と力学解析 の統合ソフトウェアである