>  기사  >  웹 프론트엔드  >  물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS

물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS

青灯夜游
青灯夜游앞으로
2022-04-18 11:07:074156검색

이 기사에서는 CSS를 사용하여 물 잔물결의 배터리 충전 애니메이션 특수 효과를 구현하는 방법을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS

우리는 프론트 엔드를 구성하는 세 가지 주요 언어가 html, cssjs라는 것을 알고 있습니다. > 그 중 가장 미스터리한 것이 css인데, 왜 그런 말을 하시나요? 애니메이션, 트랜지션 등의 속성이 등장하니 생각하지 못하는 한 못할 일이 없다고 할 수 있겠네요~htmlcssjs,其中最为神秘的便是css,为什么这么说呢?自从动画、过度等属性的出现,可以说只有你想不到,就没有做不到~

上一篇文章介绍了一种手机充电动画效果,今天就延续一下,这个相比于上篇的就有点简单了,不过为了女朋友,特意就写一下吧~

特效:电池充电特效,整体特效可在最上方看到

前置知识:

要想完成这个特效,就必须要知道一些前置的属性,简单介绍一下吧:

animationtransformfilter 这三个就不多做介绍了,基本上所有的动画都会用到这两个属性。【推荐学习:css视频教程

box-shadow

box-shadow:阴影

用法:box-shadow: h-shadow v-shadow blur spread color inset;

  • h-shadow:必填的,水平阴影的位置,允许负值
  • v-shadow:必需的。垂直阴影的位置。允许负值
  • blur:模糊距离
  • spread:阴影的大小
  • color:阴影的颜色
  • inset:从外层的阴影(开始时)改变阴影内侧阴影

border-radius

border-radius:设置圆角

可设置四个值,与 marginpadding 的使用方法一样

也就是每个半径的四个值的顺序是:左上角右上角右下角左下角

  • 如果省略左下角,右上角是相同的。
  • 如果省略右下角,左上角是相同的。
  • 如果省略右上角,左上角是相同的。

linear-gradient()

linear-gradient():渐变,用于创建一个表示两种或多种颜色线性渐变的图片。

用法:background-image: linear-gradient(direction, color-stop1, color-stop2, ...);

  • direction: 用角度值指定渐变的方向(或角度),制定方向
  • color...: 依次有什么颜色变为什么颜色

容器

我们设置两个 div ,一个座位底部的容器,上面弄个小盖子,主要通过border-radius设置下周边的圆角,并且加入box-shadow加入阴影,增强立体感

물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS

充电效果

这里可以使用定位布局,通过top来控制水的位置,top的值越大水越低,top的值越小水越高

我们把水位设置为80%,同时通过linear-gradient() 来设置水的一个渐变色:

물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS

那么动画就很简单了,只需要控制 top值就会造成水的上升,像这样

물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS

这时需要注意的点是:

  • 最上方我们的容器设置了圆角,所以在动画到100%的时候,要和容器的圆角一样
  • 水位在移动,为了增强立体感,可设置阴影,可以以有个递进的效果,所以颜色最好稍微变深一点,并且颜色最好偏近
  • 变色还是通过:filter: hue-rotate();这个属性控制
    .content{ //容器
        border-radius: 15px 15px 5px 5px;
        &::after{
            position: absolute;
            top: 80%;
            background: linear-gradient(to bottom, #7abcff 0%, #00BCD4 44%, #2196F3 100%);
            border-radius: 0px 0px 5px 5px;
            box-shadow: 0 14px 28px rgba(33, 150, 243, 0), 0 10px 10px rgba(9, 188, 215, 0.08);
            animation: change 10s linear infinite;
            filter: hue-rotate(90deg);
        }
    }
    @keyframes change {
          30% {
            box-shadow: 0 14px 28px rgba(0, 150, 136, 0.83), 0px 4px 10px rgba(8, 117, 134, 0.4);
          }
          50%{
            filter: hue-rotate(60deg);
          }
          80% {
            top: 20%;
            border-radius: 0 0 5px 5px;
            box-shadow: 0 14px 28px rgba(6, 136, 153, 0.2), 0 10px 10px rgba(12, 10, 112, 0.08);
          }
          100% {
              top: 0%;
              filter: hue-rotate(0deg);
              border-radius: 15px 15px 5px 5px;
              box-shadow: 0 14px 28px rgba(7, 93, 104, 0), 0 10px 10px rgba(31, 3, 68, 0.4);
          }
        }

물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS

水波纹特效

这个特效相信大家都见过,其思想就是在上面的大概位置上设置背景颜色,用相同的底色覆盖,

然后用到translate这个属性,通过转化xy

오늘은 지난 글에서 휴대폰 충전 애니메이션 효과를 소개해 드렸는데요. 전편에 비하면 좀 나아지네요 간단하지만 여자친구를 위해 적어봤습니다~🎜🎜특수효과 : 배터리 충전효과, 전체적인 특수효과 상단에서 볼 수 있습니다🎜

전제 지식:

🎜 이 특수 효과를 완료하려면 몇 가지 전제 조건 속성을 알아야 합니다. . 간단하게 소개하겠습니다. 🎜🎜animation, transformfilter는 자세히 소개되지 않습니다. 기본적으로 모든 애니메이션은 이 두 가지 속성을 사용합니다. [추천 학습: 🎜css 동영상 튜토리얼🎜]🎜

box-shadow

🎜box-shadow: Shadow 🎜🎜사용법: box-shadow: h-shadow v-shadow 흐림 확산 색상 삽입 🎜
  • h-shadow: 필수, 수평 그림자 위치, 음수 값 허용
  • v-shadow: 필수입니다. 수직 그림자의 위치입니다. 음수 허용
  • 흐림: 흐림 거리
  • 확산: 그림자 크기
  • color: 그림자의 색상
  • 삽입: 그림자의 내부 그림자를 외부 그림자에서 변경합니다(시작 부분)
  • border-radius

    🎜border-radius: 둥근 모서리 설정 🎜🎜 네 가지 값 설정 가능 , 마진과 마찬가지로 패딩도 같은 방식으로 사용됩니다🎜🎜즉, 각 반경의 4개 값 ​​​​순서는 다음과 같습니다. 왼쪽 모서리, 오른쪽 상단 모서리, 오른쪽 하단 모서리, 왼쪽 하단 모서리. 🎜
    • 왼쪽 아래 모서리를 생략하면 오른쪽 위 모서리도 동일합니다.
    • 오른쪽 하단 모서리를 생략하면 왼쪽 상단 모서리도 동일합니다.
    • 오른쪽 상단 모서리를 생략하면 왼쪽 상단 모서리도 동일합니다.

    선형 그라데이션()

    🎜선형 그라데이션(): 그라데이션은 둘 이상의 색상 사이의 선형 그라데이션을 나타내는 이미지를 만드는 데 사용됩니다. 🎜🎜사용법: 배경 이미지: 선형 그라데이션(방향, 색상 중지1, 색상 중지2, ...);🎜
    • 방향: 각도 값을 사용하여 그라디언트의 방향(또는 각도)을 지정하고 방향을 설정합니다.
    • 색상...: 어떤 색상이 순차적으로 어떤 색상으로 변경되는지

    컨테이너

    🎜두 개의 div를 설정하고 좌석 하단에 컨테이너를 설치하고 그 위에 작은 뚜껑을 주로 설정합니다. border-radius를 통해 모서리를 둥글게 하고, box-shadow를 추가하여 그림자를 추가해 입체감을 더해줍니다🎜🎜물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS🎜

    충전 효과🎜 여기서 위치 지정 레이아웃을 사용하면 top을 통해 물의 위치를 ​​제어할 수 있습니다. top 값이 클수록 물의 양이 작아집니다. top 값이 높을수록 물의 수위를 80%로 설정하고 동시에 linear-gradient()를 사용하여 물의 그라데이션 색상을 설정합니다. : 🎜🎜물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS🎜🎜 그러면 애니메이션은 매우 간단해집니다. 이렇게🎜🎜 물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSStop 값만 제어하면 됩니다. image/461/771/880/165025096223206물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS" title="165025096223206물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS" alt="물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS"/>🎜🎜현재 필요 주의 사항은 다음과 같습니다. 🎜
    • 저희 컨테이너는 다음과 같습니다. 상단은 모서리가 둥글기 때문에 애니메이션이 100%에 도달하면 컨테이너의 둥근 모서리와 동일해야 합니다.
    • 수위가 움직이기 때문에 입체감을 높이기 위해 다음과 같이 할 수 있습니다. 점진적인 효과를 가질 수 있는 그림자를 설정하므로 색상은 약간 더 어둡고 색상이 더 가까운 것이 가장 좋습니다.
    • 색상 변경 또는 패스: filter:hue-rotate( );이 속성은
    p{ //复盖
        border-radius: 45% 47% 44% 42%;
        transform: translate(-50%, 0);
        animation: move 10s linear infinite;
    }
    @keyframes move {
      100% {
          transform: translate(-50%, -160px)  rotate(720deg);
      }
    }
    🎜물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS🎜

    물결 특수 효과

    🎜모두가 이 특수 효과를 본 적이 있을 것이라 생각하며 아이디어는 이상입니다. 값의 대략적인 위치에 배경색을 설정하고 각도를 계속 회전시켜서 값이 왜 이 값인지는 알 수 없습니다. . . 아시는 분은 댓글로 메시지를 남겨주세요🎜
    p{ //复盖
        border-radius: 45% 47% 44% 42%;
        transform: translate(-50%, 0);
        animation: move 10s linear infinite;
    }
    @keyframes move {
      100% {
          transform: translate(-50%, -160px)  rotate(720deg);
      }
    }

    물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS

    此时,我们发现这个效果并不太真实,进行多覆盖两个,改变旋转值和border-radius的值来设置水面不重叠,但又有差距的效果

    p{
        &:nth-child(2){
          border-radius: 38% 46% 43% 47%;
          transform: translate(-50%, 0) rotate(-135deg);
        }
        &:nth-child(3){
          border-radius: 42% 46% 37% 40%;
          transform: translate(-50%, 0) rotate(135deg);
        }
    }

    此时的效果就非常真实了

    물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS

    End

    不得不说css真的很神奇,最神秘的莫过于css,喜欢的点个赞??支持下吧(● ̄(エ) ̄●)

    (学习视频分享:web前端

위 내용은 물 잔물결의 배터리 충전 애니메이션 효과를 구현하는 순수 CSS의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제