スクロールに連動したcssアニメーション

https://coco-factory.jp/ugokuweb/jscss/

ここwa

各アニメーションが適応されるクラス名はsample-anime.htmlからコピペ

パッケージとしてd/webコンテンツツール/cssAnimetion/に保存
	<!--cssアニメーション用-->
	<script type="text/javascript" src="../cssAnimetion/sample-anime.js"></script>	
	<link rel="stylesheet" href="../cssAnimetion/sample-anime.css">	
		<div class=" col-lg-6 mb-5">
		<section class="item-section">	
		<div class="itemBox fadeLeftTrigger">
		 <h2 id="anchor-parent" class="col-12 text-center  mb-1 boxTitle">ペアレントトレーニング</h2>	

		<div class="row">
		<div class="col-xl-4 mb-3">
		 <img src="../image/service/item1.jpg" class="img-fluid mx-auto" alt=""/>
		</div>
		<div class="col-xl-8  ">
			説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明説明
		</div>
        </div>	
		</div>
		</section>	
		</div>

bgSwitherにcssアニメーション

テキストアニメーション/text-anime-test/index11.html   
css/common3.css

 

※自社のトップページでも動いているが
keyframesの名前とanimation-nameの名前はトップページ用として別の名前をつけた。

 

CSS

.bg-slider {
width: 99.1vw;

height: 100vh;
background-position:center center;

background-size: cover;
display: flex;
/*align-items:flex-end;*/ 
justify-content: center;
position: relative;
}

 

アニメーションの位置
背景要素をrelativeにして アニメーションの位置はabsoluteにしてtopやleftの%で位置を設定

/****************************************
アニメーション スクロール
/***************************************/

.text01 {
position: absolute;
top: 5%;
left:20%;

animation-name:animation1;
animation-duration:25s;
animation-timing-function: ease-in-out;
animation-delay: 0s;
opacity: 0;
animation-iteration-count: infinite;
animation-direction: normal;
animation-fill-mode: forwards;

}

.text02 {
position: absolute;
top: 5%;
right:20%;

animation-name:animation2;
animation-duration:25s;
animation-timing-function: ease-in-out;
animation-delay: 0s;
opacity: 0;
animation-iteration-count: infinite;
animation-direction: normal;
animation-fill-mode: forwards;

}

.text03 {
position: absolute;
top: 5%;

animation-name:animation3;
animation-duration: 25s;
animation-timing-function: ease-in-out;
animation-delay: 0s;
opacity: 0;
animation-iteration-count: infinite;
animation-direction: normal;
animation-fill-mode: forwards;

}

1枚5秒の背景画像を5枚= 5 x 5 = 25秒
25秒が100%として 5枚で割ると 100÷5=20% が1枚の長さのMAXパーセンテージ
1枚目、3枚目、5枚目にアニメーションをつけるために 20%づつ加算。
opacityで非表示から表示部分をプラスでパーセント別途追加。
各アニメーションは25秒の中で何パーセントで表示され、非表示させるかで調整。
ループさせる。

でも%は実際にタイミングがちょっと違うので見ながら微調整した。

 

@keyframes animation1 {
0% {
opacity: 0;
transform: translate3d(0, 30px, 0);
}

5% {
opacity: 1;
transform: translate3d(0, 0, 0);
}

26% {
opacity: 0;
transform: translate3d(0, 0, 0);
}

100% {
opacity: 0;
transform: translate3d(0, 0, 0);
}
}

@keyframes animation2 {
0% {
opacity: 0;
transform: translate3d(0, 0px, 0);
}

41% {
opacity: 0;
transform: translate3d(0, 30px, 0);
}

45% {
opacity: 1;
transform: translate3d(0, 0, 0);
}

66% {
opacity: 0;
transform: translate3d(0, 0px, 0);
}

100% {
opacity: 0;
transform: translate3d(0, 0, 0);
}
}

@keyframes animation3 {
0% {
opacity: 0;
transform: translate3d(0, 0px, 0);
}

81% {
opacity: 0;
transform: translate3d(0, 30px, 0);
}

85% {
opacity: 1;
transform: translate3d(0, 0, 0);
}

101% {
opacity: 0;
transform: translate3d(0, 0px, 0);
}

102% {
opacity: 0;
transform: translate3d(0, 0, 0);
}
}

 

