实现北大官网首页的动态图标

这篇具有很好参考价值的文章主要介绍了实现北大官网首页的动态图标。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

逛网站的时候,看见有人在问如何实现北大官网的动态图标,因为做过类似的东西,所以想把这个方法整理下来。

点上去会有一个小动画的那种。

如何实现该图标的动态效果

一句话:用svg实现图标,利用stroke-dasharray和stroke-dashoffset这两个属性的改变,即可完成这个动态效果

svg是什么

SVG是一种XML语言,类似XHTML,可以用来绘制矢量图形。SVG可以通过定义必要的线和形状来创建一个图形,也可以修改已有的位图,或者将这两种方式结合起来创建图形。而我们的图标即可用svg的path来进行复杂路径的绘制

配合CSS3的animation实现svg动画

  <svg width="800" height="800" version="1.1" xmlns="http://www.w3.org/2000/svg">
        <line x1="10" x2="600" y1="110" y2="110" stroke="orange"
              fill="transparent" stroke-width="8" />
</svg>

先画一条线

实现北大官网首页的动态图标

实现的方法有两种

(1)利用stroke-dasharray和stroke-dashoffset这两个属性,对于stroke-dasharray可以参考下图来理解:

而stroke-dashoffset则可以理解成类似translate的偏移值。通过CSS来设置这两个值,之前的路径就会变成这个样子:

.line{
     stroke-dasharray: 20px, 10px;
  stroke-dashoffset: 0;
}

配合css animation 让线的虚线实部分由0到全部,空的部分由全部到0就实现了以下效果

实现北大官网首页的动态图标

.line{
    animation: move 3s linear forwards;
}

@keyframes move {
      0%{
          stroke-dasharray: 0, 800px;
      }
      100%{
          stroke-dasharray: 800px, 0;
      }
}

800px这个值是整条直线的长度,如果是复杂路径可以用DOM的API来获取到路径长度值:

document.getElementById('path').getTotalLength()

(2)直接让线进行平移动画,就是基础的css动画效果

.line{
  animation: move 3s linear forwards;
}

@keyframes move {
  0%{
    transform: translateX(-100%);
  }
  100%{
    transform: translateX(0);
  }
}

实现如上图一样的效果,如果线条比较复杂就必须用到path路径。

复杂动画最重要的是path的路径,得到路径就可以用线条去实现:

<svg width="180" height="50" version="1.1"
           xmlns="http://www.w3.org/2000/svg">
        <path id="pathSecond" fill="none" stroke="rgba(0,0,0,0.8)"
              stroke-width="2px"
              d="M73.73,24.5c0,0,2.78-21.26-23.75-16.46
              c0,0-11.12-12.63-25.01-5.81c0,0-11.12,4.8-8.84,16.67
 c0,0-13.81-2.27-16.13,13.39c0,0-3.07,10.67,10.32,16.71h180.02" />
</svg>

path中的d路径可以打开AI,用钢笔工具描线条,然后保存为svg格式,用记事本打开文件就能获取path了,然后配合animation

#pathSecond {
  stroke-dashoffset: 0;
  animation: move 3s infinite  linear;
}
@keyframes move {
  0%{
    stroke-dasharray: 0, 600px;
    opacity: 1;
    stroke-width: 3px
  }
  100%{
    stroke-dasharray: 600px, 0px;
    opacity: 0;
  }
}

回到北大官网的图标实现,即用svg去实现图标,当鼠标悬浮时,再利用css3的animation展示stroke-dasharray和stroke-dashoffset的变化。即可实现官网的动态图标效果。文章来源地址https://www.toymoban.com/news/detail-434675.html

到了这里,关于实现北大官网首页的动态图标的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 39、springboot的前端静态资源的WebJar支持(bootstrap、jquery等)及自定义图标和首页

    代码演示: 需求:之前的前端页面比如要使用到一些jquery框架,都是需要把该框架的js资源拷贝到 resources 静态资源路径下面,然后在每个前端页面进行引入。 现在就是通过 Web Jar 的方式,通过在 pom文件今天添加依赖来引入就可以了,不用拷贝js、css那些资源到项目中。 到

    2024年02月11日
    浏览(41)
  • Python——超级鹰打码平台实现selenium对b站的自动化登陆

    目录 一 、Chrome(谷歌)驱动器的下载 (一)驱动器版本选择 (二)下载Chrome驱动器 二、需要安装的库 (一)安装命令 (二)指定selenium版本原因 三、实现步骤 (一)导入相关库 (二)创建驱动器对象 (三)点击登录,并输入账号密码 (四)获取验证码框元素,并截图

    2023年04月09日
    浏览(41)
  • 图床项目进度(二)——动态酷炫首页

    前面的文章我不是说我简单copy了站友的一个登录页吗,我感觉还是太单调了,想加一个好看的背景。 但是我前端的水平哪里够啊,于是在网上找了找制作动态背景的插件。 效果如下图。 这个插件是 particles.js 安装 在mian.js(ts)中进行导入 组件中使用 在vue模板中直接使用组件

    2024年02月10日
    浏览(44)
  • draggable + grid 拖拽插件 + 网格布局 动态生成首页模版

    背景:         1、首页模板由多个子组件组成,如图表、新闻、公告、轮播图等,一般都由前端引入子组件,写在固定的位置上,最终形成一个固定的首页模板;         2、像这样直接在代码中写死的首页没有灵活性,不同用户想展示出来的首页模板千篇一律;        

    2024年02月01日
    浏览(40)
  • Android 动态切换应用图标方案

    经常听到大家讨论类似的需求,怀疑大厂是不是用了此方案,据我个人了解,多数头部 app 其实都是发版来更新节假日的 icon。当然本方案也是一种可选的方案,以前我也调研过,存在问题和作者所述差不多,此外原文链接作者也回复了很多疑问,可以同时了解。 市面上很多

    2024年02月01日
    浏览(46)
  • 根据渲染数据长度动态渲染后缀图标

    在动态获取数据时,想要渲染后面的图标是根据数据的长度渲染图标位置,效果如下:  代码如下: 

    2024年02月13日
    浏览(73)
  • vue3 element-plus动态菜单及动态图标

    引入element-plus 注册图标组件 动态引入图标代码 完整代码 路由如下

    2024年01月18日
    浏览(47)
  • element-plus 动态Icon图标

    目录 1,前言 2,使用 2.1,方式一 2.2,方式二 源自 Element Plus 团队正在将原有组件内的 Font Icon 向 SVG Icon 迁移,请多多留意更新日志, 及时获取到更新信息,Font Icon 将会在第一个正式发布被废弃,请尽快迁移 在此记录一下如何使用element-plus中的icon组件 环境: Vue:3.2.16 Elem

    2024年02月16日
    浏览(43)
  • MATLAB数据分析、从算法到实现 (文末送书【北大出版社】)

    从代码到函数,从算法到实战,从问题到应用,由浅入深掌握科学计算方法,高效解决实际问题。 在回归问题中往往存在这样一个问题:并不是每个自变量都对回归问题的求解有益。因此,在进行回归分析时,需要先对自变量进行相关性分析,将不相关的自变量删除。本节以

    2024年02月08日
    浏览(40)
  • 安卓动态更换图标,这一篇应该够详细了吧~

    图标,名称都可以自定义,只需要注意targetActivity要同launch。 name是后面启动的入口类,不要相同。 一开始建议enable都为false,不然主页会有两个图标显示。 需要注意的是替换图标及名称建议在launch类里面进行,不然会出现莫名无法启动的问题,可能跟启动方式有关,所以后

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包