CSS鼠标悬浮及其样式

news2025/1/13 6:57:32

在CSS中,鼠标悬浮(hover)是一种常见的交互效果。当用户将鼠标指针悬停在某个元素上时,CSS :hover 伪类可以用来定义该元素的样式变化。常用于按钮、链接、图片、列表项等元素的交互效果。

1. 基础语法

element:hover { /* 定义悬浮时的样式 */ }

  • element 是你要应用鼠标悬浮效果的元素,如 adivbuttonimg 等。
  • :hover 伪类表示鼠标悬浮在该元素上时应用的样式。

2. 常见的鼠标悬浮样式

2.1. 改变背景颜色

例如:悬浮时改变按钮的背景色。

button:hover {

background-color: #4CAF50; /* 绿色背景 */

color: white; /* 文字颜色变为白色 */

}

2.2. 改变文本颜色

例如:悬浮时改变链接的文本颜色。

a:hover {

color: red; /* 将文本颜色改为红色 */

}

2.3. 添加下划线

例如:悬浮时给链接添加下划线效果。

a:hover {

text-decoration: underline; /* 添加下划线 */

}

2.4. 缩放效果

例如:鼠标悬浮时让图片放大。

img:hover {

transform: scale(1.1); /* 放大10% */

transition: transform 0.3s ease; /* 添加过渡效果 */

}

2.5. 旋转效果

例如:鼠标悬浮时让元素旋转。

div:hover {

transform: rotate(15deg); /* 旋转15度 */

transition: transform 0.3s ease; /* 添加过渡效果 */

}

2.6. 阴影效果

例如:鼠标悬浮时添加阴影效果。

div:hover {

box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* 添加阴影 */

}

2.7. 透明度变化

例如:鼠标悬浮时改变元素的透明度。

div:hover {

opacity: 0.7; /* 改变透明度为0.7 */

}

3. 组合效果

你可以组合多个效果来创造更复杂的交互体验。比如,鼠标悬浮时同时改变背景色、文字颜色和添加阴影。

button:hover {

background-color: #ff6347; /* 背景颜色变为番茄色 */

color: white; /* 文字变白色 */

box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); /* 添加阴影 */

transform: scale(1.05); /* 放大元素 */

transition: all 0.3s ease; /* 添加过渡效果 */

}

4. 使用 transition 平滑过渡

在悬浮效果中使用 transition 可以让元素的样式变化更加平滑。

div {

transition: background-color 0.3s ease, transform 0.3s ease; /* 对背景颜色和变换添加过渡效果 */

} div:hover {

background-color: #f0f0f0; /* 改变背景颜色 */

transform: scale(1.1); /* 放大元素 */

}

5. 伪类组合

你还可以组合多个伪类来实现更复杂的交互效果。例如, :hover:focus 结合使用,适用于按钮或输入框。

button:hover, button:focus {

background-color: #ff6347;

color: white;

outline: none; /* 去掉焦点轮廓 */

}

示例:创建一个悬浮按钮

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hover Button</title>
    <style>
        /* 基础样式 */
        button {
            padding: 10px 20px;
            border: 2px solid #4CAF50;
            background-color: white;
            color: #4CAF50;
            font-size: 16px;
            cursor: pointer;
            border-radius: 5px;
            transition: all 0.3s ease; /* 添加平滑过渡 */
        }

        /* 鼠标悬浮时的效果 */
        button:hover {
            background-color: #4CAF50; /* 背景色变为绿色 */
            color: white; /* 文字颜色变为白色 */
            transform: scale(1.1); /* 按钮稍微放大 */
            box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* 添加阴影 */
        }
    </style>
</head>
<body>
    <button>Hover me!</button>
</body>
</html>

总结

  • :hover 伪类 用于定义鼠标悬浮时的样式,可以用于大多数HTML元素。
  • 常见的样式包括 背景色改变、文本颜色变化、缩放、旋转、阴影效果、透明度变化 等。
  • 使用 transition 可以使样式变化更加平滑。
  • 通过组合多种效果,可以创建复杂的交互体验。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51c~Pytorch~合集5

