前端CSS中“:hover”伪类选择器的使用

前端CSS中“:hover”伪类选择器的使用

  • 一、前言
  • 二、改变链接的属性
    • 1.源码1
    • 2.源码1运行效果
  • 三、改变图片的属性
    • 1.源码2
    • 2.源码2运行效果
  • 四、改变卡片的属性
    • 1.源码3
    • 2.源码3运行效果
  • 五、结语
  • 六、定位日期

一、前言

在css中的:hover(悬停)伪类选择器,主要功能是我们用鼠标悬停在我们设置好的页面元素上时,用以触发我们设置的某一元素的属性效果。它不会改变原有的代码功能,但可以加强我们使用者的交互性。
对一个超链接,如果我们鼠标悬停碰到它(移动鼠标碰到它),然后它出现了某种变化,如变大、变颜色等;或一个按钮,我们也用鼠标悬停碰到它的位置,原本方形变圆;又或者一张卡片,当鼠标悬停到它的位置时,它产生了阴影效果。网页有以上功能,这是不是可变得很有趣而丰富了呢?
这里我们举了3个例子,使用“:hover”伪类选择器,分别对链接、图片、卡片设置几个属性,达到动画演示的目的。

二、改变链接的属性

1.源码1

这里简单设置了一个超链接,因为仅用于演示,a标签里面的href属性便选择了“#”不跳转,如果有需要可以填写某个超链接,如某个网站的地址,我们点击它便会跳转到那个网站了。这里鼠标未悬停到链接上时,是黄背景蓝文字,当我们鼠标悬停到它时,它变慢慢变为蓝背景白文字。

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        /* 设置链接的初始样式 */
        .link {
            color: blue; /* 初始文本颜色为蓝色 */
            margin: 100px; /* 四周的外边距为100px */
            background-color: yellow; /* 初始背景颜色为黄色 */
            padding: 10px 20px; /* 内边距:上下10px,左右20px */
            transition: all 0.3s ease-in-out; /* 定义所有属性的变化将在0.3秒内平滑过渡 */
        }

        /* 鼠标悬停时的样式变化 */
        .link:hover {
            color: white; /* 悬停时文本颜色变为白色 */
            background-color: blue; /* 悬停时背景颜色变为蓝色 */
        }
    </style>
</head>
<body>
    <br>
    <a href="#" class="link">我是一个链接</a> <!-- 链接元素,应用了class "link" -->
</body>
</html>

2.源码1运行效果

  • 视频效果如下:

使用hover改变链接属性,黄底蓝字变化为蓝底白字

  • 鼠标未悬停在链接上时,截图效果如下:
    在这里插入图片描述
  • 鼠标悬停在链接上时,截图效果如下:
    在这里插入图片描述

三、改变图片的属性

这里我们先创建并显示一个图片,当鼠标悬停到它时,它则会变大。当然为了学习需要,我们同时添加了其他功能,如边框、圆角也会发生一些变化。

1.源码2

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        /* 图片的基础样式设置 */
        .image {
            width: 200px; /* 设置图片宽度为200像素 */
            height: 150px; /* 设置图片高度为150像素 */
            margin: 50px 50px; /* 设置图片外边距,上下左右各50像素 */
            border: 5px solid greenyellow; /* 设置边框宽度为5像素,样式为实线,颜色为青黄色 */
            transition: transform 0.3s ease,  /* 定义放大变换效果,持续时间0.3秒,动画过渡效果为平滑 */
                        border-radius 1s linear 0.5s, /* 定义边框圆角过渡效果,持续时间1秒,动画过渡效果为线性,延迟0.5秒开始 */
                        border-color 1s ease-in; /* 定义边框颜色过渡效果,持续时间1秒,动画过渡效果为渐进 */
        }

        /* 鼠标悬停时的样式设置 */
        .image:hover {
            transform: scale(1.2); /* 鼠标悬停时,将图片放大到120%的原始大小 */
            border: 6px solid aqua; /* 鼠标悬停时,改变边框宽度为6像素,颜色为水绿色 */
            border-radius: 50%; /* 鼠标悬停时,将边框设置为圆形 */
        }
    </style>
