【CSS3】CSS3 动画 ③ ( 动画属性 | CSS3 常见动画属性简介 | 动画属性简写方式 | 动画属性简写语法 | 使用动画制作热点地图 )

news2024/9/25 17:16:03

文章目录

  • 一、CSS3 动画属性
    • 1、CSS3 常见动画属性简介
    • 2、代码示例 - CSS3 常见动画属性使用
  • 二、CSS3 动画属性简写方式
    • 1、CSS3 动画属性简写语法
    • 2、animation 简写动画属性提示
    • 3、动画属性简写形式与原形式对比
    • 4、代码示例 - CSS3 动画属性简写示例
  • 三、使用动画制作热点地图
    • 1、地图背景设置
    • 2、热点动画位置测量
    • 3、热点动画布局分析
    • 4、动画定义
    • 5、小圆点实现
    • 6、波纹效果盒子实现
    • 7、延迟动画设置
    • 8、代码示例





一、CSS3 动画属性




1、CSS3 常见动画属性简介


CSS3 中动画使用 @keyframes 关键字 定义 动画 ;

@keyframes element-move {  
  0% { transform: translateX(500px); }  
  100% { transform: translateX(0); }  
}  

在 @keyframes 定义的动画中 , 可以设置一系列的 CSS 属性 , 用于控制动画的运行 , 常见的属性如下 : ( 下面的动画属性是设置在 执行动画 的 标签元素 样式中的 )

  • animation-name 属性 : 设置在 @keyframes 定义动画时的 动画名称 , 一般在调用动画的 标签元素 中使用 , 用于定义动画执行哪些关键帧 , 该属性是调用动画必须要设置的 ;
        div {
            /* 设置动画名称 之前使用 @keyframes 定义的 element-move 动画 */
            animation-name: element-move;
        }
  • animation-duration 属性 : 设置 CSS3 动画的持续时间 , 默认为 0 ;
    • 单位可以是 秒 s ;
    • 单位也可以是 毫秒 ms ;
        div {
            /* 设置动画执行时间 2 秒 */
            animation-duration: 2s;
        }
  • animation-timing-function 属性 : 设置动画的 " 时间函数 " , 该函数体现了动画的速度变化曲线 ; 常见的值有
    • linear 线性
    • ease 缓入缓出
    • ease-in 缓入
    • ease-out 缓出
        div {
            /* 设置动画运动曲线 ease 缓入缓出 */
            animation-timing-function: ease;
        }
  • animation-delay 属性 : 设置动画的延迟时间 , 延迟指定的时间后 , 再执行动画 ;
    • 单位可以是 秒 s ;
    • 单位也可以是 毫秒 ms ;
        div {
            /* 设置动画开始时间 1 秒后开始 */
            animation-delay: 1s;
        }
  • animation-iteration-count 属性 : 设置 CSS3 动画 执行的 重复次数 ;
    • 可设置具体的次数 , 如 : 2 , 100 ;
    • 如果设置 无限次 , 可设置 infinite 属性值 ;
        div {
            /* 设置动画执行次数 无限循环播放 */
            animation-iteration-count: infinite;
        }
  • animation-direction 属性 : 设置 动画的 播放方向 ; 常见的值如下 :
    • normal 正常播放
    • reverse 反向播放
    • alternate 交替播放
        div {
            /* 设置动画播放方向 交替播放 一次正向一次反向 */
            animation-direction: alternate;
        }
  • animation-fill-mode 属性 : 设置 动画 播放后 的状态 ; 常见的值如下 :
    • none 不改变元素样式
    • forwards 保持动画结束时的样式
    • backwards 保持动画开始时的样式 , 回到起始点 ;
        div {
            /* 设置动画执行完毕后的状态 回到起始状态 */
            animation-fill-mode: backwards;
        }
  • animation-play-state 属性 : 设置 动画 播放状态 , 常见的值如下 :
    • running 运行中
    • paused 暂停
        div {
            /* 设置动画当前的播放状态 运行状态 */
            animation-play-state: running;
        }