我自己的原文哦~ https://blog.51cto.com/whaosoft/13059544 一、PyTorch DDP 正在郁闷呢 jetson nx 的torchvision安装~~ 自带就剩5g 想弄到ssd 项目中的 venv中又 cuda.h没有... 明明已经装好什么都对 算了说今天主题 啊对 还是搬运啊 学习之工具人而已 勿怪 Distrib…

用vscode写latex-1

一般大伙使用 LaTeX 大体有两种方案&#xff0c; 一种是在本地配置环境或使用本地的软件&#xff0c;如 vscode LaTeX&#xff0c;texlive&#xff0c;lyx 等等&#xff1b; 另一种是线上 LaTeX 平台&#xff0c;其中用的最多的是 Overleaf&#xff0c;还有一部分高校也有自…

用户界面软件05

已知应用 几乎所有的流行的用户界面架构都使用这种模式。我在这里举三个例子&#xff1a; 1. Seeheim 用户界面架构的特点是有一个应用核心的领域层和一个用户界面层。后者 被分为两层&#xff0c;叫做表示层和对话控制层。因为这个架构和面向事务系统有渊源&#xff0c;没有…

虚拟文件系统 VFS

目录 虚拟文件系统 VFS 文件系统挂载过程 虚拟文件系统 VFS 统一标准的系统调用接口&#xff1a; VFS定义了一组标准的文件操作API&#xff0c;如open(), read(), write(), close()等&#xff0c;使得用户空间的应用程序无需关心底层文件系统的具体类型。 下层文件系统必须实现…

conda 批量安装requirements.txt文件

通常可以用下面conda命令安装requirements.txt文件 conda install --yes --file requirements.txt 但是&#xff0c;一旦遇到某个包安装失败&#xff0c;就会停止安装后续的包。 下面这条命令能解决上面出现的不执行后续包的问题&#xff0c;需要在CMD窗口执行&#xff1a; 点…

Auto-CoT:自动构建大模型的思维链提示

今天分享的是由上海交通大学发表的一篇文章&#xff1a;Auto-COT 论文题目&#xff1a;AUTOMATIC CHAIN OF THOUGHT PROMPTING IN LARGE LANGUAGE MODELS 论文链接&#xff1a;https://arxiv.org/pdf/2210.03493 代码地址&#xff1a;https://github.com/amazon-science/aut…

算法练习7——拦截导弹的系统数量求解

题目描述 某国为了防御敌国的导弹袭击&#xff0c;发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷&#xff1a;虽然它的第一发炮弹能够到达任意的高度&#xff0c;但是以后每一发炮弹都不能高于前一发的高度。 假设某天雷达捕捉到敌国的导弹来袭。由于该系统还在试用…

命令行中打印二维码

前公司中登录设备时&#xff0c;需要下发密钥&#xff0c;密钥是通过扫描终端中的二维码获得的&#xff0c;终端中的二维码类似这样&#xff1a; 当时没理解原理&#xff0c;现在研究了下如何在命令行中打印二维码。主要介绍其中一些开源工具&#xff1a; 1. qrencode 简介 …

Android车机DIY开发之软件篇(八)单独编译

Android车机DIY开发之软件篇(八)单独编译 1.CarLauncher单独编译 CarLauncher源码位于 packages/apps/Car/Launcher 用Eclipse ADT 谷歌定制版编译而成&#xff0c;.mk .bp编译 Android13目录如下: alientekalientek:~/packages/apps/Car$ ls Calendar …

3 前端: Web开发相关概念 、HTML语法、CSS语法

