整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

平滑升级!一文掌握CSS过渡与动画属性,让你的网页动起来!

这里是云端源想IT,帮你轻松学IT”

嗨~ 今天的你过得还好吗?

找一颗属于你自己的星星吧

它会给你指引方向

一直到天明

- 2024.04.12 -

在网页设计中,动画效果是吸引用户眼球的重要手段。CSS动画中的过渡属性(transition)和动画(animation)属性,就像是设计师手中的魔法棒,可以让元素在页面上动起来,增加视觉吸引力,提升用户体验。

今天,我们就来揭秘这两个神奇的属性,看看它们是如何让网页变得生动活泼的。



一、过渡属性(transition)

过渡属性是CSS中的一种基本动画效果,它可以让元素的某个属性在一定的时间内平滑地从一个值变化到另一个值。这种变化可以是颜色、大小、位置等任何可以改变的属性。


属性值

1、transition-property:指定要执行过渡的属性

  • 多个属性间使用,隔开;
  • 如果所有属性都需要过渡,则使用all关键字;
  • 大部分属性都支持过渡效果;
  • 注意过渡时必须是从一个有效数值向另外一个有效数值进行过渡;


2、transition-duration:指定过渡效果的持续时间

  • 时间单位:s 和 ms(1s=1000ms)


3、transition-delay:过渡效果的延迟,等待一段时间后在执行过渡


4、transition-timing-function:过渡的时序函数

  • linear匀速运动
transition-timing-function: linear;
  • ease 默认值,慢速开始,先加速后减速
transition-timing-function: ease;
  • ease-in 加速运动
transition-timing-function: ease-in;
  • ease-out 减速运动
transition-timing-function: ease-out;
  • ease-in-out 先加速后减速
transition-timing-function: ease-in-out;
  • cubic-bezier()来指定时序函数
transition-timing-function: cubic-bezier(0.17, 1.79, 0.68, -0.69);
  • steps()分步执行过渡效果,可以设置第二个值:

end,在时间结束时执行过渡(默认值);start,在时间开始时执行过渡

/* transition-timing-function: steps(2, end); */
transition-timing-function: steps(2);
transition-timing-function: steps(2, start);

5、transition:可以同时设置过渡相关的所有属性

只有一个要求,如果要写延迟,则两个时间中第一个是持续时间,第二个是延迟时间。


示例:

/* transition: margin-left 2s 1s; */
transition-property: margin-left;
transition-duration: 2s;
transition-delay: 1s;

CSS中的animation属性是一个功能强大的工具,它允许开发者通过纯CSS的方式创建丰富的动画效果,从而增强网页的交互性和视觉吸引力。


二、动画(animation)属性

动画(animation)是CSS中的另一种属性,它比过渡更强大,可以创建更复杂的动画效果。动画允许我们定义关键帧,然后在这些关键帧之间创建平滑的过渡。


这意味着,我们可以让元素在一段时间内完成一系列的样式变化,从而创建出更丰富、更生动的动画效果。



设置动画效果,必须先要设置一个关键帧,关键帧设置了动画执行每一个步骤

@keyframes test {
from {
margin-left: 0;
}

to {
margin-left: 900px;
}
}


属性值:

1、animation-name:此属性指定要绑定到选择器的关键帧名称。关键帧是定义动画序列的地方,通过@keyframes规则创建。


2、animation-duration:定义动画完成一个周期所需的时间长度,可以设置成秒(s)或毫秒(ms)。必须明确指定该属性,因为默认值是0,如果设置为0,则动画不会播放。


3、animation-timing-function:指定动画如何完成一个周期的时间曲线,例如线性、缓动等。这决定了动画的速度在整个周期内是如何变化的。


4、animation-delay:设定动画在开始前延迟的时间,同样可设置单位为秒或毫秒。可以用来延迟动画的开始时间。



5、animation-iteration-count:确定动画循环播放的次数,可以是特定的数字或者infinite表示无限循环。

  • infinite 无限执行


6、animation-direction:规定动画在每次循环时是否反向播放,常用的值有normal(正常)和alternate(交替)。

  • normal 从from向to运行,每次都是这样,默认值
  • reverse 从to向from运行,每次都是这样
  • alternate 从from向to运行,重复执行动画时反向执行
  • alternate-reverse 从to向from运行,重复执行动画时反向执行

想要快速入门前端开发吗?推荐一个前端开发基础课程,这个老师讲的特别好,零基础学习无压力,知识点结合代码,边学边练,可以免费试看试学,还有各种辅助工具和资料,非常适合新手!点这里前往学习哦!云端源想

