网站常用的几种动态显示信息效果

2024-03-21 22:50

本文主要是介绍网站常用的几种动态显示信息效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于技术快速发展,静态页面已吸引不了用户眼光,所以网站增加一些动画效果,不仅可以使客户眼前一亮,也能提高体验互动;本文主要介绍下面五种效果:

1.(效果图第一行图1)鼠标浮动到图片上面,图片慢慢透明化,同时文字和边框慢慢显示(文字上下移动动态效果,边框沿边框线显示的动态效果);

2.(效果图第一行图2)鼠标浮动到图片上面,图片慢慢放大,同时遮罩层和文字慢慢显示(文字上下移动动态效果);

3.(效果图第二行图1)鼠标浮动到图标上面,往图标上面慢慢翻页显示一本书;

4.(效果图第二行图2)鼠标浮动到图标上面,往图标上面先左右延伸底部边框线,然后慢慢往上滑动显示文字内容;

5.(右边快捷菜单)鼠标浮动到图标上面,先慢慢消失文字层,然后往左边慢慢显示出四个按钮。

HTML代码

html代码这一块,都是一些简单排版,详细代码可自行查看下图。

CSS代码

本文的实例都是由css代码实现,所以这一块是本文的重点,下面按实例顺序一个个分析实现的过程。

效果图第一行图1实现过程,详细步骤如下(主要分析跟动态效果有关的代码):

1.默认状态下(transition产生慢慢变化过程,不显得突兀):

图片(img)设置了透明度(opacity)动画过渡0.3s(transition);              边框线(border)设置了透明度(opacity)和动作(transform)动画过渡0.5s(transition)且边框线对应方向收缩(左右y轴收缩scale3d(1, 0, 1)、上下x轴收缩scale3d(0, 1, 1));

元素h2的文字设置了动作(transform)动画过渡0.3s(transition)且文字往上移动20px(translate3d(0, -20px, 0));

元素p的文字设置了动作(transform)动画过渡0.3s(transition)且文字往下移动20px(translate3d(0, 20px, 0))。

2.鼠标浮动到图片上(效果图如图4):  

图片(img)的透明度(opacity)慢慢变为0.4(opacity: .4);

边框线(border)的左右线都是慢慢从中间往两边伸长,而上下线都是慢慢从中间往上下伸长,最终边框四点连接一起成一个正方形(opacity: 1和transform: scale3d(1, 1, 1));

元素h2的文字往下移动20px(transform: scale3d(0, 0, 0);

元素p的文字往上移动20px(opacity: 1和transform: scale3d(0, 0, 0)。

3.鼠标离开图片:  

所有元素按设置的动画过渡恢复原来的排版。

效果图第一行图2实现过程,详细步骤如下(主要分析跟动态效果有关的代码):

1.默认状态下(transition产生慢慢变化过程,不显得突兀):

图片(img)设置了动作(transform)动画过渡0.3s(transition);

元素i的“+”设置了动作(transform)动画过渡0.3s(transition)且文字往上移动20px(translate3d(0, -20px, 0));

元素p的文字设置了动作(transform)动画过渡0.3s(transition)且文字往下移动20px(translate3d(0, 20px, 0))。

2.鼠标浮动到图片上(效果图如图4):  

图片(img)慢慢放大1.5倍(scale3d(1.5, 1.5, 1.5));

元素i的“+”往下移动20px(opacity: 1和transform: scale3d(0, 0, 0);

元素p的文字往上移动20px(opacity: 1和transform: scale3d(0, 0, 0)。

3.鼠标离开图片:  

所有元素按设置的动画过渡恢复原来的排版。

效果图第二行图1实现过程,详细步骤如下(主要分析跟动态效果有关的代码):

1.默认状态下(transition产生慢慢变化过程,不显得突兀):

文本的整个区域(flip-content)设置了所有(all)动画过渡0.3s(transition)且透明度为0(opacity: 0)、整个区域两边沿y轴旋转90度合拢且向下移动15px(rotate3d(0, 1, 0, 90deg) translate3d(0, 15px, 0))。

 2.鼠标浮动到图片上(效果图如图4):  

文本的整个区域慢慢往上移动过程并向两边打开(opacity: 1和transform: scale3d(1, 1, 1),从而形成打开书的效果。

3.鼠标离开图片:  

所有元素按设置的动画过渡恢复原来的排版。

效果图第二行图2实现过程,详细步骤如下(主要分析跟动态效果有关的代码):

1.默认状态下(transition产生慢慢变化过程,不显得突兀):

文本的整个区域(line-content)设置了透明度(opacity)动画过渡0.3s延迟0.3s(transition: opacity .3s .3s)且透明度为0(opacity: 0);

底部白线(line-text)设置了动作(transform)动画过渡0.3s延迟0.3s(transition: transform .3s .3s)且x轴缩放为0(transform: scale3d(0, 1, 1));

文字区域(line-inner)设置了动作(transform)动画过渡0.3s(transition: transform .3s)且往下移动100%全部隐藏(transform: translate3d(0, 100%, 0))。

2.鼠标浮动到图片上(效果图如图3):  

由于鼠标浮动到图片上设置了文本的整个区域(line-content)和底部白线(line-text)延迟为0,而文字区域(line-inner)延迟为0.3s,所以先是显示白色倒三角形,然后底部边框线往两边延长,最后再往上滑动显示内容,形成一个很顺畅的流程效果。

3.鼠标离开图片:  

由于设置了延迟时间,所以整个恢复过程是先往下滑动隐藏内容,然后底部白线往中间收缩,最后隐藏白色倒三角形。

右边快捷菜单实现过程,详细步骤如下(主要分析跟动态效果有关的代码):

1.默认状态下(transition产生慢慢变化过程,不显得突兀):

图标(icon)设置了背景颜色(background-color)动画过渡0.5s、圆角边框(border-radius)动画过渡0.5s延迟0.25s和外边距(margin )动画过渡0.5s延迟0.25s,且速度都为先快后慢(ease-out)(transition: background-color .5s ease-out, border-radius .5s .25s ease-out, margin .5s .25s ease-out);

文字层(label)遮住四个图标,且设置了透明度(opacity)动画过渡0.5s速度先快后慢延迟0.75s(transition: opacity 0.5s ease-out 0.75s)。

2.鼠标浮动到图片上(效果图如图5):  

文字层(label)慢慢消失过程中,图标(icon)才慢慢往左移动展开,且图标(icon)背景色和圆角边框也根据相应设置慢慢变化,形成一个很柔顺的过程。

3.鼠标离开图片:  

由于设置了延迟时间,所以整个恢复过程是图标(icon)慢慢往右移动收起过程中,文字层(label)才慢慢显示出来。

 

注意事项

transition和transform都存在不同浏览器兼容问题,本文只是写了chrome的兼容,其它浏览器的样式记得补全;

本文都是使用3d(scale3d、translate3d等),有利于提高性能。

这篇关于网站常用的几种动态显示信息效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/834031

相关文章

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1