今天值班,继续分享个没用的技术,最近一个微信闲聊群的网友问能不能用div实现类似于苹果电脑窗口最小化的动画效果(窗口边框变得向内弯曲同时快速缩小直至消失),大概想了下,如果要完全还原,要用canvas模拟,因为要把div内容画到画布上,然后再扭曲图像,但还有一种简单方法,用js控制css实现不规则图形的div,把div的左边框用贝塞尔曲线画出来,这样差不多就实现了类似于窗口向内弯曲的效果,下面先上效果图。

实现不规则图形的div不难,css有个属性clip-path ,这个属性可以裁剪div,属性的一个选项就是polygon(),polygon可以传入多个坐标点,就像用potoshop裁剪图片一样,理论上polygon可以把div裁剪成任何形状,传入的坐标点越密集裁切的图形越丝滑。

下面还是上代码,比较简单,就是用二次贝塞尔算法算出弯曲的曲线坐标,再根据坐标把div裁剪成相应的形状,然后动画效果就简单了,直接用css的transition属性控制,用css控制动画比js控制要顺畅许多。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content=

javascript实现仿苹果电脑窗口最小化效果、css实现不规则图形的div相关推荐

  1. qt 最小化到托盘linux,Qt窗口最小化到托盘,托盘菜单控制

    作为Qt初学者,最近在编写窗口最小化到托盘功能代码的时候遇到了点阻碍. Qt自带的demo实现的功能太过繁琐,涉及知识点又太杂,很难理出最核心的思路.网上的文章代码也很多脱骨于这个demo,注释说明太 ...

  2. android 苹果电脑底部图标滚动效果,JS实现仿苹果底部任务栏菜单效果代码

    本文实例讲述了JS实现仿苹果底部任务栏菜单效果代码.分享给大家供大家参考.具体如下: 这款仿苹果电脑的底部任务栏菜单,是纯JavaScript实现的菜单特效,鼠标放上有响应效果,菜单图标会变大,而且动 ...

  3. java swing最小化_Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果)...

    Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果) package swing; import java.awt.AWTException; import java ...

  4. 窗口最小化消息的解决之道

    最近在弄程序的时候,碰到需要在主窗口最小化的时候,自动将其子窗口最小化的问题.当时没想通.不过现在明白了,其实就是在窗口大小变化的事件里判断主窗口是否最小化的.然后进行相应的操作即可.如果是在SDK程 ...

  5. MFC中将窗口最小化到系统托盘和还原

    通过以下步骤可以在MFC程序中将窗口最小化到系统托盘,和还原成窗口,附加代码中如有特殊说明则会用红色标出. 1.添加一个ICON图标,其ID为IDI_ICON_TESTICON,在VS2008坐标的R ...

  6. UG\NX二次开发 获取UG窗口句柄。实现操作UG窗口最小化、最大化、关闭功能

    文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 获取UG窗口句柄.实现操作UG窗口最小化.最大化.关闭功能 代码: int doWo ...

  7. 实现Mac窗口最小化动画效果

    前言 在学习opengl的过程中,经一前辈的教导,做出了一个比较有趣的东西:仿制Mac中窗口最小化的动画效果.因为是在我学习opengl的过程中制作的一个东西,所以实现的代码是使用是opengl来实现 ...

  8. 窗口最小化后在任务栏上看不到

    本文出自Simmy的个人blog:西米在线  http://simmyonline.com/archives/645.html 症状:用户反应其程序点窗口最小化后,在任务栏上没有显示,如word, e ...

  9. 窗口最小化后不出现在任务栏上

    问题:网页和QQ对话框以及所有的东西一最小化后就不见了.感觉像是被关闭了一样,其实,窗口虽然没有在任务栏上出现,但还是处于打开的状态的. 测试:作一个最简单的测试,在桌面上新建一个Excel文档,最小 ...

最新文章

  1. 微信小程序:字体保持大小
  2. Javascript生成全局唯一标识符(GUID,UUID)的方法
  3. python 16进制加法_在python中追加2个十六进制值
  4. 蓝桥杯java第八届第十题--k倍区间
  5. Surface Computing
  6. Ubuntu-C++环境设置
  7. 一步步编写操作系统 26 打开A20地址线
  8. MySQL 普通索引和唯一索引的区别详解
  9. java 模板模式_Java模板模式(Template模式)
  10. python链表和树实验报告_数据结构树和森林实验报告
  11. redis允许其他机器远程连接
  12. Python菜鸟入门:day01基础知识
  13. 网页监控提醒工具WebMonitor
  14. libyuv库的测试cpp
  15. 腾讯加入QQ群 连接代码
  16. win11自带的照片查看器无法打印问题解决
  17. BilibiliVideoDownload for Mac(B站视频下载工具)
  18. Git 和Bitbucket
  19. ABP框架—后台:后台程序发布至IIS(6)
  20. 贪吃蛇小游戏编写心得

热门文章

  1. 测试的具体工作流程是什么?
  2. spring拦截器 拦截和排除接口冲突
  3. FCC首部电影《招邪》即将开拍 网友:很期待
  4. 邻居盖房不留滴水的解决办法
  5. CIFilter与CIImage 实现沥镜功能
  6. 水果食用大全 -- 果品食疗 - 苹果
  7. android 蓝牙ble 133,java – Android蓝牙错误133
  8. 教师回应儿童问题及对策研究
  9. html怎么保存曲奇,曲奇饼干可以放冰箱吗?曲奇饼干怎么保存?
  10. android ota运动手环升级流程