canvas可交互液态文本悬浮效果代码
代码语言:html
所属分类:悬停
代码描述:canvas可交互液态文本悬浮效果代码,文字像水滴一样,鼠标悬浮还会移动。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { overflow: hidden; background: #ffaaaa; } #canvas1 { position: absolute; width: 1200px; heigth: 600px; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: url("#goo"); border: 1px solid white; } footer, article { font-family: monospace; position: absolute; width: 100%; color: white; font-size: 15px; text-shadow: 1px 1px 1px #737373; background: rgba(255,255,255,0.4); } footer { left: 0; bottom: 0; width: 100%; text-align: center; height: 30px; line-height: 30px; padding-right: 20px; } footer a{ color: white; } article { top: 10px; z-index: 100; width: 50%; max-width: 350px; font-size: 15px; color: white; padding: 20px; border-radius: 0 0 5px 0; } </style> </head> <body> <!-- partial:index.partial.html --> <canvas id="canvas1"></canvas> <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <defs> <filter id="goo"> <feGaussianBlur in="SourceGraphic" stdDeviation="10" result="blur" /> <feColorMatrix in="blur" mode="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 22 -9" result="goo" /> <feBlend in="SourceGraphic" in2="goo" /> </filter> </defs> </svg> <article> <br> </article> <!-- partial --> <script> const canvas = document.getElementById("canvas1"); const ctx = canvas.getContext("2d"); canvas.width = 1200; canvas.height = 600; let particleArray = []; let adjustX = -10; let adjustY = 3; // get mouse mouse position // let mouse = { x: null, y: null, radius: 150 } let canvasPosition = canvas.getBoundingClientRect(); window.addEventListener('mousemove', function(e){ mouse.x = e.x - canvasPosition.left; mouse.y = e.y - canvasPosition.top; }); ctx.font = 'bold 11px Verdana'; ctx.fillText('BFW.WIKI', 2, 20); const data = ctx.getImageData(0, 0, canvas.width, 100).........完整代码请登录后点击上方下载按钮下载查看
网友评论0