スマホなどの調整として

/*****TOP スマホ縦****/

@media (max-width: 479px){

.bg-slider {
width: 100%;
height: 60vh;
background-position:center center;
background-size: cover;
display: flex;
/*align-items: flex-end; */
justify-content: space-evenly;
}

 

.text01 img{
height: 150px;
width: auto;
}

.text02 img{
height: 150px;
width: auto;
}

.text03 img{
height: 150px;
width: auto;
}

}

 

 

html

 

<script src=”js/jquery-1.11.3.min.js”></script>

<script src=”js/jquery.bgswitcher.js”></script>

<script>
jQuery(function($) {
$(‘.bg-slider’).bgSwitcher({
images: [‘image/top/main1.jpg’,’image/top/main2.jpg’,’image/top/main4.jpg’,’image/top/main5.jpg’,’image/top/main6.jpg’], // 切り替える背景画像を指定
interval: 5000, // 背景画像を切り替える間隔を指定 3000=3秒
loop: true, // 切り替えを繰り返すか指定 true=繰り返す false=繰り返さない
shuffle: false, // 背景画像の順番をシャッフルするか指定 true=する false=しない
effect: “fade”, // エフェクトの種類をfade,blind,clip,slide,drop,hideから指定
duration: 500, // エフェクトの時間を指定します。
easing: “swing” // エフェクトのイージングをlinear,swingから指定
});
});
</script>

 

<div class=”container-fluid px-0 bg-slider ” >

<div class=”text01“><img src=”image/item5.png” class=”img-fluid” alt=””/></div>

<div class=”text02“><img src=”image/item6.png” class=”img-fluid” alt=””/></div>

<div class=”text03“><img src=”image/item7.png” class=”img-fluid” alt=””/></div>

 

</div>

css3 アニメーション

https://qiita.com/7968/items/1d999354e00db53bcbd8

↑このサイトが分かり易い

【CSS】animation・keyframesを徹底解説

↑これもわかりやすい
animation-delayが効かないときは

※つまり、非表示にならず消えないない状態のとき

https://teratail.com/questions/208980

opacity: 0を追加する

.test02 {
animation-name:animation2;
animation-duration: 10s;
animation-timing-function: ease-in-out;
animation-delay: 5s;
opacity: 0;

}

 


https://www.webdesignleaves.com/pr/css/css_basic_07.html

animationの設定方法 の箇所から参照

 

animation の設定方法

animation プロパティでは、キーフレームを利用したアニメーションを設定することができます。言い換えると animation プロパティを使用してアニメーションを行うには、キーフレームを作成する必要があります。

キーフレーム @keyframes

キーフレーム
始点と終点の間に複数のアニメーションの変化の設定を記述するもので、
@keyframes キーフレーム名 {…} という形で記述します。
  • @keyframes の中には始点と終点を含むキーフレームの設定を記述します
  • 始点の設定は 0% {…} または from {…}に、終点の設定は 100% {…} または to {…} に記述します
  • 必要に応じて 1 ~ 99% のキーフレームを追加します
  1. @keyframes キーフレーム名 {
  2. 0% { 始点のキーフレーム:アニメーションさせたいプロパティの初期状態 }
  3. 100% { 終点のキーフレーム:アニメーションさせたいプロパティ最終状態 }
  4. }

または、

  1. @keyframes キーフレーム名 {
  2. from { 始点のキーフレーム:アニメーションさせたいプロパティの初期状態 }
  3. to { 終点のキーフレーム:アニメーションさせたいプロパティ最終状態 }
  4. }

50% のキーフレームを追加した例

  1. @keyframes my_anime {
  2. 0% {
  3. background-color: #f00;
  4. }
  5. 50% {
  6. background-color: #0f0;
  7. }
  8. 100% {
  9. background-color: #00f;
  10. }
  11. }

以下は、クラスが「animation_test」の要素の背景色を3秒間で水色、ピンク、オレンジに変化させるアニメーションの例です。

  1. <p class=“animation_test”>The First Animation Sample.</p>

