利用transition属性实现一个简单小巧的hover效果

SmolForge轻量引擎:自定义皮肤与动画系统开发实战 在游戏和UI开发中,渲染引擎的核心价值在于平衡性能与表现力。现代引擎通过数据驱动的皮肤系统和声明式动画架构,将视觉元素抽象为可配置的样式块和关键帧序列,显著降低动态效果的实现门槛。这种技术方案让开发者能够通过JSON配置定义视觉样式和动画行为,实现资源高效复用和运行时动态调整。SmolForge作为轻量级渲染引擎的代表,其自定义皮肤功能支持样式继承和状态映射,动画系统则基于时间轴模型和缓动函数,为中小团队提供了可复用的动态界面解决方案。该引擎特别适合游戏角色换装、主题切换等需要灵活视觉定制的应用场景,帮助开 阅读详情

在实际工作中,简单利用css3的属性可以让页面更生动,如下面的例子:

这里写图片描述

“了解详情”的hover效果比单纯的颜色变换效果更生动。而实现的方式就是简单的利用了css3transition属性。

页面代码结构如下:

<div class="box">
    <a href="#">
        <span>了解详情</span>
        <em></em>
    </a>
</div>

原理

  1. 定位一个 初始width为0的em元素,hover的时候再将 width设置为容器的width.
  2. 再利用transiton对width变化的过程设置过度效果

css如下:

.box a {        
    position: relative; 
    z-index: 0;
    display: inline-block;
    width: 158px;
    height: 38px;
    line-height: 38px;
    text-align: center;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 20px;
}
.box a em {
    position: absolute;
    z-index: -1;
    top: 0px;
    left: 0px;
    display: inline-block;
    width: 0;  
    height: 100%;
    background-color: #fff;
    border-radius: 20px;
    transition: width .3s ease;
}

.box a:hover span {
    color: #00aeff;
}

.box a:hover em {
    width: 100%;  
}

利用伪元素可以让代码更简洁,语义化,代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="css/common.css"/>
        <style>
            .box {
                height: 500px;
                background-color: #4FAEE0;
            }
            .box a {        
                position: relative; 
                z-index: 0;
                display: inline-block;
                width: 158px;
                height: 38px;
                line-height: 38px;
                text-align: center;
                color: #fff;
                border: 1px solid #fff;
                border-radius: 20px;
            }
            .box a:after {
                content: '';
                position: absolute;
                z-index: -1;
                top: 0px;
                left: 0px;
                display: inline-block;
                width: 0;  
                height: 100%;
                background-color: #fff;
                border-radius: 20px;
                -moz-transition: width .3s ease;
                -webkit-transition: width .3s ease;
                -o-transition: width .3s ease;
                transition: width .3s ease;
            }
            .box a:hover {
                color: #00aeff;
            }
            .box a:hover:after {
                width: 100%;  
            }
        </style>
    </head>
    <body>
        <div class="box">
            <a href="#">了解详情</a>
        </div>
    </body>
</html>

参考

  1. https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions
  2. https://developer.mozilla.org/en-US/docs/Web/CSS/transition

(完)

16-伪类选择器:hover和transition 当鼠标放在图片上hover缓缓放大,离开图片还原,需要img和img:hover的大小有中间值。在某一个元素内部末尾插入内容,无法选中(只能用于双标签内部,单标签不好使):hover 鼠标悬停的样式当鼠标放到图片上时,图片变大,离开复原。transition过渡。 阅读详情

相关推荐

CSS3 transition鼠标hover按钮动画特效

这是一款使用纯CSS3制作的鼠标hover按钮动画特效。该鼠标hover按钮动画特效共15种不同的效果,分别使用css3 transition在鼠标hover按钮,或点击按钮时制作出炫酷的动画效果。

深入理解CSS(hover、transition、animation)

深入了解css的行高Line Height属性

qq_45859670的博客 710

GB28181安防平台未授权访问漏洞:原理、复现与修复指南