</head>
<body>
    <!-- 图片元素,设置源路径,alt属性为备用文本,当图片不显示时先显示alt文本内容 -->
    <img src="./小蜗牛.jpg" class="image" alt="小蜗牛764号">
</body>
</html>

2.源码2运行效果

  • 视频效果如下:

使用hover改变图片属性,矩形变椭圆,绿框变天蓝框,图片悬停变大

  • 鼠标未悬停在图片上时,截图效果如下:
    在这里插入图片描述

  • 鼠标悬停在图片上时,截图效果如下:
    在这里插入图片描述

四、改变卡片的属性

这里我们主要是想演示卡片的阴影效果,当然为了美观,我们插入了张图片和设置了个标题。我们主要目的还是是想演示卡片的阴影效果,也就是图片外的那个方框的内容。另外简单补充阴影box-shadow的内容,默认有5个参数,为便于理解,我们举例设置如下,

box-shadow: A B C D rgba(n,n,n,0~1)

  • A ------ 水平方向阴影,正数向右,负数向左。
  • B ------ 垂直方向阴影,正数向下,负数向上。
  • C ------ 阴影的模糊半径,值越大,阴影越模糊。
  • D ------ 阴影的扩展半径,正值会使阴影扩大和更宽。
  • rgba ------ 红色(red)、绿色(green)、蓝色(blue)、透明度(alpha),相关的参数。

补充: C和D的参数是可以选择性设置的,但其他的参数必须要设置,参数虽然有正有负,也别忘了还有个0也是可以设置的。

1.源码3

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        /* 设置卡片的宽度、高度、边框、内边距、外边距和阴影过渡效果 */
        .card {
            width: 400px; /* 卡片宽度设置为400px */
            height: 300px; /* 卡片高度设置为300px */
            border: 1px solid #ccc; /* 设置边框颜色为浅灰色 */
            padding: 20px; /* 内边距20px,为内容提供空间 */
            margin: 10px; /* 外边距10px,隔开周围元素 */
            transition: box-shadow 0.3s ease; /* 定义阴影变化的过渡效果,持续0.3秒,平滑过渡 */
        }

        /* 鼠标悬停时增加阴影,增强立体感和视觉焦点 */
        .card:hover {
            box-shadow: 5px 5px 20px rgba(206, 37, 206, 0.7); /* 阴影为深紫色,透明度0.7,更为明显 */
        }

        /* 设置卡片内图片的样式,包括宽度、自适应高度和边角圆滑 */
        .card img {
            width: 100%; /* 图片宽度为卡片宽度的100% */
            height: auto; /* 图片高度自动调整以保持宽高比 */
            border-radius: 10px; /* 图片边角圆角半径为10px */
        }
    </style>
</head>
<body>
    <div class="card">
        <img src="./小蜗牛.jpg" alt="小蜗牛764号" style="max-height: 60%;"> <!-- 图片路径,最大高度限制为60% -->
        <h1>小蜗牛764号的卡片</h1> <!-- 卡片标题 -->
    </div>
</body>
</html>

2.源码3运行效果

  • 视频效果如下:

使用hover给卡片添加阴影效果

  • 鼠标未悬停到卡片上,截图效果如下:
    在这里插入图片描述

  • 鼠标悬停到卡片上,截图效果如下:
    在这里插入图片描述

五、结语

用于衔接前面编写的transitionborder-radius的文章。本文关于阴影box-shadow效果的,只是简单描写,笔者认为对此学习需要还不够,需要再深入学习一下,最好再举个例子来学习效果好一些。那么关于阴影的,笔者会看情况再起一篇博文。笔者认为对于某一部分的内容,就主要先对此部分学好便可,次要部分只要不影响整体我们先了解,先把主要部分弄完,如此效率会高些。

六、定位日期

2024.4.19
15:18

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

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

相关文章

有交互作用的正交实验设计及数据分析