2、代码示例 - CSS3 常见动画属性使用


代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>CSS3 动画属性</title>
    <style>
        @keyframes element-move {
            0% {
                transform: translateX(500px);
            }
            100% {
                transform: translateX(0);
            }
        }
        
        div {
            width: 100px;
            height: 100px;
            background-color: pink;
            /* 设置动画名称 之前使用 @keyframes 定义的 element-move 动画 */
            animation-name: element-move;
            /* 设置动画执行时间 2 秒 */
            animation-duration: 2s;
            /* 设置动画运动曲线 ease 缓入缓出 */
            animation-timing-function: ease;
            /* 设置动画开始时间 1 秒后开始 */
            animation-delay: 1s;
            /* 设置动画执行次数 无限循环播放 */
            animation-iteration-count: infinite;
            /* 设置动画播放方向 交替播放 一次正向一次反向 */
            animation-direction: alternate;
            /* 设置动画执行完毕后的状态 回到起始状态 */
            animation-fill-mode: backwards;
            /* 设置动画当前的播放状态 运行状态 */
            animation-play-state: running;
        }
    </style>
</head>

<body>
    <div></div>
</body>

</html>

执行效果 : 网页运行后 , 下面的小方块 无限循环 左右 往复运动 ;

在这里插入图片描述





二、CSS3 动画属性简写方式




1、CSS3 动画属性简写语法


CSS3 动画属性简写 语法 :

animation: 动画名称 持续时间 运动曲线 开始时间 播放次数 播放方向 结束状态;
animation: name duration timing-function delay iteration-count direction fill-mode;

上述简写的各个属性之间 , 使用空格隔开 ;

动画属性中 , 除了 animation-play-state 属性之外 , 其它动画属性都可以简写到 animation 属性中 ;

animation-play-state 属性 控制 动画开始暂停 , 一般需要根据代码逻辑单独控制 ;


animation 简写属性 中各属性对应关系 :

  • 动画名称 : animation-name , @keyframes 动画的名称 ;
  • 持续时间 : animation-duration , 动画运行一个周期所花费的时间 , 单位 秒 / 毫秒 ;
  • 运动曲线 : animation-timing-function , 动画运行曲线 , 默认 ease 缓入缓出 ;
  • 开始时间 : animation-delay , 动画开始运行的时间 , 单位 秒 / 毫秒 ;
  • 播放次数 : animation-iteration-count , 动画播放次数 , 默认 1 , 无限循环播放 infinite ;
  • 播放方向 : animation-direction , 动画播放方向 , 正 / 反 / 交替 ;
  • 结束状态 : animation-fill-mode , 动画运行开始结束后的状态 ;

2、animation 简写动画属性提示


在编写 animation 简写动画属性时 , 如果没有记住顺序 , 可以在 输入 anim 之后 , 发现下面的提示 ,

在这里插入图片描述
然后在第一个提示位置 , 敲回车 , 即可生成如下代码 :

animation: name duration timing-function delay iteration-count direction fill-mode;

在这里插入图片描述
然后根据上述代码提示 , 填充每个 动画属性值 ;


3、动画属性简写形式与原形式对比


原来设置动画属性需要的代码 :

            /* 设置动画名称 之前使用 @keyframes 定义的 element-move 动画 */
            animation-name: element-move;
            /* 设置动画执行时间 2 秒 */
            animation-duration: 2s;
            /* 设置动画运动曲线 ease 缓入缓出 */
            animation-timing-function: ease;
            /* 设置动画开始时间 1 秒后开始 */
            animation-delay: 1s;
            /* 设置动画执行次数 无限循环播放 */
            animation-iteration-count: infinite;
            /* 设置动画播放方向 交替播放 一次正向一次反向 */
            animation-direction: alternate;
            /* 设置动画执行完毕后的状态 回到起始状态 */
            animation-fill-mode: backwards;

