CSS3+动画
浏览器内核以及其前缀
css标准中各个属性都要经历从草案到推荐的过程,css3中的属性进展都不一样,浏览器厂商在标准尚未明确的情况下提前支持会有风险,浏览器厂商对新属性的支持情况也不同,所有会加厂商前缀
加以区分。如果某个属性已经从草案变为了或接近的推荐方案,并且厂商已经完全实现了推荐属性,那就不用加厂商前缀。如border-radius已经很成熟了,不用加前缀。
根据不同的浏览器内核,css前缀会有不同。最基本的浏览器内核有如下四种。
(1)Gecko内核:前缀-moz
。火狐浏览器。
(2)Webkit内核:前缀-webkit
。chrome、safari。
(3)Trident内核:前缀-ms-
。IE。
(4)Presto内核:前缀-o-
。opera。
box-shadow
box-shadow:阴影1,阴影2,…
box-shadow:0px 0px 0px 0px #fff inset,0px 0px 0px 0px #fff inset;
box-shadow:水平偏移 垂直偏移 模糊度 阴影大小 颜色 内侧阴影
变换 transform2D
transform 2D函数:translate(x,y)-移动
、scale-缩放
、rotate-旋转
、skew-扭曲
matrix(a,b,c,d,e,f)-矩阵变换
参数a和d:控制元素的缩放。
参数b和c:控制元素的倾斜或斜切。
参数e和f:控制元素的平移。
格式:transform 函数
transform-origin
:指定rotate旋转的中心点位置/scale缩放的基点/skew(默认是图形中心点)。
transform-origin:center;
transform-origin:top left;
transform-origin:50px 50px;
transform-origin:bottom right 60px;
变换 transform3D
transform 3D函数:
translate3d(x,y,z)
、translateX(x)
、translateY(Y)
、translateZ(z)
;
scale3d(x,y,z)
、scaleX(x)
、scaleY(Y)
、scaleZ(z)
;
rotate3d(x,y,z)
、rotateX(x)
、rotateY(Y)
、rotateZ(z)
;
格式:transfrom 3d函数
perspective
:透视:视角距离:视角离显示屏的距离。
perspectice-origin
:视角位置。
过渡 transition
格式:transition:property duration timing-function delay
transition:all 0.3s linear 1s;
缓动函数timing-function
:缓动函数有三类:
(1)贝塞尔缓动函数:cubic-bezier(x1,y1,x2,y2)。下面是四个预定义的贝塞尔函数。
(2)线性缓动函数:linear(<point-list>)
(3)阶跃缓动函数:steps(<number-of-steps>,<direction>)
动画 animation
通过关键帧控制动画,关键帧之间的过渡效果。
animation属性
@keyframes
规定动画,用于指定关键帧。。
animation
所有动画属性的简写属性。
animation-name
规定 @keyframes 动画的名称。
animation-duration
规定动画完成一个周期所花费的秒或毫秒。默认是 0。
animation-timing-function
规定动画的速度曲线。默认是 “ease”。
animation-fill-mode
规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
animation-delay
规定动画何时开始。默认是 0。
animation-iteration-count
规定动画被播放的次数。默认是 1。infinite无限循环。
animation-direction
规定动画是否在下一周期逆向地播放。默认是 “normal”。alternate先执行一遍动画,然后再反向执行一遍动画。
animation-play-state
规定动画是否正在运行或暂停。默认是 “running”。
动画案例
小球弹跳动画
.boll{width:500px;height:500px;background:#29d1d1;border-radius:50%; animation:bounce 1s linear infinite;
}
@keyframes bounce{0%{transform:translateY(0%);}50%{transform:translateY(25%);}100%{transform:translateY(0%);}
}
文字渐变动画效果
.text-animation{width:140px;height:70px;font-size:90px;font-weight:bold;line-height:50px;background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);color:transparent;background-clip:text; animation: gradient 2.5s ease infinite alternate;background-position:0% 100%;background-size:400% 400%;
}
@keyframes gradient{0%{background-position:0% 100%;} 100%{background-position:100% 100%;}
}
地图图标动画
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div class="content"><div class="pos"></div><div class="pos-bottom"></div></div></body>
<style>body {background-color: #0b3061;overflow: hidden;}.content {width: 100%;height: 100vh;display: flex;flex-direction: column;align-items: center;justify-content: center;}.pos {width: 100px;height: 100px;background-color: #0c5db9;border-radius: 50% 50% 50% 0;transform: rotate(-45deg);animation-name: bounce;animation-duration: 1s;animation-timing-function: ease;animation-fill-mode: both;}.pos::after {content: '';display: inline-block;width: 50px;height: 50px;border-radius: 50%;background-color: #fff;position: relative;top: 25%;left: 25%;}.pos-bottom { width: 50px;height: 50px;background-color: rgba(0, 0, 0, 0.2);border-radius: 50%; transform: rotateX(55deg); z-index: -1; }.pos-bottom::after {content: '';display: inline-block;width: 100px;height: 100px;background-color: transparent; border-radius: 50%;transform: rotateX(30deg); position: relative;bottom: 50%;right: 50%;box-shadow: 0px 0px 2px 5px rgba(255, 255, 255, 0.5);animation-name: pulsate;animation-duration: 1s;animation-iteration-count: infinite;animation-timing-function: ease-in-out;animation-delay: 1.1s; opacity: 0;}@keyframes bounce {0% {opacity: 0;filter: alpha(opacity=0);transform: translateY(-1000px) rotate(-45deg);}60% {opacity: 1;filter: none;transform: translateY(30px) rotate(-45deg);}100% { transform: translateY(0px) rotate(-45deg);}}@keyframes pulsate {0% { transform: scale(0.2);opacity: 0;} 50% { opacity: 1;}100% {transform: scale(1); opacity: 0;}}
</style></html>
背景混合动效
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div class="container"><div class="card"><div class="bg-1"></div><div class="bg-2"></div><div class="icon-box"></div></div><div class="card"><div class="bg-1"></div><div class="bg-2"></div><div class="icon-box"></div></div><div class="card"><div class="bg-1"></div><div class="bg-2"></div><div class="icon-box"></div></div></div></body>
<style>:root {--color: rgb(61, 98, 112);--color-bg-1: #33adff;--color-bg-2: #ff2af4;}body {background: linear-gradient(45deg, rgba(42, 199, 219, 0.973), rgba(255, 122, 151, 0.5));width: 100vw;height: 100vh;display: flex;flex-direction: row;justify-content: center;align-items: center;overflow: hidden;}.container {width: 95vw;max-width: 600px;display: flex;flex-wrap: wrap;text-align: center;position: relative;}.card {flex: auto;min-width: calc(33% - 2vw);margin: 0 1vw calc(1vw + 50px) 1vw;position: relative;cursor: pointer;border: 1px solid #fff;}.card:hover .bg-1,.card:hover .bg-2 {display: block;}.card::after {content: '';float: left;padding-top: 100%;}.icon-box{position: absolute;width: 85%;height: 85%;border-radius: 50%;background-color: #fff;margin: 8%;}.bg-1,.bg-2{position: absolute;width: 85%;height: 85%;border-radius: 50%; opacity: 1;mix-blend-mode: multiply;display: none;}.bg-1{background-color: var(--color-bg-1); animation: move 1.8s linear infinite ;}.bg-2{background-color: var(--color-bg-2); animation: move 1.2s linear infinite ;}@keyframes move {0%{top:8%;left:0%;}25%{top:0%;left:8%;}50%{top: 8%;left: 16%;}70%{top: 16%;left: 8%;} 100%{top: 8%;left: 0%;}}
</style></html>
渐变动态边框
- 1、通过背景旋转rotate得到
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div class="container"><div class="box"><h2>CSS</h2></div><div class="box"><h2>Border</h2></div><div class="box"><h2>Animation</h2></div></div>
</body>
<style>body {padding: 0;margin: 0;}.container {width: 100%;height: 100vh;display: flex;justify-content: space-between;align-items: center;background-color: #0e1538;}.box {width: 300px;height: 400px;margin: 30px;border-radius: 20px;background-color: rgba(0, 0, 0, .5);position: relative;display: flex;align-items: center;justify-content: center;color: #fff;box-shadow: 0 0 10px #000;overflow: hidden; h2{z-index: 1;}}.box::before {content: '';position: absolute;width: 150px;height: 140%;background: linear-gradient(#00ccff,#d400d4);box-shadow: 0 0 20px #999;animation: animate 4s linear infinite; }.box::after{content: '';position: absolute;inset: 4px;background-color: #0e1538;border-radius: 16px;}@keyframes animate {0%{transform: rotate(0deg);}100%{transform: rotate(360deg);}}
</style></html>
- 2、动态渐变边框:放大背景,修改背景位置 可以得到图片各位置的图像。
background-size: 200% 100%;
background-position: 0 0;//看到左边部分的渐变
background-position: 100% 0;//看到右边部分的渐变
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div class="container"><div class="input"><input class="input-inner" type="text" placeholder="Enter your name"></input></div></div>
</body>
<style>body {padding: 0;margin: 0;}.container {width: 100%;height: 100vh;overflow: hidden;display: flex;justify-content: center;align-items: center;background-color: #000;}.input {position: relative;}.input::before {content: '';position: absolute;width: 100%;height: 100%;border-radius: 5px;background: linear-gradient(to right, yellow, green, #00ccff, #d400d4);/* 横向放大2倍,可视区域只能看到两个颜色的渐变 */background-size: 200% 100%;animation: input-border 2s ease-in-out infinite;animation-direction: alternate-reverse;}.input-inner {position: relative;display: inline-block;margin: 10px;width: 400px;height: 50px;z-index: 1;}@keyframes input-border {0% {background-position: 0 0;}100% {background-position: 100% 0;}}
</style></html>
文本变形动画
文本变形 :filter contrast() blur()
animation-delay 负数 提前执行
:动画提前执行,重叠在页面上的元素 希望他们一次出现,可以设置提前执行。这样在元素还没有显示在页面上时就开始执行动画。
元素居中
:
left: 50%;top: 50%;//相对父元素的偏移transform: translate(-50%, -50%);//相对自身往反方向偏移一半就居住中了
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div class="morphing"><div class="word">word</div><div class="word">morphing</div><div class="word">with</div><div class="word">pure</div><div class="word">CSS</div><div class="word">is</div><div class="word">greet!!</div></div>
</body>
<style>body {padding: 0;margin: 0;}.morphing {width: 100%;height: 100vh; background: #000;color: #fff;position: relative;/* contrast(25) 和 动画中的 blur 配合使用,可以达到 圆角的效果 */filter: contrast(25) blur(1px);}.word {font-size: 120px;position: absolute;/*居中*/left: 50%;top: 50%;transform: translate(-50%, -50%);animation: word 16s ease-in-out infinite; /* 可以设置为0,让延迟为正数 *//*opacity: 0;animation: word 14s ease infinite; */}/* animation-delay 负数 提前执行 */.word:nth-child(1) {animation-delay: -16s;}.word:nth-child(2) {animation-delay: -14s;} .word:nth-child(3) {animation-delay: -12s;} .word:nth-child(4) {animation-delay: -10s;} .word:nth-child(5) {animation-delay: -8s;} .word:nth-child(6) {animation-delay: -6s;}.word:nth-child(7) {animation-delay: -4s;} /* .word:nth-child(1) {animation-delay: 1s;}.word:nth-child(2) {animation-delay: 3s;} .word:nth-child(3) {animation-delay: 5s;} .word:nth-child(4) {animation-delay: 7s;} .word:nth-child(5) {animation-delay: 9s;} .word:nth-child(6) {animation-delay: 11s;}.word:nth-child(7) {animation-delay: 13s;} */@keyframes word {0%,5%,100% {opacity: 1;filter: blur(0px);}20%,80% {opacity: 0;filter: blur(1em);}}
</style></html>
平面移动动画
transform: translateX
:从屏幕左边移到右边
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div class="container"><div class="plane plane-1"><i></i></div><div class="plane plane-2"><i></i></div></div>
</body>
<style>body {padding: 0;margin: 0;}.container {width: 100%;height: 100vh;overflow: hidden;position: relative;}.container::after {content: '';position: absolute;width: 100%;height: 100%;background-image: linear-gradient(360deg, #b7bca4 26.23%, #3d94b2 87.3%);top: 0;left: 0;opacity: 0.4;}.plane {position: absolute;left: 0;width: 100%;z-index: 1;transform: rotate(-10deg);}.plane i {background-image: url("./plane.png");background-repeat: no-repeat;background-position: right center;background-size: contain;position: absolute;right: 0;transition: all 0.4s ease-out; animation: motion linear infinite; }.plane-1 {top: 90px;}.plane-1 i {width: 1171px;height: 67px;animation-duration: 50s;animation-delay: -10s;}.plane-2 {top: 200px;}.plane-2 i {width: 500px;height: 47px;animation-duration: 60s;animation-delay: -5s;}@keyframes motion{0%{opacity: 1;transform: translateX(-120vw);}100%{/* opacity: 0; */transform: translateX(0);}/* 97%{ opacity: 1;}98%{ opacity: 0;} *//* 100%{ opacity: 0;transform: translateX(calc(0% + 100px));} */}
</style></html>
鼠标光标动画
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div class="container"><div class="box box-1">Sphere</div><div class="box box-2">Circle Outline</div><div class="box box-3">Circle Pin</div><div class="box box-4">Circle Color Gradient</div><div id="circle"></div></div>
</body>
<script>let circle = document.getElementById("circle");const circleStyle = circle.style;document.addEventListener("mousemove", (e) => {window.requestAnimationFrame(() => {circleStyle.left = `${e.clientX - circle.offsetWidth / 2}px`;circleStyle.top = `${e.clientY - circle.offsetHeight / 2}px`; }) })</script>
<style>body {padding: 0;margin: 0;cursor: none;}.container {width: 100%;height: 100vh;padding: 100px;box-sizing: border-box;overflow: hidden;position: relative;background-color: #359095;}#circle {width: 30px;height: 30px;border-radius: 50%;background-color: #fff;pointer-events: none;position: absolute;transition: background ease-in 10ms ,box-shadow ease-in 150ms,transform ease-in 150ms;transform: translate3d(0,0,0);}.box {width: 70%;height: 25%;margin: 0 auto;display: flex;align-items: center;justify-content: center;}.box-1 {background-color: #e8edf3; }.box-1:hover ~ #circle{background-color: #e6cf8b;box-shadow: 0 0 0 0 transparent,inset 0em -0.3em 0.4em 0.2em #ca9e03a6;}.box-2 {background-color: #e6cf8b;}.box-2:hover ~ #circle{background-color: transparent;border: 3px solid #b56969; }.box-3 {background-color: #b56969;}.box-3:hover ~ #circle{background-color: pink; transform: scale(0.5);}.box-4 {background-color: #1d1f31;color: #fff;}.box-4:hover ~ #circle{background-image: linear-gradient(to top, #fbc2eb, #a6c1ee); }
</style></html>
相关文章:
CSS3+动画
浏览器内核以及其前缀 css标准中各个属性都要经历从草案到推荐的过程,css3中的属性进展都不一样,浏览器厂商在标准尚未明确的情况下提前支持会有风险,浏览器厂商对新属性的支持情况也不同,所有会加厂商前缀加以区分。如果某个属性…...
Kotlin 2.1.0 入门教程(十一)for、while、return、break、continue
for 循环 for 循环会遍历任何提供迭代器的对象。 for (item in collection) print(item)for (int: Int in ints) {println(int) }for 循环会遍历任何提供迭代器的对象,这意味着该对象必须满足以下条件: 具有一个成员函数或扩展函数 iterator()…...
深度探索DeepSeek:成本效益之辩与市场展望
摘要 DeepMind的CEO对DeepSeek的成本效益提出质疑,认为其成本被过度炒作。他指出,DeepSeek所使用的技术大多源自谷歌和DeepMind。然而,分析机构SemiAnalysis强调,DeepSeek的优势在于其成本与能力的卓越组合。尽管目前DeepSeek的成…...
DeepSeek投喂数据(训练AI)
1、拉取nomic-embed-text 打开命令行,运行:ollama pull nomic-embed-text 这里需要先安装ollama ,不过大家应该在本地部署模型时已经安装了 拉取成功就行了,后续在配置AnythingLLM时用到 2、下载 AnythingLLM 地址:…...
Docker 安装与配置 Nginx
摘要 1、本文全面介绍了如何在 Docker 环境中安装和配置 Nginx 容器。 2、文中详细解释了如何设置 HTTPS 安全连接及配置 Nginx 以实现前后端分离的代理服务。 2、同时,探讨了通过 IP 和域名两种方式访问 Nginx 服务的具体配置方法 3、此外,文章还涵…...
常用电路(过压保护、电流/电压采集)
过压保护电路 输入电压使用电源(36V)或者typec(20V),需要过压保护电路处理输入再连接到CH224K,保证输入不高于最大获取电压20V MOS管导通条件为栅源极有压差,一般为5-10V 三极管导通条件为基极…...
12.Python模块:模块中的__all__、模块制作、打包模块、模块安装与使用
在 Python 中,模块是一个包含 Python 代码的文件。模块可以包含函数、类和变量,也可以包括可执行的代码。Python提供了一套强大的模块系统,支持模块的制作、打包、安装和使用。接下来,我们将详细介绍 __all__、模块制作、打包模块…...
Socket通信端口绑定的逻辑实现
在实现网络通信时,一个 Socket 需要维护输入端与输出端的 IP 地址和端口号,同时也需要输入与输出字节缓冲区: 输入端与输出端的 IP 地址和端口号 作用 标识通信端点:IP 地址用于标识网络中的设备,端口号用于标识设备…...
在freertos中,中断优先级和任务优先级之间的关系和使用方法
中断优先级和任务优先级如何匹配?任务优先级不同任务之间该用多高的优先级?中断优先级不同中断中该用多高的优先级?中断优先级和任务优先级设置时,怎样设置可以让任务在调度时屏蔽中断?怎样设置可以让任务在调度时&…...
解锁摄影潜能:全面解析相机镜头的选择与使用逻辑
目录 一、镜头分类:从焦距到用途的底层逻辑 (一)按焦距和视角分类(一级分类) (二)按特殊用途分类(一级分类) 二、参数解码:超越 “光圈越大越好” 的思维定…...
java项目之直销模式下家具工厂自建网站源码(ssm+mysql)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的直销模式下家具工厂自建网站源码。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 直销模式下家具…...
CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测,光伏功率预测
代码地址:CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测,光伏功率预测 CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测 一、引言 1.1、研究背景和意义 光伏功率预测在现代电力系统中占有至关重要的地位。随着可再生能源…...
grid网格布局中实现父盒子比较大,子元素顶部对齐
css布局中使用grid布局,父盒子的高度是1000px,每个子元素高度是100px,现在有三个子元素,如何实现每行显示两个,并且子元素都顶部对齐?如图所示的效果。 grid布局文档:grid - CSS:层…...
P4814 [CCO 2014] 国王格鲁夫
题目描述 本题译自 CCO 2014 Day1 T2「King Gruff」 狼国王格鲁夫统治着一个居住着可爱的狐狸的繁荣、快乐的领地。对狐狸们来说,不幸的是,他根本不是一个好国王,而且还想让他们的生活过得很惨。 他的国家有 N 个城市,由 M 条路连接,第 i 条路可以让你从城市 Xi 走到…...
[QMT量化交易小白入门]-二十二、deepseek+cline+vscode,让小白使用miniQMT量化交易成为可能
本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。 QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通&a…...
吃瓜教程Day1笔记
主要内容: 1. 什么是机器学习以及 2. 机器学习的相关数学符号,为后续内容作铺垫,并未涉及复杂的算法理论, 因此阅读本章时只需耐心梳理清楚所有概念和数学符号即可。 3. “模型评估与选择” 是在模型产出以后进行的下游工作&…...
在 C# 中,处理 Excel 和 PDF 文件的库有很多。以下是一些比较常用的选择
读取 Excel 文件的库 NPOI 用途:可以读取和写入 .xls 和 .xlsx 文件。特点:无需安装 Microsoft Office,支持简单的 Excel 操作,如格式化、公式、图表等。 EPPlus 用途:主要用于 .xlsx 格式(Excel 2007 及以…...
IntelliJ IDEA 安装与使用完全教程:从入门到精通
一、引言 在当今竞争激烈的软件开发领域,拥有一款强大且高效的集成开发环境(IDE)是开发者的致胜法宝。IntelliJ IDEA 作为 JetBrains 公司精心打造的一款明星 IDE,凭借其丰富多样的功能、智能精准的代码提示以及高效便捷的开发工…...
SkyWalking 10.1.0 实战:从零构建全链路监控,解锁微服务性能优化新境界
文章目录 前言一、集成SkyWalking二、SkyWalking使用三、SkyWalking性能剖析四、SkyWalking 告警推送4.1 配置告警规则4.2 配置告警通知地址4.3 下发告警信息4.4 测试告警4.5 慢SQL查询 总结 前言 在传统监控系统中,我们通过进程监控和日志分析来发现系统问题&…...
1. 构建grafana(版本V11.5.1)
一、grafana官网 https://grafana.com/ 二、grafana下载位置 进入官网后点击downloads(根据自己的需求下载) 三、grafana安装(点击下载后其实官网都写了怎么安装) 注:我用的Centos,就简略的写下我的操作步…...
STM32-知识
一、Cortex-M系列双指针 Cortex-M系列的MSP与PSP有一些重要的区别,双指针是为了保证OS的安全性和稳健性。本质上,区别于用户程序使用PSP,操作系统和异常事件单独使用一个MSP指针的目的,是为了保证栈数据不会被用户程序意外访问或…...
SearchBar组件的功能与用法
文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"Material3中的IconButton"相关的内容,本章回中将介绍SearchBar组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本…...
解决VsCode的 Vetur 插件has no default export Vetur问题
文章目录 前言1.问题2. 原因3. 解决其他 前言 提示: 1.问题 Cannot find module ‘ant-design-vue’. Did you mean to set the ‘moduleResolution’ option to ‘node’, or to add aliases to the ‘paths’ option? Module ‘“/xxx/xxx/xxx/xxx/xxx/src/vie…...
游戏引擎学习第96天
讨论了优化和速度问题,以便简化调试过程 节目以一个有趣的类比开始,提到就像某些高端餐厅那样,菜单上充满了听起来陌生或不太清楚的描述,需要依靠服务员进一步解释。虽然这听起来有些奇怪,但实际上,它反映…...
【项目总结】易到家家政服务平台 —— 派单调度(7)
派单调度需求分析 在抢单业务中,用户下单成功由服务人员或机构进行抢单,抢单成功服务人员上门服务,除了抢单业务系统还设计了派单业务,由系统根据用户订单的特点自动派给合适的服务人员。 流程如下: 首先获取待分配…...
0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 0基础…...
Flink-DataStream API
一、什么样的数据可以用于流式传输 Flink的DataStream API 允许流式传输他们可以序列化的任何内容。Flink自己的序列化程序用于 基本类型:即字符串、长、整数、布尔值、数组复合类型:元组、POJO和Scala样例类 基本类型我们已经很熟悉了,下…...
chromium-mojo
https://chromium.googlesource.com/chromium/src//refs/heads/main/mojo/README.md 相关类:https://zhuanlan.zhihu.com/p/426069459 Core:https://source.chromium.org/chromium/chromium/src//main:mojo/core/README.md;bpv1;bpt0 embedder:https://source.chr…...
Sourcetree 安装教程(附下载链接)
一、介绍 Sourcetree是一款免费的Git桌面工具,可以简化我们与Git之间敲代码的过程,使得我们可以更快的管理代码版本。 虽然现在各大IDE都内置Git功能,但在一些没有内置Git的IDE情况下,使用Sourcetree进行Git下的代码管理是一件非…...
NIO 和 AIO 的区别?
目录 设计理念 工作模式 适用场景 性能特点 NIO(Non - blocking I/O,非阻塞 I/O)和 AIO(Asynchronous I/O,异步 I/O)都是 Java 中用于实现高效 I/O 操作的机制,它们在设计理念、工作模式、适用场景等方面存在明显区别,以下为你详细介绍: 设计理念 NIO:NIO 基于事…...
Python中10个常用的接口自动化装饰器
更多Python学习内容:ipengtao.com 装饰器(Decorators)是Python中一种强大的编程工具,它们用于修改或增强函数或方法的行为。在接口自动化测试中,装饰器可以起到简化代码、提高代码可维护性和可重用性的作用。本文将介…...
Odoo17 0.1常见的QWeb 模板语言指令的详细总结
Odoo QWeb 模板语言提供了许多指令 (directives) 来增强 HTML 模板的功能,使其能够动态地展示数据、进行条件判断、循环遍历、以及实现更复杂的逻辑。 这些指令都以 t- 开头作为属性添加到 HTML 标签上。 以下是一些常见的 Odoo QWeb 模板语言指令的详细总结&#…...
螺旋矩阵 II
螺旋矩阵 II 一、题目描述 给定一个正整数 n,请你生成一个包含 1 到 n^2 所有元素的 n x n 正方形矩阵,元素顺序按顺时针的方式进行螺旋排列。 示例 1:输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:…...
Object:所有类的超类
定义:所有类的超(父)类。 Object有下面几个常用的方法: equals():比较内存地址是否指向相同getclass():获取类的信息--反射领域hashcode 散列码--根据地址生成wait -- 线程进入等待状态,让出CPU和锁notify -- 唤醒等待…...
LabVIEW 开发航天项目软件
在航天项目软件开发中,LabVIEW 凭借其图形化编程优势被广泛应用。然而,航天项目的高可靠性、高精度及复杂环境适应性要求,使得在使用 LabVIEW 开发时,有诸多关键要点需要特别关注。本文将详细分析在开发航天项目软件时需要重点注意…...
docker部署superset并连接华为MRS hive数据库
下载构建源码 这个项目实现了汉化和开箱即用,感谢大佬 GitHub - lutinglt/superset-zh: Superset 汉化, Superset 中文版 替换国内apt源 查看debian版本,不同版本替换apt源的内容不同 cat /etc/debian_version我这里是11.9版本 apt源文件sources.li…...
在 Flutter 实现下拉刷新、上拉加载更多和一键点击回到顶部的功能
在 Flutter 中,实现下拉刷新、上拉加载更多和一键点击回到顶部的功能,通常会结合使用 RefreshIndicator、ListView 和 ScrollController 来实现这些交互效果。下面分别介绍如何实现这些功能。 1. 下拉刷新 Flutter 提供了 RefreshIndicator 组件来实现…...
Linux常见命令——系统定时任务
文章目录 crontab 服务管理crontab -e :编辑crontab 定时任务crontab -l 查看crontab 任务crontab -r 删除当前用户所有的crontab 任务 crontab 服务管理 systemctl status crond该系统进程是开机自启动,并且被打开了,可以使用。 crontab -e :编辑cr…...
国产编辑器EverEdit - 书签功能介绍
1 书签 1.1 应用场景 当用户在文档中多处进行编辑时,为了方便在多个编辑位置跳转,使用书签功能可以方便记录各个位置。 1.2 使用方法 1.2.1 切换书签 设置或取消光标所在行的书签 方法1:选择主菜单查找 -> 书签 -> 切换书签 方法2&…...
【Hadoop】大数据权限管理工具Ranger2.1.0编译
目录 编辑一、下载 ranger源码并编译 二、报错信息 报错1 报错2 报错3 报错4 一、下载 ranger源码并编译 ranger官网 https://ranger.apache.org/download.html 由于Ranger不提供二进制安装包,故需要maven编译。安装其它依赖: yum install gcc …...
推荐算法实践:movielens数据集
MovieLens 数据集介绍 MovieLens 数据集是由明尼苏达大学的GroupLens研究小组维护的一个广泛使用的电影评分数据集,主要用于推荐系统的研究。该数据集包含用户对电影的评分、标签以及其他相关信息,是电影推荐系统开发与研究的常用数据源。 数据集版本 …...
基于 PyTorch 的树叶分类任务:从数据准备到模型训练与测试
基于 PyTorch 的树叶分类任务:从数据准备到模型训练与测试 1. 引言 在计算机视觉领域,图像分类是一个经典的任务。本文将详细介绍如何使用 PyTorch 实现一个树叶分类任务。我们将从数据准备开始,逐步构建模型、训练模型,并在测试…...
生成式语言模型技术全解析
一、引言 在人工智能领域,生成式语言模型(Generative Language Models,GLMs)无疑是近年来最为耀眼的明星。从早期的简单语言模型到如今如DeepSeek、Qwen 2.5 Max等具有强大能力的先进模型,它们在自然语言处理的各个方…...
香港中文大学 Adobe 推出 MotionCanvas:开启用户掌控的电影级图像视频创意之旅。
简介: 亮点直击 将电影镜头设计引入图像到视频的合成过程中。 推出了MotionCanvas,这是一种简化的视频合成系统,用于电影镜头设计,提供整体运动控制,以场景感知的方式联合操控相机和对象的运动。 设计了专门的运动条…...
bazel 小白理解
Bazel命令是用于构建和测试软件项目的一个强大工具,尤其适用于大规模和多语言的软件项目。对于小白来说,可以这样理解Bazel及其命令: Bazel的基本概念 构建系统:Bazel是一个构建系统,它的主要任务是自动化地编译和链…...
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
一、介绍 蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【“香菇(Agaricus)”, “毒鹅膏菌(Amanita)”, “牛肝菌&…...
基于 STM32 平台的音频特征提取与歌曲风格智能识别系统
标题:基于 STM32 平台的音频特征提取与歌曲风格智能识别系统 内容:1.摘要 摘要:本文介绍了一种基于 STM32 平台的音频特征提取与歌曲风格智能识别系统。该系统通过对音频信号进行特征提取和分析,实现了对歌曲风格的自动识别。在特征提取方面,…...
AUTOGPT:基于GPT模型开发的实验性开源应用程序; 目标设定与分解 ;;自主思考与决策 ;;信息交互与执行
目录 AUTOGPT是一款基于GPT模型开发的实验性开源应用程序目标设定与分解自主思考与决策信息交互与执行AUTOGPT是一款基于GPT模型开发的实验性开源应用程序 目标设定与分解 自主思考与决策 信息交互与执行 AUTOGPT是一款基于GPT模型开发的实验性开源应用程序,它能让大语言模…...
DeepSeek底层揭秘——知识图谱与语料库的联邦学习架构
目录 1. 知识图谱与语料库的联邦学习架构 2. 技术要素 3. 技术难点与挑战 4. 技术路径 5. 应用场景 6. 最新研究与技术进展 7. 未来趋势 8. 实际案例 猫哥说 1. 知识图谱与语料库的联邦学习架构 (1) 定义 “知识图谱与语料库的联邦学习架构”是一种结合知识图谱&…...
MVVM设计模式
MVVM(Model-View-ViewModel)是一种软件设计模式,MVVM模式由三个主要部分组成: Model(模型):负责管理应用程序的业务逻辑和数据。它不关心UI如何展示数据,主要负责与服务器通信和数据处处…...