文章目录 一、认识有交互作用的正交试验1.1 交互作用1.2 问题假设1.3表头设计 参考“十二五”普通高等教育本科规划教材《实验设计与数据处理》 一、认识有交互作用的正交试验 1.1 交互作用 交互作用在实验设计中是指两个或多个因素在一起作用时对实验结果产生的影响&#xf…

OpenHarmony鸿蒙南向开发案例:【智能燃气检测设备】

样例简介 本文档介绍了安全厨房案例中的相关智能燃气检测设备&#xff0c;本安全厨房案例利用轻量级软总线能力&#xff0c;将两块欧智通V200Z-R/BES2600开发板模拟的智能燃气检测设备和燃气告警设备组合成。当燃气数值告警时&#xff0c;无需其它操作&#xff0c;直接通知软总…

如何用 AI 工具做数据分析与可视化?

&#xff08;注&#xff1a;本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费&#xff09; 万字长文&#xff0c;助力你用 AI 提升科研效率。 2024 年 4 月 14 日&#xff0c;应武汉大学信息管理学院的邀请&#xff0c;我和北京大学步一老师给几…

STM32学习和实践笔记(17):STM32外部中断(EXTI)的整体介绍

1.外部中断介绍 1.1 EXTI简介 STM32F10x外部中断/事件控制器&#xff08;EXTI&#xff09;包含多达 20 个用于产生事件/中断请求的边沿检测器。&#xff08;事件与中断的区别&#xff0c;可参看STM32---中断与事件的区别_中断和事件的区别-CSDN博客&#xff09; 具体有哪些&a…

Android JetPack Compose+Room----实现搜索记录功能

文章目录 需求概述功能展示实现搜索功能使用的技术1.Android Jetpack room2.Android JetPack Compose 代码实现编写搜索界面接入Room实现搜索功能的管理引入依赖定义包结构定义操作表的Dao类定义数据库的基础配置定义数据库的Dao管理类使用数据库升级 源码地址 需求概述 搜索功…

人工智能论文GPT-3(2):2020.5 Language Models are Few-Shot Learners;微调;少样本Few-Shot (FS)

2 方法Approach 我们的基本预训练方法&#xff0c;包括模型、数据和训练&#xff0c;与GPT-2中描述的过程相似&#xff0c;只是模型规模、数据集规模和多样性&#xff0c;以及训练时长有所扩大&#xff0c;相对简单直接。 我们使用的上下文学习也与GPT-2相似&#xff0c;但在…

CentOS 7静默安装Oracle 11g(记一次最小化CentOS 7安装Oracle 11g的经历)

# [pdf在线免费转word文档](https://orcc.online/pdf) https://orcc.online/pdf 1.最小化安装CentOS 7后首先设置一下固定IP 可以先查询一下自己的网卡设备的名称&#xff0c;是ens33&#xff0c;所以网卡配置文件名称就是ifcfg-ens33&#xff08;前面的ifcfg-不用管&#xf…

【开源】使用Python+Flask+Mysql快速开发一个用户增删改查系统

项目演示 项目本身很简单&#xff0c;增删改查是几乎所有系统的骨架。正所谓万丈高楼平地起&#xff0c;学会了增删改查&#xff0c;航母就指日可待了&#xff1a;&#xff09;&#xff0c;光速入门&#xff0c;直接看演示图&#xff1a; 项目地址 https://github.com/mudf…

【Golang】Gin教学-获取请求信息并返回

安装Gin初始化Gin处理所有HTTP请求获取请求的URL和Method获取请求参数根据Content-Type判断请求数据类型处理JSON数据处理表单数据处理文件返回JSON响应启动服务完整代码测试 Gin是一个用Go&#xff08;又称Golang&#xff09;编写的HTTP Web框架&#xff0c;它具有高性能和简洁…

npx\pnpm 镜像过期解决方法

. // 1. 清空缓存 npm cache clean --force // 2. 关闭SSL验证 npm config set strict-ssl false // 3. 安装 到这里就可以正常使用npm命令安装需要的工具了。如( npm install -g cnpm )

