花样鼠标悬停特效

代码:

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 1000px;
            height: 580px;
            margin: 50px auto;
            border: 1px solid green;
            position: relative;
        }

        .top {
            margin: 0 auto 130px;
            padding: 10px 0;
            background: mediumpurple;
            color: #fff;
        }

        .fill:hover,
        .fill:focus {
            /* box-shadow: [inset] <offset-x> <offset-y> [blur-radius] [spread-radius] <color>; */
            /* inset关键字是可选的,如果提供,阴影将在元素内部而不是外部。

            <offset-x>和<offset-y>定义阴影的水平和垂直偏移量。

            <blur-radius>是可选的,定义模糊距离。

            <spread-radius>也是可选的,定义阴影的大小。

            <color>定义阴影的颜色。 */
            /* 2m=32px */
            box-shadow: inset 0 0 0 2em var(--hover);
        }

        .pulse:hover,
        .pulse:focus {
            animation: pulse 1s;
            box-shadow: 0 0 0 2em rgba(255, 255, 255, 0);
        }


        @keyframes pulse {
            0% {
                box-shadow: 0 0 0 0 var(--hover);
            }
        }

        .close:hover,
        .close:focus {
            /* box-shadow: [inset] <offset-x> <offset-y> [blur-radius] [spread-radius] <color>; */
            /* inset关键字是可选的,如果提供,阴影将在元素内部而不是外部。

            <offset-x>和<offset-y>定义阴影的水平和垂直偏移量。

            <blur-radius>是可选的,定义模糊距离。

            <spread-radius>也是可选的,定义阴影的大小。

            <color>定义阴影的颜色。 */
            box-shadow: inset -3.5em 0 0 0 var(--hover), inset 3.5em 0 0 0 var(--hover);
        }

        .raise:hover,
        .raise:focus {
            /* box-shadow: [inset] <offset-x> <offset-y> [blur-radius] [spread-radius] <color>; */
            /* inset关键字是可选的,如果提供,阴影将在元素内部而不是外部。

            <offset-x>和<offset-y>定义阴影的水平和垂直偏移量。

            <blur-radius>是可选的,定义模糊距离。

            <spread-radius>也是可选的,定义阴影的大小。

            <color>定义阴影的颜色。 */
            box-shadow: 0 0.5em 0.5em -0.4em var(--hover);
            transform: translateY(-0.25em);
        }

        .up:hover,
        .up:focus {
            /* box-shadow: [inset] <offset-x> <offset-y> [blur-radius] [spread-radius] <color>; */
            /* inset关键字是可选的,如果提供,阴影将在元素内部而不是外部。

            <offset-x>和<offset-y>定义阴影的水平和垂直偏移量。

            <blur-radius>是可选的,定义模糊距离。

            <spread-radius>也是可选的,定义阴影的大小。

            <color>定义阴影的颜色。 */
            box-shadow: inset 0 -3.25em 0 0 var(--hover);
        }

        .slide:hover,
        .slide:focus {
            /* box-shadow: [inset] <offset-x> <offset-y> [blur-radius] [spread-radius] <color>; */
            /* inset关键字是可选的,如果提供,阴影将在元素内部而不是外部。

            <offset-x>和<offset-y>定义阴影的水平和垂直偏移量。

            <blur-radius>是可选的,定义模糊距离。

            <spread-radius>也是可选的,定义阴影的大小。

            <color>定义阴影的颜色。 */
            box-shadow: inset 6.5em 0 0 0 var(--hover);
        }

        .offset {
            /* box-shadow: [inset] <offset-x> <offset-y> [blur-radius] [spread-radius] <color>; */
            /* inset关键字是可选的,如果提供,阴影将在元素内部而不是外部。

            <offset-x>和<offset-y>定义阴影的水平和垂直偏移量。

            <blur-radius>是可选的,定义模糊距离。

            <spread-radius>也是可选的,定义阴影的大小。

            <color>定义阴影的颜色。 */
            box-shadow: 0.3em 0.3em 0 0 var(--color), inset 0.3em 0.3em 0 0 var(--color);
        }

        .offset:hover,
        .offset:focus {
            box-shadow: 0 0 0 0 var(--hover), inset 6em 3.5em 0 0 var(--hover);
        }

        .fill {
            --color: #a972cb;
            --hover: #cb72aa;
        }

        .pulse {
            --color: #ef6eae;
            --hover: #ef8f6e;
        }

        .close {
            --color: #ff7f82;
            --hover: #ffdc7f;
        }

        .raise {
            --color: #ffa260;
            --hover: #e5ff60;
        }

        .up {
            --color: #e4cb58;
            --hover: #94e458;
        }

        .slide {
            --color: #8fc866;
            --hover: #66c887;
        }

        .offset {
            --color: #19bc8b;
            --hover: #1973bc;
        }

        button {
            color: var(--color);
            transition: 0.25s;
        }

        button:hover,
        button:focus {
            border-color: var(--hover);
            color: #fff;
        }

        button {
            background: none;
            border: 2px solid;
            font: inherit;
            line-height: 1;
            margin: 0.5em;
            padding: 1em 2em;
        }
    </style>
