EyeDropper吸管取色器注入液体动画效果代码

代码语言:html

所属分类:动画

代码描述:EyeDropper吸管取色器注入液体动画效果代码,通过EyeDropper api获取屏幕任意区域颜色,然后产生注入水滴动画。

代码标签: EyeDropper 吸管 取色器 注入 液体 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
 
<meta charset="UTF-8">
 

 
 
 
<style>
:root {
        --color: wheat;
        --ink-load-time: .5s;
        --ink-fill-time: 2.5s;
        --ripple-time: 1.5s;
}

body {
  margin: 0;
  overflow: hidden;
  background: var(--color);
        transition: background 0s calc(var(--ink-load-time) + var(--ink-fill-time));
        font-family: sans-serif;
}

.ink {
  height: 100vh;
  background: var(--color);
  transition: transform var(--ink-fill-time) var(--ink-load-time) cubic-bezier(0.53, 0.03, 0.95, 0.23);
}

body:not(.filled) .ink {
  transform: translateY(100%);
  transition: none;
}

.ripple {
        position: absolute;
        left: 50%;
        translate: -50%;
        top: 0;
        width: 60vh;
        aspect-ratio: 20 / 1;
        display: flex;
        justify-content: space-between;
}

body.filled .ripple {
  animation: ripple linear var(--ripple-time) calc(var(--ink-load-time) + var(--delay));
}

@keyframes ripple {
        5%,
        100% {
                transform: translateY(-98%);
        }
}

.ripple-ridge {
        fill: var(--color);
  animation: inherit;
        transform-origin: bottom;
}

body.filled .ripple-ridge:first-child {
        animation-name: ripple-ridge-left;
}

body.filled .ripple-ridge:last-child {
        animation-name: ripple-ridge-right;
}

@keyframes ripple-ridge-left {
        5% {
                transform: translateX(20%);
        }
       
        100% {
                transform: translateX(-50vw) scale(3, 0.3);
                visibility: hidden;
        }
}

@keyframes ripple-ridge-right {
        5% {
                transform: translateX(-20%);
        }
       
        100% {
                transform: translateX(50vw) scale(3, 0.3);
                visibility: hidden;
        }
}

.eyedropper-fill {
        fill: var(--color);
        stroke: hsl(0 0% 100% / .6);
}

.eyedropper-cap {
        stroke: hsl(230 60% 55%);
}

.eyedropper {
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translate(-50%);
        transition: .25s;
        display: grid;
        grid-template-columns: 1fr;
        align-items: end;
        justify-items: center;
        cursor: pointer;
}

.eyedropper:is(:hover, :focus-visible) {
        outline: none;
        translate: 0 -5px;
}

.eyedropper > * {
    grid-row-start: 1;
    grid-column-start: 1;
}

.eyedropper-loader {
        align-self: stretch;
        justify-self: stretch;
        clip-path: po.........完整代码请登录后点击上方下载按钮下载查看

网友评论0