使用动画的简写形式 , 只需一行代码即可实现 :

            /* 使用简写形式设置动画属性 */
            animation: element-move 2s ease 1s infinite alternate backwards;

4、代码示例 - CSS3 动画属性简写示例


代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>CSS3 动画属性</title>
    <style>
        @keyframes element-move {
            0% {
                transform: translateX(500px);
            }
            100% {
                transform: translateX(0);
            }
        }
        
        div {
            width: 100px;
            height: 100px;
            background-color: pink;
            /* 使用简写形式设置动画属性 */
            animation: element-move 2s ease 1s infinite alternate backwards;
            /* 设置动画当前的播放状态 运行状态 */
            animation-play-state: running;
        }
    </style>
</head>

<body>
    <div></div>
</body>

</html>

执行结果 : 在网页中的小方块左右往复运动 ;

在这里插入图片描述





三、使用动画制作热点地图



实现如下效果 , 在一张地图上 , 以某个位置为中心点 , 向四周发散 ;

在这里插入图片描述

核心 是实现 向四周 发散 的 波纹动画 ;


1、地图背景设置


地图背景设置 :

地图 是 一张 png 格式的 半透明 背景图片 , 图片大小为 747 x 617 像素 ;

使用 地图 图片 作为 div 盒子模型 的 背景图片 ;

    <!-- 为 该 div 盒子模型 设置 类名为 map -->
    <div class="map">

    </div>

上述 .map 类对应的 div 盒子模型的大小 , 也要设置为 747 x 617 像素 ; 同时设置 地图 背景图片 , 并设置 水平居中 ;

        .map {
            /* 盒子模型的宽高 就是 背景图片的宽高 */
            width: 747px;
            height: 617px;
            /* 设置背景图片 */
            background: url(images/map.png);
            /* 上下外边距设置为 0 , 左右外边距设置为 auto 居中 */
            margin: 0 auto;
        }

该地图是 半透明 白色背景 , 需要设置一个 暗色 的整体背景 , 才能看出来 , 这里将页面设置成 #333 颜色的 纯色背景 ;

        body {
            background-color: #333;
        }

设置完毕后 , 可以在网页中查看该背景图 ;


2、热点动画位置测量


在 map 父容器中 , 定义 city 子元素 , 该子元素使用 绝对定位 放置位置 ;

<body>
    <!-- 为 该 div 盒子模型 设置 类名为 map -->
    <div class="map">
        <!-- 为 该 div 盒子模型 设置 类名为 city -->
        <div class="city"></div>
    </div>
</body>

为上述 city 标签元素设置 CSS 样式 , 设置其定位方式为 绝对定位 , 根据 " 子绝父相 " 原则 , 该子元素 所在的 父容器 必须要使用 相对定位 ;

使用 left 和 top 设置 该 子元素 在 父容器内 距离左侧的位移 和 距离顶部的位移 ;

        .city {
            /* 使用绝对定位进行定位 , 子绝父相 , 父容器 相对定位 */
            position: absolute;
            /* 绝对定位位置 : 距离顶部的位移 */
            top: 100px;
            /* 绝对定位位置 : 距离左侧的位移 */
            left: 100px;
            /* 设置白色 , 容易分辨 */
            color: white;
        }

下面通过 F12 调试的方式 , 将 city 盒子 , 使用 绝对定位 定位到 地图图片 中的 北京 位置 ;

调试 界面中 , 找到 city 盒子模型位置 , 双击其 top 和 left 尺寸 , 使用鼠标滚轮修改该 盒子模型 绝对定位的位置 ;

  • Ctrl + 鼠标滚轮 一次可以增减 100 像素 ;
  • Shift + 鼠标滚轮 一次可以增减 10 像素 ;
  • 鼠标滚轮 一次可以增减 1 像素 ;
  • Alt+ 鼠标滚轮 一次可以增减 0.1 像素 ;