7、animation-fill-mode:定义动画在开始前和结束后的状态,比如可见或隐藏。

  • none 动画执行完毕,元素回到原来位置,默认值
  • forwards 动画执行完毕,元素会停止在动画结束的位置
  • backwards 动画延时等待时,元素就会处于开始位置
  • both 结合了forwards和backwards



8、animation-play-state:控制动画是否正在运行或暂停,常见的值有running(运行)和paused(暂停)。


此外,在使用animation属性时,至少需要指定两个属性:动画的名称和动画的持续时间。其他属性可以根据需要选择性地设置,以达到预期的动画效果。


示例

/* animation-name: test;
animation-duration: 2s;
animation-delay: 2s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-fill-mode: both; */

animation: test 2s 2s linear infinite alternate both;

总结来说,CSS的animation属性提供了一种在不使用JavaScript的情况下,通过纯CSS实现网页元素动画的方式。它能够使元素从一种样式平滑过渡到另一种样式,增强用户的视觉体验。


通过这篇文章,我们了解了CSS动画中的过渡属性和动画属性的基本概念和应用。它们可以帮助我们创建出各种吸引人的动画效果,让我们的网页更加生动有趣。


记住,好的动画效果应该是恰到好处的,过多的动画可能会让用户感到困扰。所以,让我们一起用好这两个属性,创造出更好的用户体验吧!



我们下期再见!

END

文案编辑|云端学长

文案配图|云端学长

内容由:云端源想分享


用AJAX实现动态数据交互的示例代码和心得体会

示例代码:

```html
<!DOCTYPE html>
<html>
<head>
<title>AJAX示例</title>
<script>
function loadXMLDoc() {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("demo").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "example.php", true);
xmlhttp.send();
}
</script>
</head>
<body>
<button type="button" onclick="loadXMLDoc()">点击加载数据</button>
<div id="demo"></div>
</body>
</html>
```

使用心得:

在开发过程中,我发现使用AJAX可以实现网页与服务器之间的异步数据交互,提升用户体验和页面性能。

1. AJAX(Asynchronous JavaScript and XML)是一种通过JavaScript和XML进行异步通信的技术。通过AJAX,可以在不刷新整个页面的情况下,向服务器发送请求并获取响应数据,然后使用JavaScript将数据动态更新到页面上。

2. 在示例代码中,我使用了XMLHttpRequest对象来创建AJAX请求。通过判断浏览器是否支持`XMLHttpRequest`对象,可以创建不同版本的`XMLHttpRequest`对象。然后,使用`open()`方法指定请求的方法(GET或POST)、URL和是否异步。接着,使用`send()`方法发送请求,并设置`onreadystatechange`事件处理函数来处理服务器响应。当`readyState`为4(表示请求已完成)且`status`为200(表示请求成功)时,将服务器响应的数据更新到页面上。

3. 在实际开发中,可以将AJAX与后端语言(如PHP)和数据库(如MySQL)结合使用,实现动态数据的增删改查等操作。可以通过AJAX向服务器发送请求,服务器接收到请求后,使用后端语言处理数据,并与数据库交互,最后将处理结果返回给前端页面。

在开发过程中遇到的问题和解决的bug:

在使用AJAX进行开发的过程中,我曾遇到过一些问题和bug。其中一次遇到的问题是跨域请求被浏览器拦截。由于浏览器的同源策略,AJAX请求默认只能向同源(协议、域名、端口号相同)的服务器发送请求,否则会被浏览器拦截。解决这个问题的方法是在服务器端设置响应头,允许跨域请求。

另外,我还遇到过一些其他的问题,比如请求超时、返回数据格式错误等。这些问题通常可以通过设置合理的超时时间、检查服务器端代码等方式来解决。

总结:

使用AJAX可以实现网页与服务器之间的异步数据交互,提升用户体验和页面性能。在开发过程中,需要注意浏览器的同源策略,并根据实际需求选择合适的后端语言和数据库。在遇到问题时,可以通过查看错误信息、调试代码等方式来解决。

(注:以上内容为笔记,非官方文档)

我是永不低头的熊,喜欢美食、健身,当然也喜欢写代码,每天不定时更新各类编程相关的文章,希望你在码农这条路上不再孤单!

可视化大屏,我们都知道数据的实时性对于大屏的意义,便于快速决策、快速响应。那么可视化大屏如何实现数据的实时更新,实施通知呢,都用到了哪些技术,本文为大家一一解读。

一、可视化大屏数据实时更新的意义