未授权访问漏洞是Web安全中常见的访问控制缺陷,其本质在于应用在提供对敏感功能或数据的访问前,未能对请求者的身份和权限进行充分验证。从技术原理上看,这类漏洞常源于拦截器配置错误、安全注解遗漏或自定义校验逻辑缺陷,导致本应受保护的API接口被意外暴露。在工程实践中,此类漏洞危害巨大,攻击者无需登录即可直接访问系统核心接口,可能引发敏感信息泄露、权限提升甚至系统接管。尤其在安防监控、物联网管理平台等场景中,一旦涉及用户管理接口(如`/api/user/**`),风险会急剧放大。本文以GB28181视频监控管理平

weixin_30271335的博客 440

transition和hover搭配使用时的技巧

如果将transition放在hover下,只有鼠标移入时才会有过渡效果,鼠标离开元素就不会有过渡效果了,而直接放在&::after伪元素下,不管鼠标移入移出元素,都会对::after伪元素发生改变的属性添加过渡。

weixin_46349935的博客 774

RK3588 C-PHY摄像头驱动升级踩坑记:从‘Only CSI2 supported’报错到成功取流

本文详细记录了在RK3588平台上调试C-PHY摄像头驱动的全过程,从‘Only CSI2 supported’报错分析到成功取流。内容涵盖C-PHY与CSI-2协议差异、SDK版本对比、V4L2框架下的bus-type解析机制,以及硬件排查与寄存器调优实战经验,为嵌入式Camera驱动工程师提供宝贵参考。

weixin_42522374的博客 125

机器学习面试笔试求职必背!八股文(1/5)

