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

大学生兼职网网站建设计划书淄博网站制作网络丰富

大学生兼职网网站建设计划书,淄博网站制作网络丰富,个人博客网站源码,我为群众办实事实践活动目录 引言一、js实现1. 实现思路2. 实现案例3. 看下效果 二、css实现1. 代码修改2. 属性介绍2.1 看下浏览器支持性2.2 常用属性值2.2.1 scroll#xff08;#xff09;2.2.2 view#xff08;#xff09; 三、总结 引言 本篇为css的一个小技巧 页面中的动画效果随着滚轮的转动… 目录 引言一、js实现1. 实现思路2. 实现案例3. 看下效果 二、css实现1. 代码修改2. 属性介绍2.1 看下浏览器支持性2.2 常用属性值2.2.1 scroll2.2.2 view 三、总结 引言 本篇为css的一个小技巧 页面中的动画效果随着滚轮的转动而播放会使用户的参与感更强烈。滚轮从上至下动画跟随从第一帧到最后一帧。可以来回滚动实现动画时空回溯的效果。如果将动画主体替换为网站主题内容则可以大大加深用户对于网站宣传内容的印象。 一、js实现 动画绑定滚轮的核心在于有一个进度的时间线。可以通过鼠标滚轮告诉网页进度到了哪个节点那么动画也就自然跳动到对应百分比的帧数。 1. 实现思路 设置好动画关键帧为了方便计算将动画周期设置为1s。利用 animation-delay 为负值的特性将动画提前某个时间点播放。通过js脚本监听window的scroll事件设置全局变量scroll其值为当前页面滚动距离占内容长度减去窗口高度的百分比这里需要思考一下。animation-delay 使用函数计算scroll值与动画周期1s的乘积取负值。此时鼠标滚动动画跳动到对应帧数实现动画绑定滚轮的效果。 关于css动画参数的详细解读请参考【CSS Tricks】css动画详解 2. 实现案例 拿代码到本地跑一下看看效果。 !DOCTYPE html html langenheadmeta charsetUTF-8 /meta nameviewport contentwidthdevice-width, initial-scale1.0 /titleDocument/title/headstylebody {padding: 0;margin: 0;min-height: 500vh;background-color: rgb(139, 201, 228);animation: body 1s linear;animation-play-state: paused;animation-delay: calc(var(--scroll) * -1s);animation-fill-mode: forwards;}keyframes body {to {background-color: rgb(19, 48, 97);}}.box {width: 300px;height: 300px;border-radius: 10px;background: #df685b;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);animation: box 1s linear;animation-play-state: paused;animation-delay: calc(var(--scroll) * -1s);animation-fill-mode: forwards;}keyframes box {to {transform: translate(-50%, -50%) rotate(180deg);}}/stylebodydiv classbox/div/bodyscriptwindow.addEventListener(scroll,() {document.body.style.setProperty(--scroll,window.pageYOffset / (document.body.offsetHeight - window.innerHeight));},false);/script /html 解读一下代码 css部分主要疑问点在 animation-play-state 、animation-delay 、animation-fill-mode 这三个属性: animation-play-state 设置为 paused 表示我不希望这个动画会自动播放而是时时刻刻都是停止状态。我需要动画可以跟随滚轮只表现关键帧而不播放。animation-delay 是实现这个效果的核心我们会通过js提供一个[0,1]区间的 scroll 值。动画总周期是1s可以通过-1乘以 scroll 值获得一个[-1,0]的值。delay取负值表示提前到某一帧开始播放动画又因为 animation-play-state 设置为 paused 所以会得到动画绑定滚轮的效果。animation-fill-mode设置为 forwards 表示当 delay 为-1时不跳回到第一帧而是继续保持最后一帧的画面避免出现滚动到底时画面突然变为初始状态的情况。 js部分主要疑问点在于计算 scroll 值: 如下图示意滚动的最大距离为 window.pageYOffset 计算滚动距离的参考位置时窗口的上边缘。 3. 看下效果 注意观察滚动条位置 二、css实现 继续以js实现的代码为基础修改内容。 1. 代码修改 将script部分代码全部删掉将css部分按照如下内容修改 body {padding: 0;margin: 0;min-height: 500vh;background-color: rgb(139, 201, 228);animation: body 1s linear;animation-timeline: scroll();}keyframes body {to {background-color: rgb(19, 48, 97);}}.box {width: 300px;height: 300px;border-radius: 10px;background: #df685b;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);animation: box 1s linear;animation-timeline: scroll();}keyframes box {to {transform: translate(-50%, -50%) rotate(180deg);}}这样就够了此时页面效果和js实现结果一样。 2. 属性介绍 animation-timeline目前还处于试验阶段。 指定用于控制CSS动画进度的时间轴。 2.1 看下浏览器支持性 目前只有70%左右的支持度基本上只有最新版的chrome内核浏览器和opera浏览器可以支持。 2.2 常用属性值 默认值none无事发生。 2.2.1 scroll 使用方式 animation-timeline: scroll();scrollCSS函数表示在顶部和底部或左侧和右侧之间滚动滚动条来进行时间轴绑定。滚动范围中的位置将转换为进度百分比开始时为0%结束时为100%。 scroll函数的传参值有两个一个是指定滚动条元素一个是滚动轴向 常见使用方法 /* 一般写这个就行 */ animation-timeline: scroll(); /* 指定滚动条元素 */ animation-timeline: scroll(nearest); /* 找最近的具有滚动条的祖先元素可以是self */ animation-timeline: scroll(root); /* 文档根元素 */ animation-timeline: scroll(self); /* 自身 */ /* 指定滚动轴向一般就选这俩。纵向和横向 */ animation-timeline: scroll(y); animation-timeline: scroll(x); /* 如果喜欢两个参数都写举例 */ animation-timeline: scroll(y nearest);2.2.2 view 使用方式 animation-timeline: view();viewCSS函数在可视区域指定一个区间当元素经过这个区间时开始进行时间轴进度。从元素进入区间为0%完全离开区间为100%。 view函数的传参值有两个一个是指定滚动轴向一个是指定视图区域可视区域可以有两个值。最多总共三个值 常见使用方法 /* 一般写这个就行表示当需要动画的元素出现在屏幕可视范围内即可开始根据滚动轴作为时间线操控动画 */ animation-timeline: view();/* 非要写话就写x、y就好不写默认是block相当于y */ animation-timeline: view(y); animation-timeline: view(x);/* 设置可视区域 */ animation-timeline: view(auto); /* 全部可视区域*/ animation-timeline: view(20%); /* 从可视区域顶部20%到底部0%中间的部分*/ animation-timeline: view(20% 40%);/* 从可视区域顶部20%到底部40%中间的部分*/举个例子 animation-timeline: view(50% 10%);/* 从可视区域顶部50%到底部10%中间的部分*/三、总结 CSS的创建者曾说过他最初的设想是CSS作为控制网页行为的主要Web技术。只有当CSS无法完成控制行为时才使用js脚本作为后备手段。 如果在不考虑浏览器支持性的前提下优先使用chrome最新版本浏览器项目中有做滚动条绑定动画的需求我非常建议大家尝试一下animation-timeline 它会给你一种全新的开发体验在实现相同效果的情况下页面性能优化最佳。 再接再厉~
http://www.hkea.cn/news/14499995/

