热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端例程20220728:按钮点击涟漪效果

本文主要介绍关于前端,css3,javascript的知识点,对【前端例程20220728:按钮点击涟漪效果】和【PPT如何制作文字涟漪切换效果】有兴趣的朋友可以看下由【NaisuXu】投稿的技术文

本文主要介绍关于前端,css3,Javascript的知识点,对【前端例程20220728:按钮点击涟漪效果】和【PPT如何制作文字涟漪切换效果】有兴趣的朋友可以看下由【Naisu Xu】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的WEB与JS相关相关技术问题。

PPT如何制作文字涟漪切换效果

演示

前端例程20220728:按钮点击涟漪效果

代码

    DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="token punctuation">"> <title>按钮点击涟漪效果
      title> <style> * {
        padding: 0; margin: 0; user-select: none; } html, body {
        height: 100vh; } 
       style> <style> body {
         display: flex; background-color: #222222; align-items: center; justify-content: center; } button {
         width: 200px; height: 80px; margin: 20px; border-radius: 40px; border: none; font-size: 30px; color: rgba(255, 255, 255, 0.5); } button:focus {
         outline: none; } button:nth-child(1) {
         background: linear-gradient(to right, #0365CA, #4FDEF8); } button:nth-child(2) {
         background: linear-gradient(to right, #DD72AB, #F0B6DA); } 
        style> <style> /* button position=relative / span position=absolute 结合使用 */ button {
          position: relative; /* 隐藏button中超出button边界的元素 */ overflow: hidden; } /* 使用span元素作为水波 */ /* 点击按钮时会在点击位置生产水波 */ /* 水波生成后从小到大扩散 */ button span {
          position: absolute; background: white; pointer-events: none; border-radius: 50%; /* 使水波中心点位置保持不变 */ transform: translate(-50%, -50%); animation: animate 1s linear; } /* 尺寸和透明度动画效果 */ @keyframes animate {
          0% {
          width: 0px; height: 0px; opacity: 0.5; } 100% {
          width: 400px; height: 400px; opacity: 0; } } 
         style> <script> window.onload = () => {
           const buttons = document.querySelectorAll('button'); buttons.forEach(btn => {
           btn.addEventListener('click', function (e) {
           // 计算点击位置 // 结合button position=relative / span position=absolute,这里得到的位置为相对button的位置 let x = e.offsetX; let y = e.offsetY; // 创建水波元素 let ripple = document.createElement('span'); ripple.style.left = `${
            x}px`; ripple.style.top = `${
            y}px`; this.appendChild(ripple); // 水波扩散一定时间后删除 setTimeout(() => {
           ripple.remove(); }, 1000) }) }) }; 
          script> 
           head> <body> <button>BUTTON
            button> <button>BUTTON
             button> 
              body> 
               html> 

本文《前端例程20220728:按钮点击涟漪效果》版权归Naisu Xu所有,引用前端例程20220728:按钮点击涟漪效果需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 本文详细介绍了在 Oracle 数据库中使用 MyBatis 实现增删改查操作的方法。针对查询操作,文章解释了如何通过创建字段映射来处理数据库字段风格与 Java 对象之间的差异,确保查询结果能够正确映射到持久层对象。此外,还探讨了插入、更新和删除操作的具体实现及其最佳实践,帮助开发者高效地管理和操作 Oracle 数据库中的数据。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • MSP430F5438 ADC12模块应用与学习心得
    在最近的实践中,我深入研究了MSP430F5438的ADC12模块。尽管该模块的功能相对简单,但通过实际操作,我对MSP430F5438A和MSP430F5438之间的差异有了更深刻的理解。本文将分享这些学习心得,并探讨如何更好地利用ADC12模块进行数据采集和处理。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
author-avatar
手机用户2502919831
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有