算法工程师,技术软件类求职机器学习必背八股文 更多算法/业务/HR面等笔试题面试题 —— >个性签名自取! 1. 特征工程: 1.1 为什么要对特征做归一化处理: Feature scaling,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术。特征间的单位(尺度)可能不同,比如身高和体重,比如摄氏度和华氏度,比如房屋面积和房间数,一个特征的变化范围可能是[ 1000 , 10000 ] [1000, 10000][1000,10000],另一个特征的变化范围可能是[ −.

大厂offer宝典 1万+

CSS 让hover效果平滑过渡回初始状态?

CSS 让hover效果平滑过渡回初始状态

白瑕 的博客 3382

植物叶绿体基因组分析全攻略:从共线性到密码子偏好性

本文全面解析植物叶绿体基因组分析流程,从共线性分析到密码子偏好性研究。详细介绍了叶绿体基因组结构特征、测序数据获取与质量控制、基因组组装与注释方法,以及比较基因组学和进化分析技术。特别关注IR区边界变异分析和选择压力评估,为植物系统发育研究和物种鉴定提供实用指南。

weixin_28475533的博客 222

前端css中的transition过渡的讲解和hover的讲解及作用

transition过渡动画和属性讲解及案例

2401_83968180的博客 1361

k最近邻算法——电影分类及案例详解

如图3-7所示,若将国际象棋棋盘放在二维直角坐标系中,格子的边长定义为1,坐标的x轴及y轴和棋盘方格平行,原点恰落在某一格的中心点,则王从一个位置走到其他位置需要的步数恰为二个位置的切比雪夫距离,因此切比雪夫距离也称为棋盘距离。关于这里的距离度量,这个电影分类的例子有2个特征,也就是2维的,可以使用我们高中学过的两点距离公式(两点距离公式其实就是欧氏距离在二维空间上的公式,也就是欧氏距离n的值为2的情况,欧氏距离也称为欧几里德距离)来计算距离,如图3-3所示。对数据进行归一化,避免量纲对计算距离的影响。

ZhShy 4560

OBYC自动科目确定整理

WGI是用来重估发货的,通过比较发货时的价格和最新计算的价格,以此将所有差异过账到分配给此事务码的总账科目。是工厂还是公司,一般项目中都是使用工厂,使用工厂的意思就是物料在每个工厂下有一个价格,如果使用公司,则一个公司下的所有工厂都使用一个价格。如果该物料用的是移动平均价,那么该库存依然还存在的情况下,这个价格差异会过账到存货科目上而不会过账到存货的价格差异科目上。用于确定存货评估过账的存货冲抵科目。事务码WGR是用来重估工厂收货的,根据 计算出来的价格差异,把库存的调整过账分配给这个事务码中的总账科目。

nopicture的博客 349

纯CSS3实现鼠标悬浮内容自动撑开的过渡动画

用 CSS3 实现的,由于高度的不确定,而 transtion 是需要具体的树枝,所以可以通过 max-height 这个属性间接的实现这么个效果 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> * { margin: 0; padding: 0; } ul, l

小人物的点点滴滴 1324

基于Simulink与MATLAB的七轴OpenArm机械臂逆运动学仿真与轨迹规划完整指南

本文详细介绍了七自由度OpenArm机械臂在MATLAB/Simulink环境下的运动学仿真与轨迹规划实现方法。首先建立了机械臂的DH参数模型,验证了正运动学计算;随后提出了两种逆运动学求解算法(数值迭代法和臂型角参数化解析法)的MATLAB实现方案;最后在Simulink中搭建了完整的轨迹规划与控制系统。研究解决了七自由度冗余机械臂特有的多解性、奇异性和关节限位约束等核心问题,为OpenArm机械臂的运动控制提供了完整的技术方案和可运行代码实现。

AI的内部世界的博客 684

开关制作源代码

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title></title> 6 <style type="text/css"> 7 ...

weixin_45073548的博客 382

uniapp+coze制作app智能体

使用 UniApp 配合 Coze 平台来开发一个具备 AI 智能体的 App,是一个高效且实用的选择。其核心思路主要有两种:一种是通过,另一种则是通过实现更自主的集成。下面的流程图可以帮你快速了解这两种方案的全貌。下面,我们来详细看看这两种方案分别如何操作。

suny8的专栏 573

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

DroidDeck 免Root装Linux桌面指南

把一颗 Adreno 手机变成能跑 X11/Wayland 应用的 Linux 桌面:DroidDeck 在 Android 上装出免 Root 的 Linux 桌面,内置 Flathub 商店、ARM64 应用和一整套怀旧主机模拟器。本文按硬件要求、三步安装到日常排坑的顺序走一遍。 ## 核对手机:是否在可运行名单内 装之前先看设备够不够格,[README.md](https://link.

gitblog_00814的博客 1098

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

CSSCO滤镜实战案例:打造引人注目的响应式图片画廊

想要为你的网站或应用添加专业级的摄影滤镜效果吗?CSSCO是一个基于纯CSS的摄影滤镜库,让你无需任何图像处理软件就能实现令人惊艳的视觉效果。本文将为你展示如何利用CSSCO滤镜快速创建一个响应式图片画廊,让你的图片展示更加专业和吸引人。💫 ## 为什么选择CSSCO滤镜? CSSCO提供了15种精心设计的摄影滤镜,灵感来源于流行的VSCO风格。这些滤镜完全使用CSS实现,无需JavaScr

gitblog_00750的博客 711

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

按钮状态设计全解析:从CSS实现到用户体验优化

在Web前端开发中,交互反馈是提升用户体验的核心环节。其基本原理是通过视觉和状态变化,即时响应用户操作,降低认知负荷。从技术价值看,良好的状态设计能显著提升产品的可用性和专业性,减少用户误操作。在应用场景上,无论是表单提交、数据加载还是导航切换,状态管理都至关重要。本文聚焦按钮这一基础UI组件,深入探讨其状态体系,涵盖默认、悬停、激活、焦点和禁用等核心状态,并结合CSS伪类选择器、过渡动画和JavaScript动态控制等前端技术,系统讲解如何实现流畅的交互反馈。同时,文章也涉及移动端适配、无障碍访问和性能优

weixin_33858336的博客 401

Baron无限滚动实现:大数据量场景下的高效滚动方案

你是否曾经遇到过需要处理大量数据展示的网页应用?传统的滚动条在应对大数据量时往往显得力不从心,性能瓶颈和用户体验问题频频出现。今天,我将为你介绍一个终极解决方案——Baron无限滚动库,这个轻量级、高性能的自定义滚动条工具将彻底改变你对网页滚动的认知。😊 Baron是一个原生系统滚动机制的自定义滚动条库,它不像传统的滚动库那样替换原生滚动,而是巧妙地隐藏系统滚动条并添加自定义样式。这种设计理念

gitblog_00458的博客 763

纯前端转盘抽奖模板:零依赖、可定制,快速实现互动抽奖

在前端开发中,CSS动画与JavaScript交互是实现动态效果的核心技术。通过CSS transform和transition属性,可以创建平滑的旋转动画,而JavaScript则负责控制动画逻辑与状态管理。这种技术组合在营销活动、用户互动等场景中具有重要价值,能够显著提升用户体验与参与感。本文聚焦于一个典型的应用场景——转盘抽奖,深入解析如何利用纯前端技术构建一个零依赖、高度可定制的抽奖组件。该方案采用模块化设计,将视觉层、逻辑层与数据层分离,便于开发者快速集成与二次开发。文中详细探讨了扇形绘制、旋转动

weixin_30813225的博客 360

Colorify.js入门教程:5分钟快速掌握图像颜色提取技巧

**Colorify.js** 是一个简单、可定制、轻量级的JavaScript颜色提取库,能够从图像中提取主色调并生成渐变背景。无论你是前端开发者还是设计师,这个强大的工具都能帮你快速实现图像颜色分析功能。在本文中,我将为你展示如何**快速掌握图像颜色提取技巧**,让网站设计更加生动有趣!🎨 ## 📦 什么是Colorify.js? Colorify.js 是一个纯JavaScript库

gitblog_00507的博客 349

终极开源图标解决方案:Open Iconic 全面指南与高效集成实践

在现代Web开发中,图标系统是构建优秀用户体验的核心组件。Open Iconic作为一款超轻量级的开源图标库,提供了223个精心设计的矢量图标,支持SVG、Webfont、PNG和WebP等多种格式,能够完美适配从8像素到64像素的各种显示需求。这个开源图标集合不仅体积小巧,更具备出色的跨平台兼容性,是前端开发者和设计师提升项目视觉效果的理想选择。 ## 🎯 为什么选择Open Iconic图

gitblog_00594的博客 392

提升用户体验:Vue File Agent预览功能全攻略(图片、视频、文档)

想要为你的Vue.js应用添加优雅的文件上传功能吗?Vue File Agent是当前最受欢迎的文件上传组件之一,它以其出色的预览功能和用户体验而闻名。无论是图片、视频还是各种文档格式,Vue File Agent都能提供美观的预览效果,让文件上传变得直观而高效。在这篇完整指南中,我们将深入探讨Vue File Agent的预览功能,帮助你为应用添加专业的文件处理体验。 ## 为什么选择Vue

gitblog_01054的博客 365

基于Web技术栈的桌面宠物开发实践:从状态机到跨平台应用

桌面应用开发是软件开发领域的重要分支,其核心在于实现与操作系统的深度交互和用户界面的高效渲染。通过理解状态机原理,开发者可以构建出具有复杂行为逻辑的交互式应用,这在游戏开发和智能助手等场景中尤为关键。Web技术栈凭借其高效的开发流程和强大的生态支持,结合HTML5 Canvas动画和CSS精灵图技术,能够实现流畅的图形渲染效果。利用轻量级封装方案如TAURI,开发者可以将Web应用打包为跨平台的桌面程序,实现无边框窗口和透明背景等原生特性。这种技术组合为创建可定制的桌面宠物应用提供了完整解决方案,其中状态机

weixin_33762130的博客 289

基于Next.js与AI API构建智能推荐系统:从架构到实践

推荐系统是现代Web应用中的核心技术,它通过分析用户行为与偏好,实现内容的个性化匹配。其原理通常涉及协同过滤、内容过滤或混合模型,旨在提升用户体验与商业转化率。随着大模型API的普及,开发者能够以前端友好的方式快速集成智能推荐能力。Next.js作为全栈React框架,凭借其服务端组件、API路由与流式渲染特性,为构建此类应用提供了高效架构。结合OpenAI等大模型API,开发者可以轻松实现自然语言理解与智能推荐逻辑,并设计本地降级方案保障服务鲁棒性。这种技术组合特别适用于电商、内容平台等需要动态个性化推荐

weixin_30764771的博客 351

hover的transition

hover的transition 作者:结一 日期:2013-01-04 点击:853  相信对于很多初学者,对于css3的transition到底是直接写在选择器上,还是写在选择器的hover上表示疑惑,下面给出两个实例,希望可以为您解惑。 div id="demo1" class="demo">demo1div> div id="demo2" class=

上海刚子的专栏 928
上一篇: propertyIsEnumerable的用法
下一篇: 单页切屏效果的原理
小菜101
博客等级 码龄10年 16粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值