最终得到 , 将 city 布局设置到 北京 位置 , top 属性值为 220 像素 , left 属性值为 562 像素 ;
在这里插入图片描述


3、热点动画布局分析


分析 热点动画 , 发现内层的 蓝色实心 小圆圈 是不变的 , 始终都存在 ;

然后放置 2 ~ 3 个 可缩放的原型图片 作为 热点动画的 波纹 ;


页面的布局如下 : 其中的 dot 盒子是 中心小圆点 盒子 , bowen1 ~ bowen3 是三个波纹效果动画盒子 ;

<body>
    <!-- 为 该 div 盒子模型 设置 类名为 map -->
    <div class="map">
        <!-- 为 该 div 盒子模型 设置 类名为 city -->
        <div class="city">
            <!-- 该 div 盒子模型 是 中心的 小圆点 -->
            <div class="dot"></div>
            <!-- 该 div 盒子模型 是 波纹 -->
            <div class="bowen1"></div>
            <div class="bowen2"></div>
            <div class="bowen3"></div>
        </div>
    </div>
</body>

4、动画定义


动画实现如下 : 波纹效果动画 , 就是将 盒子模型 的大小 , 逐渐设置到 100 像素 , 中间可以设置若干动画节点 ;

        @keyframes bowen {
            0% {}
            70% {
                /* 执行到 70% 时 盒子变为 70 像素宽高 
                    透明度为 0 不可见 */
                width: 70px;
                height: 70px;
                opacity: 1;
            }
            100% {
                /* 放到最大时 盒子变为 100 像素宽高 
                    透明度为 0 不可见 */
                width: 100px;
                height: 100px;
                opacity: 0;
            }
        }

5、小圆点实现


小圆点实现 : 小圆点直接通过盒子模型实现 , 该盒子模型 宽高 8 像素 , 设置 50% 圆角 , 将外形设置为圆形 ;

        .dot {
            /* 设置小圆点宽高 */
            width: 8px;
            height: 8px;
            /* 设置小圆点背景颜色 */
            background-color: #09f;
            /* 将标签设置为圆形 */
            border-radius: 50%;
        }

6、波纹效果盒子实现


波纹效果 盒子 实现 :

  • 该盒子始终要放置在 city 盒子中心位置 , 因此使用绝对定位 position: absolute; 设置了 top: 50%; , left: 50%; , 以及 transform: translate(-50%, -50%); 样式 ;
  • 该盒子模型设置一个 阴影 , box-shadow: 0 0 12px #009dfd; , x , y 轴偏移为 0 , 阴影半径 12 像素 ;
  • 动画属性设置为 animation: bowen 1.5s linear infinite; , 使用 bowen 动画 , 持续时间 1.5 秒 , 使用线性函数 , 无限循环播放 ;
        .city div[class^="bowen"] {
            /* city 类下的 div 类型标签 , 类型是以 bowen 开头的标签 */
            /* 使用绝对定位进行定位 , 子绝父相 , 父容器 相对定位 */
            position: absolute;
            /* 绝对定位位置 : 距离顶部的位移 */
            top: 50%;
            /* 绝对定位位置 : 距离左侧的位移 */
            left: 50%;
            /* 保证 波纹 在 父容器中 垂直 / 水平 居中对齐
                放大后 , 以中心为终点 向四周发散 */
            transform: translate(-50%, -50%);
            /* 设置波纹宽高 , 之后设置其放大 */
            width: 8px;
            height: 8px;
            /* 设置阴影 x , y 轴偏移为 0 , 阴影半径 12 像素 */
            box-shadow: 0 0 12px #009dfd;
            /* 设置布局为圆形 , 不要是四方的 */
            border-radius: 50%;
            /* 设置动画属性 */
            animation: bowen 1.5s linear infinite;
        }

7、延迟动画设置


第二个波纹 和 第三个波纹 的 动画 , 需要延迟 0.5 秒 和 1 秒 执行 ;