华为机考入门python3--(17)牛客17- 坐标移动

分类&#xff1a;字符串 知识点&#xff1a; 正则匹配 re.match(pattern, move) 格式字符串&#xff0c;可以在字符串中直接引用变量 f"{x},{y}" 题目来自【牛客】 import re def is_valid_coordinate(move): # 使用正则表达式验证移动是否合法 # ^: …

面试: Hashtable vs ConcurrentHashMap

一、Hashtable和ConcurrentHashMap的不同和相同点 Hashtable 与 ConcurrentHashMap 都是线程安全的Map 集合。Hashtable 并发度低&#xff0c;整个Hashtable对应一把锁&#xff0c;同一时刻&#xff0c;只能有一个线程操作它。1.8之前ConcurrentHashMap使用了Segment 数组&…

缓存的使用及常见问题的解决方案

用户通过浏览器向我们发送请求&#xff0c;这个时候浏览器就会建立一个缓存&#xff0c;主要缓存一些静态资源&#xff08;js、css、图片&#xff09;&#xff0c;这样做可以降低之后访问的网络延迟。然后我们可以在Tomcat里面添加一些应用缓存&#xff0c;将一些从数据库查询到…

解决Keil V5.38 和 ST-Link V3 Debug不能运行问题

目录 概述 1 问题描述 1.1 情况一 1.2 情况二 1.3 情况三 2 解决方法 2.1 认识Keil Mico Lib 2.2 使能Keil Mico Lib 3 验证 3.1 进入C程序Main验证 3.2 断点验证 3.3 上电重启验证 4 结论 笔者使用的验证代码下载地址&#xff1a; stm32-freeRTOS-queue资源-CSD…

顺序表链表经典算法题

1.链表反转 typedef struct ListNode listnode; struct ListNode* reverseList(struct ListNode* head) {if(head NULL){return head;}listnode* p1 NULL;listnode* p2 head;listnode* p3 head->next;while(p2){p2->next p1;p1 p2;p2 p3;if(p3)p3 p3->next;}…

使用 Godot 游戏引擎为 Apple 的 visionOS 创建游戏和应用的平台

借助GodotVision ,您可以使用Godot 游戏引擎为 Apple VisionOS创建游戏和应用程序。 保卫牛城堡,一款使用 GodotVision 制作的 VisionOS 游戏 GodotVision 运行一个控制本机RealityKit 视图的无头 Godot实例。粗略地说:Godot 是后端,

二百三十三、Flume——Flume采集JSON文件到Kafka,再用Flume采集Kafka数据到HDFS中

一、目的 由于使用了新的Kafka协议&#xff0c;因为根据新的协议推送模拟数据到Kafka中&#xff0c;再Flume采集Kafka数据到HDFS中 二、技术选型 &#xff08;一&#xff09;Kettle工具 准备使用Kettle的JSON input控件和Kafka producer控件&#xff0c;但是搞了1天没搞定&…

如何用idm下载迅雷文件 idm怎么安装到浏览器 idm怎么设置中文

如果不是vip用户使用迅雷下载数据文件&#xff0c;其下载速度是很慢的&#xff0c;有的时候还会被限速&#xff0c;所以很多小伙们就开始使用idm下载迅雷文件&#xff0c;idm这款软件最大的优势就是下载速度快&#xff0c;还有就是具备网页捕获功能&#xff0c;能够下载网页上的…

【uniapp】 合成海报组件

之前公司的同事写过一个微信小程序用的 合成海报的组件 非常十分好用 最近的项目是uni的 把组件改造一下也可以用 记录一下 <template><view><canvas type"2d" class"_mycanvas" id"my-canvas" canvas-id"my-canvas" …

全开源小狐狸Ai系统 小狐狸ai付费创作系统 ChatGPT智能机器人2.7.6免授权版

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 测试环境&#xff1a;Linux系统CentOS7.6、宝塔、PHP7.4、MySQL5.6&#xff0c;根目录public&#xff0c;伪静态thinkPHP&#xff0c;开启ssl证书 具有文章改写、广告营销文案、编程…