アニメーションの対象の要素(この例ではクラスが animation_test の要素)に animation プロパティを指定します。

この例では必須のキーフレーム名(my_anime01)と再生時間(デフォルトは 0s)を 3s に指定しています。

  1. .animation_test {
  2. width: 300px;
  3. padding: 10px 20px;
  4. text-align: center;
  5. font-weight: bold;
  6. animation: my_anime01 3s;
  7. }
  8.  
  9. @keyframes my_anime01 {
  10. 0% {
  11. background-color: skyblue;
  12. }
  13. 50% {
  14. background-color: pink;
  15. }
  16. 100% {
  17. background-color: orange;
  18. }
  19. }

The First Animation Sample.

これでページを読み込むと同時にアニメーションの再生が始まり、キーフレームで指定したように背景色が変化します。但し、この例の場合は位置がページの中ほどなので、おそらくこの位置に来るまでにアニメーションは終了しているので、アニメーションを表示させるにはページを再読み込みさせます。

アニメーション開始のタイミングは :hover などの擬似要素を利用したり、JavaScript (jQuery) を利用することができます。

animation のプロパティ

animation プロパティでアニメーションを定義する場合、以下の項目を指定することができます。

これらの項目は transition プロパティ同様、 animation プロパティでまとめて(ショートハンド)定義することも、個別に設定することも可能です。

まとめて指定する場合(ショートハンド)

指定する各項目を半角スペース区切りで指定します。

animation: キーフレーム名 アニメーションにかかる時間 イージング 遅延時間 繰り返し回数 再生方向;

  1. animation:sample_anime 0.3s ease-in-out 3s infinite alternate both;

個別に指定する場合

各項目の値を指定します。以下は指定例です。

  1. animation-name: sample_anime;
  2. animation-duration: 0.3s;
  3. animation-timing-function: ease-in-out;
  4. animation-delay: 3s;
  5. animation-iteration-count:infinite;
  6. animation-direction: alternate;
  7. animation-fill-mode: both;