</head>

<body>
    <div class="container">
        <div class="top">
            <h3>花样的鼠标悬停特效</h3>
        </div>
        <div style="width:640px ; margin:0 auto; background:#222222;">
            <button class="fill">Fill In</button>
            <button class="pulse">Pulse</button>
            <button class="close">Close</button>
            <button class="raise">Raise</button>
            <button class="up">Fill Up</button>
            <button class="slide">Slide</button>
            <button class="offset">Offset</button>
        </div>

    </div>
</body>

</html>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python如何输入多行

Python中的Input()函数在输入时&#xff0c;遇到回车符&#xff0c;那么一次输入就结束了。这不能满足输入多行文本并且行数也不确定的情形&#xff0c;当然输入空行也是允许的。 方法1&#xff1a;利用异常处理机制实现 lines[] while True:try:lines.append(input())except:…

Node.js 的 5 个常见服务器漏洞

Node.js 是一个强大且广泛使用的 JavaScript 运行时环境&#xff0c;用于构建服务器端应用程序。然而&#xff0c;与任何其他软件一样&#xff0c;Node.js 也有自己的一些漏洞&#xff0c;如果处理不当&#xff0c;可能会导致安全问题。请注意&#xff0c;这些漏洞并不是 Node.…

数据驱动目标:如何通过OKR实现企业数字化转型

在数字化转型的浪潮中&#xff0c;企业管理者面临着前所未有的挑战和机遇。如何确保企业在变革中不仅能够生存&#xff0c;还能蓬勃发展&#xff1f;答案可能就在于有效的目标管理——特别是采用OKR&#xff08;Objectives and Key Results&#xff0c;目标与关键成果&#xff…

Hive概述与基本操作

一、Hive基本概念 1.什么是hive? &#xff08;1&#xff09;hive是数据仓库建模的工具之一 &#xff08;2&#xff09;可以向hive传入一条交互式的sql,在海量数据中查询分析得到结果的平台 2.Hive简介 Hive本质是将SQL转换为MapReduce的任务进行运算&#xff0c;底层由HDFS…

使用Vivado Design Suite进行物理优化(二)

物理优化是对设计的negative-slack路径进行时序驱动的优化。而phys_opt_design 命令是用于对设计进行物理优化。这个命令可以在布局后的后置模式&#xff08;post-place mode&#xff09;中运行&#xff0c;也就是在放置所有组件之后&#xff1b;还可以在完全布线后的后置模式&…

【oracle数据库安装篇一】Linux5.6基于LVM安装oracle10gR2单机

说明 本篇文章主要介绍了Linux5.6基于LVM安装oracle10gR2单机的配置过程&#xff0c;比较详细&#xff0c;基本上每一个配置部分的步骤都提供了完整的脚本&#xff0c;安装部分都提供了简单的说明和截图&#xff0c;帮助你100%安装成功oracle数据库。 安装过程有不明白的地方…

爬虫学习第一天

爬虫-1 爬虫学习第一天1、什么是爬虫2、爬虫的工作原理3、爬虫核心4、爬虫的合法性5、爬虫框架6、爬虫的挑战7、难点8、反爬手段8.1、Robots协议8.2、检查 User-Agent8.3、ip限制8.4、SESSION访问限制8.5、验证码8.6、数据动态加载8.7、数据加密-使用加密算法 9、用python学习爬…

Flody算法求解多源最短路问题

Flody算法求解多源最短路问题 蓝桥公园 #include <bits/stdc.h> using namespace std; #define int long long const int N409; int n,m,q,d[N][N]; signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n>>m>>q;memset(d,0x3f,sizeof…

mac 配置前端开发环境brew,git,nvm,nrm

我的电脑是mac 3 pro 一、配置Homebrew 打开终端&#xff0c;执行指令 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"查看版本 brew -v 安装nvm brew install nvm 再执行 brew reinstall nvm 我这边安装好了…

云服务器上Docker启动的MySQL会自动删除数据库的问题

