手書き風 svg Vivus Instant利用

 

手書き風 svg マスク

https://coco-factory.jp/ugokuweb/move01/4-1-6/

Vivus.js

https://www.evoworx.co.jp/blog/animating-svg-with-vivus-js/

Vivus Instant」の使い方

 

実際fullのロゴをやってみた

<div class="svg_logo_white animate__animated animate__fadeIn" style="animation-delay:1.3s">
<img src="<?php echo get_stylesheet_directory_uri(); ?>/img/top_svg/svg_logo_white.svg" width=""  class=" " alt="キーワード|<?php echo $alt1; ?> ">

</div>

<div class="svg_logo_anime"><?php //動くsvg インラインsvg
                include(get_stylesheet_directory() . "/img/top_svg/include_svg_full_logo.php"); ?></div>

<div class="svg_logo_color  animate__animated animate__fadeIn" style="animation-delay:1.3s">

<img src="<?php echo get_stylesheet_directory_uri(); ?>/img/top_svg/svg_logo_color.svg" width=""  class=" " alt="キーワード|<?php echo $alt1; ?> ">

</div>

3つ用意して、ふわっと最後完成させる

///////svg rogo

/////inview  アニメーション
.inview{display: none;}
.inview.on{display: block;
}

.svg_logo_wrap{
    position: relative;
    margin-inline: auto;
    width: 100%;
    height: 56px;
    .transition;


   //padding-top: 200px;

   @media screen and (max-width: 736px){
    //padding-top: 100px;
    height: 33px;
}//@media screen 736px

 
   @top_svg_logo_size:500px;
   @top_svg_logo_size_mob:260px;

   .svg_logo_color img,
   .svg_logo_white img,
   .svg_logo_anime svg{
       width:@top_svg_logo_size;

       @media screen and (max-width: 736px){
        margin-left: -20px;

       }//@media screen 736px

       .transition;
       
   }

    .svg_logo_color{
        position: absolute;

        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        
        //margin-top: -2.5px; margin-left: -2.5px;

        img{
            //width: @top_svg_logo_size;
            @media screen and (max-width: 736px){
                width: @top_svg_logo_size_mob;
            }//@media screen 736px
        }

    }

    .svg_logo_anime{position: absolute;

        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);

    line-height: 0;

        svg{
            //width: @top_svg_logo_size;

            @media screen and (max-width: 736px){
                width: @top_svg_logo_size_mob;
            }//@media screen 736px
            
        }
        
    }

    .svg_logo_white{
        position: absolute;

       
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        
        img{
            //width: @top_svg_logo_size;

            @media screen and (max-width: 736px){
                width: @top_svg_logo_size_mob;
            }//@media screen 736px
        }

    }


}
                         //なんでも使えるように .inview が画面に入ったら onがつく  .inview.on
$('.inview').delay(300).queue(function(){
  //$('.inview').each(function(){
    var elemPos = $(this).offset().top;
    var scroll = $(window).scrollTop();
    var windowHeight = $(window).height();
       
if (navigator.userAgent.indexOf('iPhone') > 0 || navigator.userAgent.indexOf('Android') > 0 && navigator.userAgent.indexOf('Mobile') > 0) {
        if (scroll > elemPos - windowHeight + 30){
     $(this).addClass('on');
    }
        // スマートフォン向けの記述
} else if (navigator.userAgent.indexOf('iPad') > 100 || navigator.userAgent.indexOf('Android') > 0) {
        // タブレット向けの記述
        if (scroll > elemPos - windowHeight + 200){
     $(this).addClass('on');
    }
} else {
        // PC向けの記述
        if (scroll > elemPos - windowHeight + 200){
     $(this).addClass('on');
    }
}


   } );