文章目录 前言:导学1 Web开发相关概念2 Web标准(网页标准)3 软件架构(CS/BS)(1)C/S: Client/Server 客户端 / 服务器端(2)B/S: Browser/Server 浏览器 / 服务器端VSCode配置前段开发环境一、HTML概念1 概念2 HTML快速入门(1)语法快速入门(2)VSCode一个 !(快捷键…

Redis:内存管理

1. 最大内存限制 (maxmemory) 简介 概念:maxmemory 参数用于设置 Redis 实例允许使用的最大内存量。作用:当 Redis 使用的内存达到这个限制时,它会根据配置的淘汰策略来决定如何处理新的写入请求或移除现有数据。示例 # 设置最大内存为2GB maxmemory 2gb注意事项 合理规划…

C语言进阶——1数据的存储

目录 1. 数据类型介绍1.1 类型的基本归类&#xff1a;1.1.1 整形家族1.1.2 浮点型家族1.1.3 构造类型&#xff1a;1.1.4.指针类型1.1.5 void 表示空类型&#xff08;无类型&#xff09; 2. 整形在内存中的存储2.1 原码、反码、补码2.1.1 示例 20在计算机中的存储 2.2 大小端2.2…

OpenAI 故障复盘 - 阿里云容器服务与可观测产品如何保障大规模 K8s 集群稳定性

本文作者&#xff1a; 容器服务团队&#xff1a;刘佳旭、冯诗淳 可观测团队&#xff1a;竺夏栋、麻嘉豪、隋吉智 一、前言 Kubernetes(K8s)架构已经是当今 IT 架构的主流与事实标准&#xff08;CNCF Survey[1]&#xff09;。随着承接的业务规模越来越大&#xff0c;用户也在使…

【微服务】面试 1、概述和服务发现

微服务面试题 课程内容架构 Spring Cloud 部分 服务注册&#xff1a;重点讲解&#xff08;Nacos&#xff09;和&#xff08;Eureka&#xff09;&#xff0c;这是微服务架构中实现服务发现与注册的关键组件&#xff0c;确保服务间能够相互定位与通信。负载均衡&#xff1a;涵盖…

Mybatis冲冲冲00(含如何配置模版文件)

官方网站:mybatis – MyBatis 3 | 入门 mybatis安装方式1.下jar包(网址在上),2.Maven(代码也由上可找) 两个核心配置文件 1.核心主配置文件:configuration.xml(文件名自定义),通常设置为mybatis-config.xml 2.SQL映射文件:mapper.xml(文件名自定义),通常设置为:实体类名.xml…

【Rust】引用与借用

目录 思维导图 1. 引用与借用的基本概念 1.1. 引用示例 2. 借用的规则 2.1. 可变借用示例 2.2. 借用的限制 3. 引用的生命周期 思维导图 1. 引用与借用的基本概念 引用的定义&#xff1a;引用是一种指向数据的指针&#xff0c;但与裸指针不同&#xff0c;Rust的引用在编…

django网上商城系统

Django网上商城系统是一种基于Django框架构建的电子商务解决方案&#xff0c;它充分利用了Django框架的强大功能&#xff0c;为开发者提供了一个快速构建在线商店的平台。 一、系统架构与技术栈 Django网上商城系统采用MVC&#xff08;模型-视图-控制器&#xff09;架构&…

Node.js - 模块化与包管理工具

1. 前言 模块化是代码组织的方式&#xff0c;而包管理工具是管理模块的工具。在现代项目开发中&#xff0c;模块化和包管理工具几乎是不可分割的一部分&#xff0c;它们一起构成了高效的开发工作流。 包代表了一组特定功能的源码集合&#xff0c;包管理工具可以对包进行下载安…

贪心算法汇总

1.贪心算法 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 如何能看出局部最优是否能推出整体最优 靠自己手动模拟&#xff0c;如果模拟可行&#xff0c;就可以试一试贪心策略&#xff0c;如果不可行&#xff0c;可能需要动态规划。 如何验证可不可以…

leetcode-最长递增子序列

300. 最长递增子序列 - 力扣&#xff08;LeetCode&#xff09; 动态规划的题目我真的不想看题解&#xff0c;题解都是直接推出来动态转移方程&#xff0c;我就很纳闷&#xff0c;到底是怎么推出来的呢&#xff1f;什么样的智慧&#xff0c;上来分析问题就是那么的清晰有条理。我…