相关文章:

  • 郑州艾特软件 网站建设如何将网站挂载域名
  • 贵港住房城乡建设厅网站企业培训考试系统app
  • 网站 建设app网站建设管理相关规定
  • 瑞安网站建设wordpress整合discu
  • 怎么优化自己网站的关键词如何做视频解析网站
  • 兴国县城乡规划建设局网站烟台模板建站代理
  • 支付网站建设要求活动营销的方式有哪些
  • 电商网站开发技术与维护抚顺您做煮火锅网站
  • 用asp.net开发网站的优势ASP做购物网站视频
  • 免费做电子请柬的网站本地wordpress 外网
  • 网站建设电子商务工商营业执照年检入口
  • 微信网站开发费用网站标题字体大小
  • php网站开发编程软件口碑好的微信网站建设
  • 巴里坤网站建设seo外包公司
  • 唐山网站优化做行业网站
  • 怎么做网站赚大钱成都广告公司地址
  • 怎么样让网站正常解析微信公众号运营策划
  • 票务网站开发特色软件app推荐
  • 公司网站开发费用兴田德润在哪儿哪家公司
  • 济南网站建设需要多少钱网站开发的技术分类
  • 网站建设怎么样做账网站建设公司浙江
  • 重庆市建设施工安全网站2021年最新热点素材
  • 企业网站建设参考资料开发者 电影
  • 公司网站销售平台建设费分录网站建设公司的问答营销案例
  • 网站后台文件下载咨询网站源码
  • 烟台网站制作公司上海猎头公司排名
  • 小说网站制作开源为什么网站 关键词策划
  • 网页qq登录保护功能怎么关闭连云港网站推广优化
  • 南京企业网站搭建网站怎么提高百度权重
  • 网站后台管理系统登录总工会网站建设方案