window.addEventListener('load', function(){
  scroll_effect();

内に追加

Vivus Instantで作成したアニメーションSVGは、

それを囲ったdiv ,svgにstyle=”animation-delay:1.3s”を書いても反映されないため、それ自体の発動を遅らせるには、

inview を使って、onさせて、onを遅らせることで実行できた。

そのまま表示させると、アニメーションの発動が早くて、見せ場がみにくかった

アニメーション探り中のまとめ

margin-inline: auto;

https://zenn.dev/tonkotsuboy_com/articles/margin-inline_auto

 

width: fit-content

見出しに使えるfit-contentを解説してみる

transition: 1.5s cubic-bezier(0.15, 1.13, 0.25, 1);

 cubic-bezier

説明

https://qiita.com/96usa_koi/items/6f313f1d664806a77313

目安便利

https://easings.net/#

ジェネレーター

https://cubic-bezier.com/#.13,.68,.86,.32

 

border-radius: 100vh;
border-radius: 9999px;

https://jajaaan.co.jp/web-production/frontend/border-radius/

デザイン参考 web

https://jajaaan.co.jp/service/web/ 斜めデザイン

https://casitaflor.com/recruit/ 1.ブラシ 動く 2.ホバー白黒 3.英語が右から左

 

https://dynamo-inc.jp/ TOPのみかっこいい 動画、スクロール背景

 

昭和

https://showa-ds.co.jp/ 1.svg 文字 色がつく 書いてるよう  2.スクロールで現れる人 2重で現れるアニメーションで 動画のよう

 

タイトル と同じカラーでビヨン

https://shimizu-jidousya.com/

こんなコラムで結構 順位入ってる  小牧 春日井 守山 板金

https://shimizu-jidousya.com/column/

 

手書き風 svg マスク

https://coco-factory.jp/ugokuweb/move01/4-1-6/

Vivus.js

https://www.evoworx.co.jp/blog/animating-svg-with-vivus-js/

 

Vivus Instant」の使い方

 

 

 

アニメーションメモ

<div class="flex2box effect-fade  inview left_mask_in">

inview left_mask_in

をつける

inviewは画面に入ったら .onがつく すると表示される 透明度でopti

left_mask_inはアニメーション用のクラスで、今回の場合はボックス用のhiddenであり親

親にアフターでボックスを背景と同じ色につけて

左から右に動かすアニメーション

http://www.d-marking.com/%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%83%AB%E3%83%BC%E3%83%97%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84/

//スクロールで見えたら.onがつく
.inview {
    //transition-delay: .4s;
        transition: all 1.5s;
        position: relative;
        opacity: 0;
    }
    .inview.on {
        opacity: 1;
    }


//左から背景ベタがイン
.left_mask_in{ 
    overflow: hidden;
    position: relative;
//設定ベタ
&.inview::after{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    //background-color: #000;
    background-color:#e7f4ff;
    transform: translateX(0%);
    transition: transform ease 1s;
}
//見えたら
&.inview.on::after{
    transform: translateX(100%);
}

}
//なんでも使えるように .inview が画面に入ったら onがつく  .inview.on
   $('.inview').each(function(){
    var elemPos = $(this).offset().top;
    var scroll = $(window).scrollTop();
    var windowHeight = $(window).height();
       
if (navigator.userAgent.indexOf('iPhone') > 0 || navigator.userAgent.indexOf('Android') > 0 && navigator.userAgent.indexOf('Mobile') > 0) {
        if (scroll > elemPos - windowHeight + 30){
     $(this).addClass('effect-scroll');
    }
        // スマートフォン向けの記述
} else if (navigator.userAgent.indexOf('iPad') > 100 || navigator.userAgent.indexOf('Android') > 0) {
        // タブレット向けの記述
        if (scroll > elemPos - windowHeight + 200){
     $(this).addClass('effect-scroll');
    }
} else {
        // PC向けの記述
        if (scroll > elemPos - windowHeight + 200){
     $(this).addClass('on');
    }
}


   } );

//

フッターの

    window.onload = function() {
  scroll_effect();

  $(window).scroll(function(){
   scroll_effect();
  });

  function scroll_effect(){

ここに追記

  }
};
    </script>