注意 选择器 的提权使用 , 之前使用了 .city div[class^="bowen"] 选择器 设置了动画属性 , 如果设置动画延迟属性的选择器优先级低于前者选择器 , 那么设置是无效的 , 因此这里使用了 .city div.bowen2 选择器 进行了提权 ;

        .city div.bowen2 {
            /* 选择器这么写是为了使该选择器 与 
                .city div[class^="bowen"] 选择器 权限相同
                否则 该设置 不生效 */
            animation-delay: 0.5s;
        }
        
        .city div.bowen3 {
            /* 选择器这么写是为了使该选择器 与 
                .city div[class^="bowen"] 选择器 权限相同
                否则 该设置 不生效 */
            animation-delay: 1s;
        }

8、代码示例


代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>CSS3 动画属性示例 - 地图热点</title>
    <style>
        body {
            background-color: #333;
        }
        
        .map {
            /* 子绝父相 , 子元素使用绝对定位 , 该父容器需要使用相对定位 */
            position: relative;
            /* 盒子模型的宽高 就是 背景图片的宽高 */
            width: 747px;
            height: 617px;
            /* 设置背景图片 */
            background: url(images/map.png);
            /* 上下外边距设置为 0 , 左右外边距设置为 auto 居中 */
            margin: 0 auto;
        }
        
        .city {
            /* 使用绝对定位进行定位 , 子绝父相 , 父容器 相对定位 */
            position: absolute;
            /* 绝对定位位置 : 距离顶部的位移 */
            top: 228px;
            /* 绝对定位位置 : 距离左侧的位移 */
            left: 548px;
            /* 设置白色 , 容易分辨 */
            color: white;
        }
        
        .dot {
            /* 设置小圆点宽高 */
            width: 8px;
            height: 8px;
            /* 设置小圆点背景颜色 */
            background-color: #09f;
            /* 将标签设置为圆形 */
            border-radius: 50%;
        }
        
        .city div[class^="bowen"] {
            /* city 类下的 div 类型标签 , 类型是以 bowen 开头的标签 */
            /* 使用绝对定位进行定位 , 子绝父相 , 父容器 相对定位 */
            position: absolute;
            /* 绝对定位位置 : 距离顶部的位移 */
            top: 50%;
            /* 绝对定位位置 : 距离左侧的位移 */
            left: 50%;
            /* 保证 波纹 在 父容器中 垂直 / 水平 居中对齐
                放大后 , 以中心为终点 向四周发散 */
            transform: translate(-50%, -50%);
            /* 设置波纹宽高 , 之后设置其放大 */
            width: 8px;
            height: 8px;
            /* 设置阴影 x , y 轴偏移为 0 , 阴影半径 12 像素 */
            box-shadow: 0 0 12px #009dfd;
            /* 设置布局为圆形 , 不要是四方的 */
            border-radius: 50%;
            /* 设置动画属性 */
            animation: bowen 1.5s linear infinite;
        }
        
        .city div.bowen2 {
            /* 选择器这么写是为了使该选择器 与 
                .city div[class^="bowen"] 选择器 权限相同
                否则 该设置 不生效 */
            animation-delay: 0.5s;
        }
        
        .city div.bowen3 {
            /* 选择器这么写是为了使该选择器 与 
                .city div[class^="bowen"] 选择器 权限相同
                否则 该设置 不生效 */
            animation-delay: 1s;
        }
        
        @keyframes bowen {
            0% {}
            70% {
                /* 执行到 70% 时 盒子变为 70 像素宽高 
                    透明度为 0 不可见 */
                width: 70px;
                height: 70px;
                opacity: 1;
            }
            100% {
                /* 放到最大时 盒子变为 100 像素宽高 
                    透明度为 0 不可见 */
                width: 100px;
                height: 100px;
                opacity: 0;
            }
        }
    </style>
</head>