一、问题说明 除了常见的情况&#xff0c;例如没有实现数据挂载&#xff0c;导致数据丢失外&#xff0c;还需要考虑数据库是否被攻击&#xff0c;下图 REVOVER_YOUR_DATA 就代表被勒索了&#xff0c;这种情况通常是数据库端口使用了默认端口&#xff08;3306&#xff09;且密码…

Coding and Paper Letter(八十九)

CPL之第八十九期。 1 Coding: 1.openai通用代理转换是一个用于将其他厂商服务转为openai 标准接口相应的工具. 通过该工具, 可以将其他厂商的服务转为openai 标准接口. 讯飞星火,通义千问,gemini,openai,copilot,double&#xff0c;kimi&#xff0c;智谱清言 使用spring2webf…

Qt——示波器/图表 QCustomPlot

一、介绍 QCustomPlot是一个用于绘图和数据可视化的Qt C小部件。它没有进一步的依赖关系&#xff0c;提供友好的文档帮助。这个绘图库专注于制作好看的&#xff0c;出版质量的2D绘图&#xff0c;图形和图表&#xff0c;以及为实时可视化应用程序提供高性能。QCustomPlot可以导出…

机器学习和深度学习 -- 李宏毅(笔记与个人理解1-6)

机器学习和深度学习教程 – 李宏毅&#xff08;笔记与个人理解&#xff09; day1 课程内容 什么是机器学习 找函数关键技术&#xff08;深度学习&#xff09; 函数 – 类神经网络来表示 &#xff1b;输入输出可以是 向量或者矩阵等如何找到函数&#xff1a; supervised Lear…

【QingHub】EMQX单节点一键部署

EMQX 简介 EMQX是全球最具扩展性的开源MQTT 代理&#xff0c;具有高性能&#xff0c;可在 1 个集群中连接 1 亿多个 IoT 设备&#xff0c;同时保持每秒 100 万条消息的吞吐量和亚毫秒级的延迟。 EMQX 支持MQTT、HTTP、QUIC、WebSocket等多种开放标准协议。它 100% 符合MQTT 5.…

【Linux】tcpdump P3 - 过滤和组织返回信息

文章目录 基于TCP标志的过滤器格式化 -X/-A额外的详细选项按协议(udp/tcp)过滤低详细输出 -q时间戳选项 本文继续展示帮助你过滤和组织tcpdump返回信息的功能。 基于TCP标志的过滤器 可以根据各种TCP标志来过滤TCP流量。这里是一个基于tcp-ack标志进行过滤的例子。 # tcpdump…

大厂MVP技术JAVA架构师培养

课程介绍 这是一个很强悍的架构师涨薪计划课程&#xff0c;课程由专家级MVP讲师进行教学&#xff0c;分为是一个章节进行分解式面试及讲解&#xff0c;不仅仅是面试&#xff0c;更像是一个专业的架构师研讨会课程。课程内容从数据结构与算法、Spring Framwork、JVM原理、 JUC并…

每日Bug汇总--Day03

Bug汇总—Day03 一、项目运行报错 二、项目运行Bug 1、问题描述&#xff1a;Vue前端项目运行后台管理平台订单管理页面下的三个子页面出现点击不同的路由还是会出现相同的页面&#xff0c;导致页面和数据不匹配 解决办法&#xff1a; 在监听器中添加状态来根据路由地址变化…

C++ | Leetcode C++题解之第20题有效的括号

题目&#xff1a; 题解&#xff1a; class Solution { public:bool isValid(string s) {int n s.size();if (n % 2 1) {return false;}unordered_map<char, char> pairs {{), (},{], [},{}, {}};stack<char> stk;for (char ch: s) {if (pairs.count(ch)) {if (…

【mT5多语言翻译】之六——推理:多语言翻译与第三方接口设计

请参考本系列目录&#xff1a;【mT5多语言翻译】之一——实战项目总览 [1] 模型翻译推理 在分别使用全量参数微调和PEFT微调训练完模型之后&#xff0c;我们来测试模型的翻译效果。推理代码如下&#xff1a; # 导入模型 if conf.is_peft:model AutoModelForSeq2SeqLM.from_pr…

如何设置端口映射?

端口映射是一种网络技术&#xff0c;通过在网络路由器或防火墙上设置规则&#xff0c;将外部网络请求转发到内部特定设备或服务的端口上。这样可以实现不同地区电脑与电脑、设备与设备、电脑与设备之间的信息远程通信&#xff0c;提供更加便捷的网络连接。 2. 天联组网 天联是…