animation プロパティ
指定する項目 意味と使用例 デフォルト値
animation-name アニメーション名(キーフレーム名)
アニメーションのキーフレームを示す @keyframes の名前を指定
animation-name: sample_anime;
なし
*必須
animation-duration 1 回のアニメーションサイクルを行う時間の長さ
この値は、秒 (単位 “s” で指定) またはミリ秒 (単位 “ms” で指定) で指定することができる。単位を指定しない場合は、秒で指定したものとみなされます。
注: 負の値は 0 として扱われます。
animation-duration: 120ms;
0s
animation-timing-function アニメーションの速度変化(イージング : タイミング関数)
キーフレームのブロック内で定義されたアニメーションタイミング関数は、そのキーフレームに対して適用されます。一方、キーフレームでタイミング関数が指定されていない場合は、アニメーション全体に対して指定されたタイミング関数が使用されます。(transition/transition-timing-function で指定する値参照  
animation-timing-function: ease-in-out;
animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
ease
animation-delay アニメーションを開始するまでの時間(遅延時間)
要素が読み込まれてからアニメーションを始めるまでの遅延時間
遅延時間に負の値を指定すると、アニメーションは直ちに開始されますが、アニメーションが途中から始まるように見えます。例えば、遅延時間に -1s を指定するとアニメーションは直ちに始まりますが、それは 1 秒経過した時点からになります。
この値は、秒 (単位 s で指定) またはミリ秒 (単位 ms で指定) で指定することができます。単位を指定しない場合は、宣言が無効になります。
animation-delay: 3s;
0s
animation-iteration-count アニメーションの繰り返し回数
無期限に繰り返すことを示す infinite を指定することもできます。
負の値は 0 として扱われます。また、アニメーションの周期の一部を実行するために、整数以外の値を指定することも可能です。例えば 0.5 を指定すると、アニメーションの周期の半分を実行します。
animation-iteration-count: 2.5
1
animation-direction アニメーションの繰り返し方法(再生方向)
アニメーションするたびに、逆方向のアニメーションを行ってからアニメーションを繰り返すか、始めの状態にリセットしてアニメーションを繰り返すかを設定します。
normal
順方向のアニメーションのみを毎回実行。アニメーションのサイクルごとに、初期状態にリセットされてからアニメーションが再び始まります。
alternate
繰り返しの際、偶数回は逆方向に再生。逆方向のアニメーションを行うときは、初期状態に戻るようなアニメーションになります。また、timing-functions の値も逆になります。例えば ease-in のアニメーションは、逆方向のアニメーションでは ease-out のアニメーションに置き換えられます。
reverse
アニメーションを毎回逆方向に実行。アニメーションのサイクルごとに、最終状態にリセットされてからからアニメーションが再び始まります。
alternate-reverse
alternateとは逆になります。奇数回を逆方向、偶数回を正方向に再生します。
animation-direction: alternate;
normal
animation-fill-mode アニメーションの実行前後に、指定したスタイルを適用するかを設定します。
none
要素の元のスタイルのまま(アニメーションで指定されたスタイルは、アニメーションの実行前や実行後には適用されない)
forwards
再生後、要素のスタイルは最後のキーフレームの状態のままになります。
backwards
再生前、要素のスタイルは最初のキーフレームの状態になります。
both
再生前、要素のスタイルは最初のキーフレームの状態になり、再生後、要素のスタイルは最後のキーフレームの状態のままになります。
animation-fill-mode: both;
none
animation-play-state アニメーションが実行中か、一時停止されているかを判定します。このプロパティの値を取得することで、アニメーションが実行中か否かを調べることができるます。また、このプロパティの値を設定することで、アニメーションを一時停止させたり、再開させたりすることができます。
一時停止されたアニメーションを再開すると、アニメーションは最初から始まるのではなく、一時停止された時点から始まります。
running
アニメーションは実行中。
paused
アニメーションは一時停止している。
animation-play-state: paused;
running

参考サイト

スクロール ふわっと   テキスト 画像 css3

これOK!

 

コピペ可能なサンプルサイト

https://gatch.site/css-fadein-animation/

スクロール時に対応しているソースがページ下の方にある。

※padやスマホの挙動は実機じゃないとスクロールの動きが確認出来ないことがある。ブラウザの簡易デバイスの画角にしたら動かないことがあるのでサーバーでは動くので大丈夫。

work/テキストアニメーション/text-anime-tsest/index9.htmlに稼働確認

 

自社ページでも稼働中

new-chance/profile/

 

https://gatch.site/css-fadein-animation/

フェードインサンプル ⑤ スクロール の箇所参照!

最後は、スクロール時にフェードインするサンプルです。

スクロールに関しては、残念ながら css のみではできないので、javascript を使用します。ごめんなさい m(_ _)m

jQuery などのプラグインの使用せずに使えるコードですのでご安心を。

下記がデモになります。画面をスクロールすると表示され、上に戻ると非表示になります。

スクロールフェードインアニメーション
<div class="css-fade5">
  スクロールフェードインアニメーション
</div>

<style>
  .css-fade5--in {
    // アニメーション設定
    animation-name: fade-in5;
    animation-duration: 1s; //アニメーション時間
    animation-timing-function: ease-out; //アニメーションさせるイージング
    animation-delay: 0; //アニメーション開始させる時間
    animation-iteration-count: 1; //繰り返し回数
    animation-direction: normal; //往復処理をするかどうか
    animation-fill-mode: forwards; //アニメーション後のスタイルをどうするか
  }
  // アニメーション
  @keyframes fade-in5 {
    0% {
      opacity: 0;
      transform: translate3d(0, 30px, 0);
    }
    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }
</style>
<script>
  document.addEventListener('DOMContentLoaded', function() {
    $(window).on({
      scroll: function(e) {
        var startY = document.querySelector('.css-fade5').getBoundingClientRect().top, //表示させたい対象
          windowHeight = window.innerHeight, // ブラウザの高さ
          offset = (windowHeight / 3) * 2 //オフセット 画面の2/3
        // 表示
        if (startY < offset) {
          document.querySelector('.css-fade5').classList.add('css-fade5--in')
          // ブラウザの外になったら消す
        } else if (startY > windowHeight) {
          document.querySelector('.css-fade5').classList.remove('css-fade5--in')
        }
      },
    })
  })
</script>

 

 

 

CSSに関しての基本的解説は↓

 

アニメーションを定義する

animation-name」でアニメーション名を定義しますが、好きな英数字でオッケーです。今回は「fadein」にしています。

「@keyframes fadein」のように定義したアニメーション名を使用します。

animation-duration」はアニメーションの長さを指定するプロパティで、今回は「2s」 なので「2秒」ということですね。

1sだとFirefoxでカクつきが目立ったりするので2sとしています。

@keyframesでアニメーションを制御

@keyframes」はアニメーションの流れを制御するための記述です。「from」が開始、「to」が終了ですが、必要に応じて30%、70%など途中にもルールを増やすことができます。

Cocoonを使用している方は注意!

「from〜to」は「0%〜100%」と数字で指定することも可能ですが、Cocoonの「高速化設定」でCSSを縮小していると「0%」で指定した時にアニメーションが動かない不具合があります。

これはCocoonでHTML、CSS、JavaScriptの縮小に使用している「PHP Function to Minify HTML, CSS and JavaScript」というライブラリが原因のようです。

いずれは不具合が改善されるかもしれませんが、とりあえず「0%」ではなく「from」を使っておけば問題ありません。

opacity」が透明度を指定するプロパティで、今回だと開始時に0.0(透明)、終了時に1.0(不透明)でフェードイン効果を表現しています。

他にも例えば「from { color:#000; }(黒)」、「to { color:#fff; }(白)」と指定すれば、黒から白へ色が変化するアニメーションが追加されます。

transformで変形を制御

transform」は要素を変形させるプロパティです。移動(translate)、縮尺(scale)、回転(rotate)、傾斜(skew)、奥行き(perspective)、自由変形(matrix)など色々ありますが、今回は「移動(translate)」を使用しています。

translateY」がY軸(縦方向)、「translateX」にするとX軸(横方向)の動きを指定できます。

今回だと開始時が「translateY(20px)」で下方向に20pxの位置、終了時が「translateY(0)」で元の位置に戻る指定ですね。

これを「translateY(-20px)」と負の値にすると、上方向に20px動くことになります。

ベンダープレフィックスはいらないよ

最近はブラウザのことを気にせずにCSSのアニメーションを気軽に使えるようになりました。「animation」プロパティは -webkit-、 -moz- などのベンダープレフィックスも必要なくなっています。

iOS 8.0以下と、Android 4以下に対応させる場合は -webkit-のベンダープレフィックスが必要ですが、2018年7月現在でiOS 8.0のシェアは0.5%、Android 4以下も10%未満なので無視して良いと思います。

 

 

work/テキストアニメーション/text-anime-tsest/index9.htmlに稼働確認

 

自社サイトでも動いている

スマホもOK

(簡易確認のQRコードをスマホでテスト確認の場合は動かないが、サーバー側では大丈夫)

 

 

CSS

 

<style>

.css-fade5 {}

 

.css-fade5–in {
-webkit-animation-name: fade-in5;
animation-name: fade-in5;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-animation-delay: 0;
animation-delay: 0;
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
-webkit-animation-direction: normal;
animation-direction: normal;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}

@-webkit-keyframes fade-in5 {
0% {
opacity: 0;
-webkit-transform: translate3d(0, 30px, 0);
}
100% {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
}
}

@keyframes fade-in5 {
0% {
opacity: 0;
transform: translate3d(0, 30px, 0);
}
100% {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}

</style>

 

html

<script>
document.addEventListener(‘DOMContentLoaded’, function() {
$(window).on({
scroll: function(e) {
var startY = document.querySelector(‘.css-fade5‘).getBoundingClientRect().top, //表示させたい対象
windowHeight = window.innerHeight, // ブラウザの高さ
offset = (windowHeight / 3) * 3 //オフセット 画面の3/3
// 表示
if (startY < offset) {
document.querySelector(‘.css-fade5‘).classList.add(‘css-fade5–in‘)
// ブラウザの外になったら消す
} else if (startY > windowHeight) {
document.querySelector(‘.css-fade5‘).classList.remove(‘css-fade5–in‘)
}
},
})
})
</script>

<div class=”row mb-md-5 mb-3 justify-content-center”>

<div class=”col-md-6 mt-4 text-center css-fade5“>
<img src=”../image/profile/item2.gif” class=”img-fluid mx-auto d-block” alt=”history”/>
<p>会社沿革</p>
</div>

</div>

 

 

 

もし外部jsにして読み込むらなら

 

$(function() {

$(window).on({
scroll: function(e) {
var startY = document.querySelector(‘.animation001’).getBoundingClientRect().top, //表示させたい対象
windowHeight = window.innerHeight, // ブラウザの高さ
offset = (windowHeight / 3) * 3 //オフセット 画面の2/3
// 表示
if (startY < offset) {
document.querySelector(‘.animation001’).classList.add(‘animation-feadin1’)
// ブラウザの外になったら消す
} else if (startY > windowHeight) {
document.querySelector(‘.animation001’).classList.remove(‘animation-feadin1’)
}
},
})

$(window).on({
scroll: function(e) {
var startY = document.querySelector(‘.animation002’).getBoundingClientRect().top, //表示させたい対象
windowHeight = window.innerHeight, // ブラウザの高さ
offset = (windowHeight / 3) * 3 //オフセット 画面の2/3
// 表示
if (startY < offset) {
document.querySelector(‘.animation002’).classList.add(‘animation-feadin1’)
// ブラウザの外になったら消す
} else if (startY > windowHeight) {
document.querySelector(‘.animation002’).classList.remove(‘animation-feadin1’)
}
},
})

$(window).on({
scroll: function(e) {
var startY = document.querySelector(‘.animation003’).getBoundingClientRect().top, //表示させたい対象
windowHeight = window.innerHeight, // ブラウザの高さ
offset = (windowHeight / 3) * 3 //オフセット 画面の2/3
// 表示
if (startY < offset) {
document.querySelector(‘.animation003’).classList.add(‘animation-feadin1’)
// ブラウザの外になったら消す
} else if (startY > windowHeight) {
document.querySelector(‘.animation003’).classList.remove(‘animation-feadin1’)
}
},
})

});

 

 

 


ここから下の情報は不確定ややってもならなかったり、一部できたりなのであまり参考にはならないので注意

 

専務からの情報

 

「スクロールするとふわっとなる」

で検索すると、こんなのがありますが、

 

https://theorthodoxworks.com/web-design/scrollanimation/ 

テキストアニメーションテスト/index8.html

 

css3のアニメーションを使うとできる。

css3アニメーション ふわっとで下記見つかった。↑の意味についてわかる

https://web-ashibi.net/archives/1952

 

 

これだとPCはなるがスマホがならない!!↓

index8.html一連を参考サイトと照らしてまとめてみる

 

cssのソース

<style>

#animation {
margin: 50px 0;
font-size: 40px;
font-weight: bold;
color: #ff0000;
}

.fadeInDown {
-webkit-animation-fill-mode:both;
-ms-animation-fill-mode:both;
animation-fill-mode:both;
-webkit-animation-duration:1s;
-ms-animation-duration:1s;
animation-duration:1s;
-webkit-animation-name: fadeInDown;
animation-name: fadeInDown;
visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
0% { opacity: 0; -webkit-transform: translateY(-20px); }
100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

</style>

 

 

html

※このスクリプトはスクロールアニメーション対応したやつ

<script>
$(function() {

$(‘#animation‘).css(‘visibility’,’hidden’);
$(window).scroll(function(){
var windowHeight = $(window).height(),
topWindow = $(window).scrollTop();
$(‘#animation‘).each(function(){
var targetPosition = $(this).offset().top;
if(topWindow > targetPosition – windowHeight + 100){
$(this).addClass(“fadeInDown“);
}
});
});

});
</script>

 

<div>
<p id=”animation”>ここの文字が現れる</p>
</div>

 

 


 


 

 

 

https://web-loid.net/web/scroll-effect-js/

 

https://beginners-high.com/scroll-display/ 

 

https://qiita.com/dee909/items/99bf69ddd06fe087f045