首页 > 其他分享 >图标鼠标移入移出动态效果

图标鼠标移入移出动态效果

时间:2023-09-12 12:55:43浏览次数:51  
标签:mini 移出 动态效果 miniIcon background enter position 图标 icon

效果示例

效果示例
这种效果起初是在腾讯云的官网上发现的,对这个效果比较好奇,所以就看了一下他的实现。然后自己写个demo记录一下。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>demo</title>
  <style>
    .item-box {
      position: relative;
      width: 200px;
      height: 80px;
      display: flex;
      align-items: center;
      box-shadow: 0px 4px 8px 1px rgba(57, 58, 55, 0.84);
      border-radius: 3px;
      justify-content: space-around;
    }

    .mini-icon {
      background-image: url(./images/mini-icon.png);
      width: 48px;
      height: 48px;
      background-repeat: no-repeat;
      background-size: 100% auto;
      background-position: top;
    }

    .mini-icon.is-leave {
      animation: mini-icon-leave .3s steps(16) forwards;
    }

    .mini-icon.is-enter {
      animation: mini-icon-enter .3s steps(16) forwards;
    }

    @keyframes mini-icon-leave {
      0% {
        background-position: 0 -768px
      }

      to {
        background-position: 0 0
      }
    }

    @keyframes mini-icon-enter {
      0% {
        background-position: 0 0
      }

      to {
        background-position: 0 -768px
      }
    }
  </style>
</head>

<body>
  <div class="item-box">
    <span class="item-name">小程序</span>
    <span class="mini-icon"></span>
  </div>
</body>
<script>
  const miniIcon = document.querySelector('.mini-icon');

  miniIcon.addEventListener('mouseenter', () => {
    miniIcon.classList.add('is-enter');
  })
  miniIcon.addEventListener('mouseleave', () => {
    miniIcon.classList.remove('is-enter');
    miniIcon.classList.add('is-leave');
  })
</script>

</html>

顺便贴一下用到的背景图片
这个效果主要用了三个知识点,animation@keyframes还有js动态的给dom添加移除类名

标签:mini,移出,动态效果,miniIcon,background,enter,position,图标,icon
From: https://www.cnblogs.com/mynl/p/17695875.html

相关文章

  • 不同小图标的编码网页中的大于号,小于号,应该用编码来代替,HTML中特殊字符和与之对应的A
    上面两个符号的HTML代码,>< >< 应用场景:当使用键盘无法打出来的时候。因为我测试在html代码中使用&amp;和&是等价的。带有实体名称的ASCII实体 常用的几个结果描述实体名称实体编号"quotationmark"&#34;'apostrophe&apos;&#39;&amper......
  • 如何设置el-tree点箭头图标才会展开或者收起(XTHS实测)
    在使用Element框架开发vue项目时,如何设置el-tree只有点击箭头图标才会展开或者收起效果呢?如图 转自:如何设置el-tree点箭头图标才会展开或者收起-百度经验(baidu.com)......
  • css加载图标转圈代码
    转圈代码<iclass="el-icon-loading"></i>.el-icon-loading{animation:rotating2slinearinfinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframesrotating{0%{transfor......
  • LabVIEW图标编辑器中的文本变得模糊
    问题详述在LabVIEW图标编辑器中将文本添加到VI图标时,如果我将字体大小设置为小于10,文本会变得模糊。当字体大小设置为大于11时,文本会正常地显示,但是字体则变得太大而无法放入图标中。真难看!解决方案对于某些字体,这些字体比默认字体更详细,并且显示为像素化,可能会发生这种情......
  • Css 修改图标颜色_Css 修改图片颜色_Css控制图片颜色
    一、Css3mask修改图标颜色(推荐)CSS3mask默认是基于透明度实现遮罩效果的。也就是实色区域显示,透明区域隐藏。因此,我们只需要把目标图标颜色#f4615c作为背景色,然后原始图标(无论什么颜色都可以)作为遮罩图片,效果就出来了。<!DOCTYPEhtml><htmllang="en"><head><meta......
  • vxe-table 坑:可编辑表格表头不显示编辑图标
    问题"vxe-table":"^3.5.9",官方文档默认显示编辑图标。但实际上没有显示。给vex-table的edit-config添加showIcon:true,也不生效。设置icon也不生效。替代方案给vxe-column设置插槽<template#default="{row}"></template>,内部显示内容添加icon。新的问题插......
  • Ubuntu制作图标利用脚本实现双击图标快速启动
    新建桌面图标在主目录/桌面文件夹内利用touch命令新建后缀为.desktop的文件利用文本编辑器编辑该文件,输入以下代码并保存:[DesktopEntry]Name=sdWebUIComment=sdWebUIExec=/home/linhai/start_menu/start_webui.shIcon=/home/linhai/图片/R-C.jpegTerminal=trueType=Appl......
  • vue菜单组件中图标跟随菜单高亮变化颜色
    问题在vue左侧菜单中,使用设计师的svg图标有时候不能跟随菜单高亮而改变颜色未高亮时显示灰色菜单高亮时图标显示白色原因svg中图标的颜色设计师给了固定的颜色,所以不会接收父元素给定的颜色解决给svg图标的颜色属性为currentColor......
  • 2023-08-29 记录——引入的阿里云图标显示不正确==》不正确的图标存在2个content值,浏
    前言:我在项目中引入了阿里云的图标库iconfont.css,如:.icon-wodewo:before{ content:"\e6e0";}.icon-jiaocheng-1:before{ content:"\e78d";}.icon-weixin:before{ content:"\e607";}我要用icon-weixin这个图标,但实际上页面显示的是icon-wodewo(好比如要......
  • 动态修改浏览器标签页图标
    //动态修改浏览器图标 getIcon(){//this.favicon是浏览器图标的地址或者路径 if(this.favicon){ letlink=document.querySelector("link[rel*='icon']")||document.createElement('link'); link.type='image/vnd.microsoft.icon......