<body>
    <!-- 为 该 div 盒子模型 设置 类名为 map -->
    <div class="map">
        <!-- 为 该 div 盒子模型 设置 类名为 city -->
        <div class="city">
            <!-- 该 div 盒子模型 是 中心的 小圆点 -->
            <div class="dot"></div>
            <!-- 该 div 盒子模型 是 波纹 -->
            <div class="bowen1"></div>
            <div class="bowen2"></div>
            <div class="bowen3"></div>
        </div>
    </div>
</body>

</html>

执行效果 :
在这里插入图片描述

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

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

相关文章

关于在c++中使用数组名作为函数参数,或者使用数组名的地址作为函数参数问题的一些研究

前言 使用数组名作为函数参数&#xff0c;或者使用数组名的地址作为函数参数&#xff0c;常常出现于对于字符串的读入问题之中。 常有以下两种写法&#xff1a; 这是使用数组名作为函数参数 #include<cstdio> char s[100]; int main() {scanf("%s",s); }在…

Java课题笔记~ 使用 AspectJ 的 AOP 配置管理事务(掌握)

使用 XML 配置事务代理的方式的不足是&#xff0c;每个目标类都需要配置事务代 理。当目标类较多&#xff0c;配置文件会变得非常臃肿。 使用 XML 配置顾问方式可以自动为每个符合切入点表达式的类生成事务代 理。其用法很简单&#xff0c;只需将前面代码中关于事务代理的配置…

【C++】开源:CGAL计算几何库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍CGAL计算几何库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;…

COCOS项目运行的时候图片模糊的原因

1、首先。用X坐标来分析&#xff0c;如果size*Anchor Position有小数&#xff0c;如上图57*0.5667695.5。这样就会导致x模糊。如果y同样计算结果包含小数&#xff0c;那么y也会模糊。xy同时模糊的情况是最模糊的。 2、如果当前node没有问题&#xff0c;那么就要检查上级node是…

Linux学习之awk字段

awk把每行内容称之为记录&#xff0c;而使用特殊字符分割之后的字符串称为 字段。 字段的引用 echo a : 1 : good :::: >> awktest.txt echo b : 2 : well :::: >> awktest.txt echo c : 3 : food :::: >> awktest.txt echo d : 4 : hood :::: >> aw…

effective c++学习笔记(前五章)

目录 一 让自己习惯C01 视C为一个语言联邦02 尽量以const&#xff0c;enums&#xff0c;inline替换#define**指针常量--指针类型的常量&#xff08;int * const p)****常量指针—指向“常量”的指针&#xff08;const int * p&#xff0c; int const * p&#xff09;**类静态常…

Java分布式微服务4——异步服务通讯(RabbitMQ)中间件

文章目录 微服务的远程异步调用MQ介绍RabbitMQRabbitMQ结构RabbitMQ的单机部署1.下载镜像2.安装MQ RabbitMQ入门常见消息模型 SpringAMQPSpringAMQP实现基础消息队列SpringAMQP实现工作队列SpringAMQP实现发布订阅1. Fanout Exchange 广播模式2. Direct Exchange 路由模式3. To…

Add-in Express for Microsoft Office and Delphi Crack

Add-in Express for Microsoft Office and Delphi Crack 适用于Microsoft Office和Delphi VCL的Add-in Express使您能够在几次点击中为Microsoft Office开发专业插件。它生成基于COM的项目&#xff0c;这些项目包含Microsoft Office外接程序或智能标记的所有必要功能&#xff0…

3分钟创建新生分班查询二维码,无需技术、0成本

作为教师&#xff0c;我们深知分班是一项极其重要的任务&#xff0c;需要综合考虑学生的性格、能力和兴趣等多个方面&#xff0c;以确保每个学生都能够获得最佳的学习环境和成绩。在本文中&#xff0c;我将分享一种便捷的方式来告知家长有关分班录取情况的方法。 通常&#xf…

深度学习关键要素:数据集汇总与分享

