有趣的CSS - 鼠标悬浮线条动态变化

鼠标悬浮线条动态变化

  • 整体效果
  • 核心代码
    • html 代码:
    • css 部分代码:
  • 完整代码如下
    • html 页面:
    • css 样式:
    • 页面渲染效果:

整体效果

这个链接悬浮效果主要用 css3 的 animation 属性配合 :hover 伪选择器来实现的。

此效果可以在文字链接、文字按钮等地方实现一个简单的鼠标交互效果。


核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。

核心代码

html 代码:

<a href="javascript:;"><span class="a-line"></span>Design
</a>

a 标签主体,包裹子元素 span 以及文字元素 Design

css 部分代码:

a{text-decoration: none;color: green;cursor: pointer;font-size: 34px;font-weight: bold;
}
.a-line{width: 0;height: 2px;display: block;margin-bottom: 6px;background-color: green;
}
a:hover .a-line{width: 100%;animation: move .5s ease;
}
@keyframes move{from{width: 0;}to{width: 100%;}
}

css 部分主要通过 :hover 伪选择器来设置 span 子元素样式,然后使用 animation 来实现 span 宽度变化。

完整代码如下

html 页面:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="style.css"><title>鼠标悬浮线条动态变化</title></head><body><div class="app"><a href="javascript:;"><span class="a-line"></span>Design</a></div></body>
</html>

css 样式:

/** style.css **/
*{margin: 0;padding: 0;list-style: none;transition: .5s;
}
html,body{background-color: #fff;font-size: 14px;
}
.app{width: 100%;height: 100vh;position: relative;display: flex;justify-content: center;align-items: center;
}
a{text-decoration: none;color: green;cursor: pointer;font-size: 34px;font-weight: bold;
}
.a-line{width: 0;height: 2px;display: block;margin-bottom: 6px;background-color: green;
}
a:hover .a-line{width: 100%;animation: move .5s ease;
}
@keyframes move{from{width: 0;}to{width: 100%;}
}

页面渲染效果:

以上就是所有代码,以及简单的思路,希望对你有一些帮助或者启发。


[1] 原文阅读

我是 Just,这里是「设计师工作日常」,求点赞求关注!skr~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/453328.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rust 本地文档的使用:rustup doc

Rust 是一种系统级编程语言&#xff0c;以其安全性、速度和内存控制能力而闻名。为了方便开发者更好地了解并利用 Rust 标准库和工具链中的功能&#xff0c;Rust 提供了一种内置的文档浏览方式——通过 rustup doc 命令。 安装 rustup 在查阅 Rust 文档之前&#xff0c;确保你…

08:LED点阵

LED点阵 1、什么是LED点阵2、如何驱动LED点整3、原理图分析4、74HC595的接法分析5、74HC595芯片分析6、编程实践&#xff08;全屏点亮&#xff09; 1、什么是LED点阵 如图为16x16的LED点阵&#xff0c;每一个点里面都有一个LED灯 上图为一个8x8点阵LED原理图&#xff08;横向为…

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(一)

原文&#xff1a;Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 前言 机器学习海啸 2006 年&#xff0c;Geoffrey Hinton 等人发表了一篇论文&#xff0c;展示了如何训练一个能够以最先进的精度…

CodeFuse成功支持通义千问算法大赛,评测方案已开源

前段时间&#xff0c; 首届通义千问AI挑战赛成功举办&#xff0c;CodeFuse 为大赛提供技术支持&#xff0c;模型微调框架 MFTCoder 和 CodeFuseEval 评测框架为大赛保驾护航&#xff0c;助力大赛圆满完成。我们基于leetcode 阿里和蚂蚁最新面试题库建设了“模型赛马”在线打榜的…

【GAMES101】Lecture 15 全局光照

本节继承上一节的难度并继续加深&#xff0c;讲这个BRDF&#xff0c;然后理解反射方程和渲染方程&#xff0c;最终实现全局光照&#xff0c;以下内容很抽象……如果想要深入理解建议到隔壁基于物理着色&#xff1a;BRDF - 知乎 (zhihu.com)或者多看几遍视频&#xff0c;我也是回…

VScode+PlatformIO 物联网Iot开发平台环境搭建

1.vscode &#xff08;1&#xff09;安装platformIO插件 &#xff08;2&#xff09;新建项目或导入已有的arduino项目 Name&#xff1a;需要填写你项目的名称&#xff1b; Board&#xff1a;点开是一个下拉框&#xff0c;但是可以输入你想要的开发板&#xff0c;这里选择&quo…

华为配置OSPF与BFD联动示例

配置OSPF与BFD联动示例 组网图形 图1 配置OSPF与BFD联动组网图 OSPF与BFD联动简介配置注意事项组网需求配置思路操作步骤配置文件 OSPF与BFD联动简介 双向转发检测BFD&#xff08;Bidirectional Forwarding Detection&#xff09;是一种用于检测转发引擎之间通信故障的检测…

什么是前端工程化,请举例说明

前端工程化 前端工程化的定义为什么需要前端工程化前端工程化的核心概念 模块化开发&#xff1a;组件化开发&#xff1a;规范化开发&#xff1a;自动化开发&#xff1a;持续集成 前端工程化的主要工具前端工程化的应用总结&#xff1a; 前端工程化 前端工程化的定义 前端工程…

本地缓存Ehcache的应用实践 | 京东云技术团队

java本地缓存包含多个框架&#xff0c;其中常用的包括&#xff1a;Caffeine、Guava Cache和Ehcache&#xff0c; 其中Caffeine号称本地缓存之王&#xff0c;也是近年来被众多程序员推崇的缓存框架&#xff0c;同时也是SpringBoot内置的本地缓存实现。但是除了Caffeine之外&…

MySQL操作问题汇总

MySQL操作问题汇总 1.无法远程连接Ubuntu的MySQL2.ubuntu忘记mysql的root密码时的操作 1.无法远程连接Ubuntu的MySQL (1) 需要检查防火墙状态 > sudo ufw status #如果防火墙开启的情况&#xff0c;添加规则&#xff1a;允许3306端口开启 > sudo ufw allow 3306 (2) 需要…

3D DRAM引领存储变革,重塑智能时代计算格局

3D DRAM作为一种应对DRAM技术挑战的解决方案&#xff0c;正逐渐被视为未来内存市场的关键发展方向。与3D NAND类似&#xff0c;3D DRAM采用了立体堆叠技术来突破传统二维平面架构的局限。 在传统DRAM中&#xff0c;存储单元由一个晶体管和一个电容器组成&#xff0c;晶体管负责…

XCTF:3-1[WriteUP]

从题目中获取文件 使用file命令查看文件类型 修改后缀为.rar后进行解压缩 再次使用file命令查询该文件的类型 再次修改后缀为.pcap或者.pcapng 使用wireshark打开&#xff0c;直接搜索flag字样 在多个数据包里发现了flag.rar、flag.txt等文件 尝试使用http导出文件 有一个fl…