智慧园区可视化大屏数据实时更新具有以下重要意义:

  1. 即时监控:通过实时更新数据,智慧园区管理者和运营人员可以实时监控园区内各项指标和数据,及时发现异常情况并采取相应措施,确保园区运行的稳定性和安全性。
  2. 即时决策:实时更新的数据可以为管理者提供及时的决策支持。当园区发生变化或问题时,管理者可以根据实时数据做出快速决策,提高园区运营效率和管理水平。
  3. 实时通知:通过大屏数据实时更新,可以及时向园区内的员工、访客和其他相关人员传达重要信息和通知,确保信息的及时性和准确性。
  4. 数据分析:实时更新的数据可以用于进行实时数据分析,帮助管理者了解园区运行情况、趋势和规律,为未来的规划和决策提供参考依据。
  5. 提升用户体验:对于园区内的访客和客户来说,实时更新的数据可以提升他们的体验感受,使其更加了解园区的情况和服务,提高园区的吸引力和竞争力。


智慧园区可视化大屏数据实时更新对于园区管理、运营和用户体验都具有重要意义,可以帮助园区实现更高效的管理和运营,提升园区的整体管理水平和服务质量。


二、数据实时更新的过程

数据实时更新的过程通常包括以下几个步骤:

  1. 数据采集:首先,需要从各种数据源中采集数据。这些数据源可以包括传感器、数据库、第三方API等。数据采集可以通过各种方式实现,例如定时轮询、订阅/发布模式、Webhook等。
  2. 数据传输:采集到的数据需要通过网络传输到数据处理和展示的系统中。这通常涉及数据的编码、加密和传输,以确保数据的安全性和完整性。常用的传输协议包括HTTP、WebSocket、MQTT等。
  3. 数据处理:一旦数据到达数据处理系统,需要对数据进行处理和解析。这可能涉及数据的解析、转换、筛选、聚合等操作,以便将数据转换为可用于展示的格式。

  1. 数据存储:处理后的数据可能需要存储在数据库或缓存中,以便后续查询和展示。数据存储可以采用关系型数据库、NoSQL数据库、内存数据库等不同的存储方式。
  2. 数据展示:最后,数据需要在可视化大屏上进行展示。这包括设计和实现数据展示界面,将数据以图表、表格、地图等形式呈现给用户,以便用户能够直观地了解数据情况。
  3. 实时更新:为实现数据的实时更新,系统需要定时或实时地从数据源中获取最新数据,并更新到数据处理和展示系统中。这可能涉及定时任务、事件驱动等机制,以确保数据的及时更新和展示。

通过以上步骤,数据实时更新的过程可以实现数据的及时采集、传输、处理和展示,从而实现数据的实时更新和展示。这样可以帮助用户及时了解数据情况,做出快速决策,并提升用户体验


三、数据实施更新用到了哪些技术

数据实时更新涉及到多种技术和工具,以下是一些常用的技术和工具:

  1. 数据采集技术:
    • 传感器技术:通过传感器采集环境数据,如温度、湿度、光照等。
    • 数据库连接技术:通过数据库连接工具或API获取实时数据。
    • Web爬虫技术:通过网络爬虫技术从网站上获取实时数据。
  1. 数据传输技术
    • HTTP/HTTPS:通过HTTP或HTTPS协议传输数据。
    • WebSocket:使用WebSocket协议实现实时双向通信。
    • MQTT:轻量级的消息传输协议,适用于物联网设备之间的通信。

  1. 数据处理技术
    • 数据解析和转换:使用JSON、XML等格式对数据进行解析和转换。
    • 数据清洗和筛选:对数据进行清洗和筛选,去除无效数据或异常数据。
    • 数据聚合:将多个数据源的数据聚合在一起,形成完整的数据集。
  1. 数据存储技术:
    • 关系型数据库:如MySQL、PostgreSQL等用于存储结构化数据。
    • NoSQL数据库:如MongoDB、Redis等用于存储非结构化数据或大数据量数据。
    • 内存数据库:如Redis、Memcached等用于快速存取数据。



  1. 数据展示技术:
    • 可视化工具:如ECharts、Highcharts等用于将数据可视化展示。
    • 大屏展示系统:如大屏幕显示系统、数字看板等用于在大屏上展示实时数据。
    • Web前端技术:如HTML、CSS、JavaScript等用于设计和实现数据展示界面。
  1. 实时更新技术:
    • 定时任务:使用定时任务框架如Quartz、Spring Task等定时更新数据。
    • 事件驱动:使用消息队列或事件驱动框架如Kafka、RabbitMQ等实现实时数据更新。
    • 实时计算:使用流处理框架如Apache Flink、Apache Kafka Streams等实时处理数据并更新。

以上列举的技术和工具是实现数据实时更新的常用方法,根据具体的需求和场景可以选择合适的技朋和工具进行实施。


大象数据工场→10年经验的可视化/数字孪生领域的老司机,专注大数据设计和前端交互部分。关注我,带您了解最新的观点、技术、干货,如有需求可私信。