引言 在深度学习的应用中&#xff0c;数据被认为是最重要的因素之一。因此&#xff0c;选择一个好的数据集对于深度学习的成功至关重要。在选择数据集时&#xff0c;不仅需要关注数据量的大小、多样性以及质量&#xff0c;还要考虑数据集是否代表了所研究问题的真实情况。本文…

分布式应用:Zabbix代理服务器与SNMP监控

目录 一、理论 1.分布式监控 2.Zabbix代理服务器部署 3.配置 agent 使用 proxy 4.设置 Zabbix-SNMP 监控 二、实验 1.Zabbix代理服务器部署 2.配置 agent 使用 proxy 3.设置 Zabbix-SNMP 监控 三、总结 一、理论 1.分布式监控 &#xff08;1&#xff09;作用&#x…

基于Java开发的企业级数字化采购系统

一、项目介绍 一款全源码可二开&#xff0c;可基于云部署、私有部署的企业级数字化采购管理系统&#xff0c;供应商全生命周期管控&#xff0c;公开询价管理&#xff0c;招标&#xff0c;定标&#xff0c;评审&#xff0c;生成订单&#xff0c;送货&#xff0c;收货全流程管理…

Linux 上安装部署Nacos

标题&#xff1a;在Linux上安装和部署Nacos Nacos是一个开源的分布式服务发现和配置管理平台&#xff0c;它可以帮助开发人员实现微服务架构中的服务注册、发现和动态配置管理。 步骤1&#xff1a;准备工作 在开始安装Nacos之前&#xff0c;确保您已经具备以下条件&#xff1…

VS通过TCPIP与visionpro通讯

效果图 服务器端 visionpro配置服务器端&#xff0c;配置端口号、需要发送的数据等 客户端 vs编写代码接收数据 主要是复制的例程&#xff0c;到时候编写的时候可以借鉴。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat…

使用 `nmcli` 在 CentOS 8 上添加永久路由

CentOS 8 使用 NetworkManager 作为默认的网络管理工具&#xff0c;因此我们可以使用 nmcli 工具来实现相同的目标。使用 nmcli 可以更加直观地管理路由&#xff0c;并且更符合 CentOS 8 的默认网络管理方式。 以下是使用 nmcli 在 CentOS 8 上添加永久路由的步骤&#xff1a;…

类加载机制——双亲委派机制

类加载器分类 类加载器 类加载器&#xff08;英文&#xff1a;ClassLoader&#xff09;负责加载 .class 字节码文件&#xff0c;.class 字节码文件在文件开头有特定的文件标识。ClassLoader 只负责 .class 字节码文件的加载&#xff0c;至于它是否可以运行&#xff0c;则由 E…

【论文阅读】基于深度学习的时序异常检测——TimesNet

系列文章链接 参考数据集讲解&#xff1a;数据基础&#xff1a;多维时序数据集简介 论文一&#xff1a;2022 Anomaly Transformer&#xff1a;异常分数预测 论文二&#xff1a;2022 TransAD&#xff1a;异常分数预测 论文三&#xff1a;2023 TimesNet&#xff1a;基于卷积的多任…

《乡村振兴战略下传统村落文化旅游设计》浙江新华书店已售罄!

《乡村振兴战略下传统村落文化旅游设计》浙江新华书店已售罄&#xff01;

CTF Stegano练习之隐写初探

今天要介绍的是CTF练习中的Stegano隐写题型 。做隐写题的时候&#xff0c;工具是很重要的&#xff0c;接下来介绍一些工具。 1、TrID TrID是一款根据文件二进制数据特征进行判断的文件类型识别工具。虽然也有类似的文件类型识别工具&#xff0c;但是大多数都是使用硬编码的识…

11个点告诉你 如何用Docker+jenkins 运行 python 自动化

一、实现思路 在 Linux 服务器安装 docker 创建 jenkins 容器 根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境) 运行新的 python 容器&#xff0c;执行 jenkins 从仓库中拉下来的自动化项目 执行完成之后删除容器 二、环境准备 Linux 服务器一台(我的是 C…