当前位置: 首页 > news >正文

css样式:button边框贪吃蛇加载效果

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8"/>
<title>90x28圆角矩形蛇段动画</title>
<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
<style>body { background:#fff; display:flex; align-items:center; justify-content:center; height:100vh; }.box { width:90px; height:28px; position:relative; }svg { width:100%; height:100%; display:block; }.bg { fill:none; stroke:#fff; stroke-width:1; }.snake {fill:none;stroke:#2B59FF;stroke-width:1;stroke-linecap:round;}
</style>
</head>
<body><div class="box"><div>文章</div><svg viewBox="0 0 90 28"><!-- 背景边框 --><rect x="1.5" y="1.5" width="87" height="25" rx="14" ry="14" class="bg"/><!-- 贪吃蛇段 --><rect id="snakeRect" x="1.5" y="1.5" width="87" height="25" rx="14" ry="14" class="snake"/></svg></div><script>
$(function(){var rect = document.getElementById("snakeRect");var len = rect.getTotalLength();   // 周长var seg = 30;                      // 蛇的长度 (像素)var gap = len - seg;               // 空白长度// 设置 dasharray 只留一小段$(rect).css({'stroke-dasharray': seg + " " + gap,'stroke-dashoffset': 0});// 动态生成 keyframesvar animName = "snakeMove_" + Math.floor(Math.random()*1e6);var keyframes = `@keyframes ${animName} {from { stroke-dashoffset: 0; }to   { stroke-dashoffset: -${len}px; }}`;$('<style>').text(keyframes).appendTo('head');// 应用动画$(rect).css({'animation': `${animName} 2s linear infinite`});
});
</script>
</body>
</html>
http://www.hskmm.com/?act=detail&tid=13393

相关文章:

  • 什么是NIC(网络接口卡)?
  • 汽车行业相关技术及其分类
  • 视频剪辑效率翻倍!CyberLink PowerDirector 从入门到专业的全能解决方案
  • 20250415_信安一把梭_encode
  • 日常练习另一部分
  • 每天一个安卓测试开发小知识之 (六)---常用的adb 命令第四期
  • SAP-ABAP中STOP,EXIT,CHECK,RETURN,CONTINUE,LEAVE,REJECT的区别
  • Linux开机启动进入紧急模式emergency mode的解决方法 - 规格严格
  • Arduino ide 软件 不建议大家使用 缺点多多
  • 视频融合平台EasyCVR国标GB28181视频诊断功能详解与实践
  • Refit Consul
  • 故障处理:Oracle 19.20未知BUG导致oraagent进程内存泄漏的案例处理
  • 麒麟服务器操作系统查询可用的内核版本以及安装和降级命令
  • esp32 stm32 ros2 三者区别
  • 20250406_信安一把梭_测试篇
  • 前端 10 个 JS 神 API,开箱即用
  • 故障处理:清除 DBA_DATAPUMP_JOBS 视图中的异常数据泵作业
  • Web自动化测试智能体详解
  • Queue 配合Thread使用
  • MyEMS 进阶应用:从单厂能耗管理到集团跨区域能源数据协同分析
  • Playwright自动化测试框架与AI智能体应用
  • 以下内容在if判定的时候会被判定为 假
  • Python __init__.py文件
  • 20250330_信安一把梭_考试篇
  • VS Code配置Conda环境完整指南
  • 不同Windows系统中支持的最新.Net Framework/.NET版本
  • avalonia android TextBox多行模式下回车会关闭输入法问题
  • 每周读书与学习-初识JMeter 元件(二)
  • client-go限速之QPS、Burst 和 RateLimiter
  • 三度蝉联Gartner SASE领导者:唯一厂商的技术实力解析