CSS动画-Animation

2023-11-08

一、动画介绍

动画( animation)CSS3中具有颠覆性的特征之ー,可通过设置多个节点来精确控制一个或一组动画常用来实现复杂的动画效果。
相比较过渡,动画可以实现更多变化,更多控制的效果。

二、动画组成

制作动画分为两个部分:

  1. @keyframes定义动画
  2. animation属性调用动画

三、@keyframes(关键帧) 定义动画

创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。在动画过程中我们能够多次改变这套 CSS 样式。以百分比来规定改变发生的时间,或者通过关键词 fromto,等价于 0%100%

示例

<body>
    <main>
        <div></div>
    </main>
</body>
body {
    margin: 0;
    padding: 0;
    width: 100vw;
    height: 100vh;
    background-color: #2E3E54;
    display: grid;
}

main {
    width: 400px;
    height: 400px;
    background-color: rgb(51, 139, 109);
    padding: 20px;
    justify-self: center;
    align-self: center;
}

div {
    width: 50px;
    height: 50px;
    background-color: coral;
    border-radius: 50%;
    animation-name: move;
    animation-duration: 4s;
}

/* move为动画名 自定义 */
@keyframes move {
    0% {
        transform: translate(0, 0);
    }

    25% {
        transform: translate(350px, 0);
    }

    50% {
        transform: translate(350px, 350px);
    }

    75% {
        transform: translate(0, 350px);
    }

    100% {
        transform: translate(0, 0);
    }
}

在这里插入图片描述

四、动画属性 ★★★

属性 作用
animation 除了animation-play-state之外的所有属性简写
animation-name 需要使用的动画名(必须)
animation-duration 规定动画完成一个周期所花费的时间 (必须)
animation-timing-function 规定动画的速率曲线,默认是 ease
aniamtion-delay 规定动画延迟执行的时间,默认 0
animation-iteration-count 规定动画执行的次数,默认是1
animation-direction 规定动画是否在下一周期逆向播放,默认是 normal
animation-play-state 规定动画运行/暂停 默认是 running
animation-fill-mode 规定动画结束后状态,默认回到初始状态

1. animation-name

animation-name:就是需要绑定的@keyframes的名称

div {
  width: 50px;
  height: 50px;
  animation-name: move;
}

@keyframes move {
  to {
    transform: translateX(400px);
  }
}

这就是定义了一个名称为move的动画,被div元素调用

2. animation-duration

animation-duration: 规定动画完成一个周期所花费的时间

div {
  width: 50px;
  height: 50px;
  animation-name: move;
  animation-duration: 2s;
}

@keyframes move {
  to {
    transform: translateX(400px);
  }
}

意思是指定div元素2s的时间向右移动400px

3. animation-timing-function

animation-timing-function: 规定动画的速率曲线,也就是动画执行过程的速度变化,默认是 ease

属性

属性 说明
ease 默认。动画以低速开始,然后加快,在结束前变慢
ease-in 动画以低速开始
ease-out 动画以低速结束
ease-in-out 动画以低速开始和结束
cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中自己的值 值是从 0 到 1 的数值
step-start 在变化过程中,都是以下一帧的显示效果来填充间隔动画
step-end 在变化过程中,都是以上一帧的显示效果来填充间隔动画
steps() 可以传入两个参数,第一个是一个大于0的整数,他是将间隔动画等分成指定数目的小间隔动画,也就是指定每个阶段分为几步来展示动画 ,然后根据第二个参数来决定显示效果。第二个参数设置后 其实和step-startstep-end同义,在分成的小间隔动画中判断显示效果。
linear 动画从头到尾的速度是相同的

示例

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>动画速率</title>
    <style>
        body {
            margin: 0;
            padding: 0 10px;
            width: 100vw;
            height: 100vh;
            overflow: hidden;
            background-color: #2E3E54;
            display: grid;
            grid-template: 1fr / 1fr;
        }

        .box {
            display: grid;
            grid-template: 1fr / repeat(6, 1fr);
            column-gap: 10px;
        }

        .box>div {
            background-color: chocolate;
            animation-name: move;
            animation-duration: 4s;
        }

        .box div:nth-child(1) {
            animation-timing-function: ease;
        }

        .box div:nth-child(2) {
            animation-timing-function: ease-in;
        }

        .box div:nth-child(3) {
            animation-timing-function: ease-out;
        }

        .box div:nth-child(4) {
            animation-timing-function: ease-in-out;
        }

        .box div:nth-child(5) {
            animation-timing-function: linear;
        }

        .box div:nth-child(6) {
            animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
        }

        @keyframes move {
            to {
                transform: translateY(calc(100vh - 100px));
            }
        }
    </style>
</head>

<body>
    <div class="box">
        <div>ease(默认)</div>
        <div>ease-in</div>
        <div>ease-out</div>
        <div>ease-in-out</div>
        <div>linear</div>
        <div>bezier(自定义)</div>
    </div>
</body>

</html>

在这里插入图片描述

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>动画速率</title>
    <style>
        body {
            margin: 0;
            padding: 0 10px;
            width: 100vw;
            height: 100vh;
            overflow: hidden;
            background-color: #2E3E54;
            display: grid;
            grid-template: 1fr / 1fr;
        }

        .box {
            display: grid;
            grid-template: 1fr / repeat(3, 1fr);
            column-gap: 10px;
        }

        .box>div {
            background-color: chocolate;
            animation-name: move;
            animation-duration: 4s;
        }

        .box div:nth-child(1) {
            animation-timing-function: step-start;
        }

        .box div:nth-child(2) {
            animation-timing-function: step-end;
        }

        .box div:nth-child(3) {
            animation-timing-function: steps(2, start);
        }

        @keyframes move {
            25% {
                transform: translateY(20vh);
            }

            50% {
                transform: translateY(40vh);
            }

            75% {
                transform: translateY(70vh);
            }

            to {
                transform: translateY(90vh);
            }
        }
    </style>
</head>

<body>
    <div class="box">
        <div>step-start</div>
        <div>step-end</div>
        <div>steps(2, start)</div>
    </div>
</body>

</html>

在这里插入图片描述

4. aniamtion-delay

aniamtion-delay: 规定动画延迟执行的时间,默认 0s,即立刻执行

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>delay</title>
    <style>
        body {
            margin: 0;
            padding: 10px;
            width: 100vw;
            height: 100vh;
            overflow: hidden;
            background-color: #2E3E54;
            display: grid;
            grid-template: 1fr / 1fr;
        }

        div {
            width: 50px;
            height: 50px;
            background-color: aliceblue;
            border-radius: 50%;
            animation-name: move;
            animation-duration: 1s;
            animation-delay: 2s;
        }

        @keyframes move {
            to {
                transform: translateX(300px);
            }
        }
    </style>
</head>

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

</html>

以上代码给div定义一个往右移动300px的动画,因为设置了animation-delay: 2s; 所以会延迟两秒再执行动画

5. animation-iteration-count

animation-iteration-count: 规定动画执行的次数,默认是 1

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>animation-iteration-count</title>
    <style>
        body {
            margin: 0;
            padding: 10px;
            width: 100vw;
            height: 100vh;
            overflow: hidden;
            background-color: #2E3E54;
            display: grid;
            grid-template: 1fr / 1fr;
        }

        .box {
            width: 400px;
            height: 400px;
            background-color: cornflowerblue;
            align-self: center;
            justify-self: center;
            display: grid;
            grid-template: repeat(3, 1fr) / 1fr;
            row-gap: 10px;
        }

        .box>div {
            width: 50px;
            background-color: rgb(220, 229, 94);
            text-align: center;
            line-height: calc(400px / 3 - 20px);
            animation: wq;
            animation-duration: 1s;
        }

        .box>div:nth-child(1) {
            animation-iteration-count: 1;
        }

        .box>div:nth-child(2) {
            animation-iteration-count: 3;
        }

        .box>div:nth-child(3) {
            animation-iteration-count: infinite;
        }

        @keyframes wq {
            to {
                width: 400px;
            }
        }
    </style>
</head>

<body>
    <div class="box">
        <div>1</div>
        <div>3</div>
        <div>infinite</div>
    </div>
</body>

</html>

在这里插入图片描述

6. animation-direction

animation-direction: 规定动画是否在下一周期逆向播放,默认是 normal

属性

  1. normal 正序播放(播放结束立刻回到元素初始状态)
  2. reverse 倒序播放
  3. alternate 交替播放 (动画在奇数次(1、3、5…)正向播放,在偶数次(2、4、6…)反向播放)
  4. alternate-reverse 反交替播放
  5. inherit 从父元素继承该属性

如果动画只执行一次,那么animation-direction将无效

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>animation-diraction</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha512-SfTiTlX6kk+qitfevl/7LibUOeJWlt9rbyDn92a1DqWOw9vWG2MFoays0sgObmWazO5BQPiFucnnEAjpAB+/Sw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <style>
        .box {
            width: 100vw;
            height: 100vh;
            background-color: #2E3E54;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        ul {
            list-style: none;
            width: 600px;
            height: 200px;
            display: flex;
        }

        li{
            flex: 1;
            color: #f3462c;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
        }

        li:nth-child(1) i {
            animation-direction: normal;
        }

        li:nth-child(2) i {
            animation-direction: reverse;
        }

        li:nth-child(3) i {
            animation-direction: alternate;
        }

        li:nth-child(4) i {
            animation-direction: alternate-reverse;
        }

        li .fa {
            animation-name: big;
            animation-duration: 2s;
            animation-iteration-count: infinite;
            font-size: 2em;
        }

        li span {
            position: absolute;
            bottom: 0;
        }

        @keyframes big {
            to {
                transform: scale(3);
            }
        }
    </style>
</head>
<body>
    <div class="box">
        <ul>
            <li>
                <i class="fa fa-heart"></i>
                <span>normal</span>
            </li>
            <li>
                <i class="fa fa-heart"></i>
                <span>reverse</span>
            </li>
            <li>
                <i class="fa fa-heart"></i>
                <span>alternate</span>
            </li>
            <li>
                <i class="fa fa-heart"></i>
                <span>alternate-reverse</span>
            </li>
        </ul>
    </div>
</body>
</html>

在这里插入图片描述

7. animation-play-state

animation-play-state: 规定动画运行/暂停 默认是 running

属性

running 运行
paused 暂停

示例

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>animation-iteration-count</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            width: 100vw;
            height: 100vh;
            overflow: hidden;
            background-color: #2E3E54;
            display: grid;
            grid-template: 1fr / 1fr;
        }

        div {
            width: 100px;
            height: 100px;
            background-color: darkturquoise;
            justify-self: center;
            align-self: center;
            animation-name: rotate;
            animation-duration: 1s;
            animation-iteration-count: infinite;
            animation-timing-function: linear;
        }

        div:hover {
            animation-play-state: paused;
        }

        @keyframes rotate {
            to {
                transform: rotate(360deg);
            }
        }
    </style>
</head>

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

</html>

在这里插入图片描述

8. animation-fill-mode

animation-fill-mode: 规定动画结束后展示的状态,默认回到初始状态

属性

属性 说明
none 动画执行前后不改变任何样式
backwards 保持目标动画第一帧的样式
forwards 保持目标动画最后一帧的样式
both 动画将遵循开始和结束后的帧动画进行停留,也就是说会从第一帧开始停留显示,动画执行之后会停留到动画结束时的状态;与上面两个值的差别是,如果元素使用 forwardsbackwards 两个值会在没有添加动画之前的展示状态进行停留,执行动画的时候才会开始执行关键帧,有这么一些细小的差别。

示例

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>animation-iteration-count</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            width: 100vw;
            height: 100vh;
            overflow: hidden;
            background-color: #2E3E54;
            display: grid;
            grid-template: 1fr / repeat(4, 1fr);
        }

        div {
            width: 100px;
            height: 50px;
            background-color: aquamarine;
            justify-self: center;
            align-self: flex-end;
            animation-name: wq;
            animation-duration: 2s;
            animation-delay: 2s;
        }

        div:nth-child(1) {
            animation-fill-mode: none;
        }

        div:nth-child(2) {
            animation-fill-mode: backwards;
        }

        div:nth-child(3) {
            animation-fill-mode: forwards;
        }

        div:nth-child(4) {
            animation-fill-mode: both;
        }
        
        @keyframes wq {
            0% {
                height: 100px;
            }

            50% {
                height: 60vh;
            }

            100% {
                height: 100vh;
            }
        }
    </style>
</head>

<body>
    <div>none</div>
    <div>backwards</div>
    <div>forwards</div>
    <div>both</div>
</body>

</html>

在这里插入图片描述

9. animation 简写

  • 简写属性里面不包含 animation- play-state
animation: name duration timing-function delay iteration-count direction fill-mode;

/* 动画名称 */
/* animation-name: move; */
/* 持续时间 */
/* animation-duration: 2s; */
/* 速度曲线 */
/* animation-timing-function: ease-in; */
/* 何时开始 */
/* animation-delay: 1s; */
/* 重复次数 */
/* animation-iteration-count: 2; */
/* 是否逆向播放 */
/* animation-direction: alternate; */
/* 结束后状态 */
/* animation-fill-mode: forwards; */

animation: move 2s linear 0s infinite alternate forwards;
  • 注意:先使用的时间一定是动画持续时间animation-duration
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS动画-Animation 的相关文章

  • 使用百分比 (%) 时如何计算填充?

    为什么本例中的内边距不等于 300 像素 Test width 600px padding right 50 box sizing border box background ddd div TEXT ETISI DHOASIHD I SA
  • css如何让文本底部对齐?

    怎么做怎么做 a 文字底部对齐吗 我已经添加了height line height and vertical align bottom 但文本仍然在 div 的中间 怎么做 谢谢 Test in http jsfiddle net BanA
  • 图像仅在 iPhone x 上拉伸

    我目前正在设计和构建一个 html 和 css 网站 遇到了一个小问题 我使用 chrome 开发工具检查了响应能力 根据手机和平板电脑的大小调整窗口大小 一切看起来都很好 然而 现在我在 iPhone X 上检查了该网站 图像全部垂直拉伸
  • 如何在缩放动画中保持原点位于图像中心?

    我有类似的情况fiddle https jsfiddle net ddvn3p1h 3 其中我有一个 CSS3 动画 可以缩放绝对定位在另一个元素中心的元素 但是 当动画发生时 它会偏离中心 如示例中相对于蓝色的红色方块所示 我如何将其居中
  • 动态检测屏幕高度和屏幕宽度,以精简图像的高度和宽度

    我以前可以display a div标签仅在portrait使用下面提到的代码corrl https stackoverflow com users 15388872 corrl in this https stackoverflow co
  • jQuery - 拖动div css背景

    我希望能够在 div 内按住鼠标并移动它的背景 在谷歌上搜索了很多 没有找到我想要的 这是目标 显示的地图是要拖动的对象 http pontografico net pvt gamemap http pontografico net pvt
  • 如何使用javascript隐藏div

    我想使用 Javascript 隐藏一个 div 下面是我的div div class ui dialog titlebar ui widget header ui corner all ui helper clearfix span cl
  • 更改文本框中一个字符的颜色 HTML/CSS [重复]

    这个问题在这里已经有答案了 我正在设计一个网站 我想问一下大家 如何通过CSS改变HTML文本框中字符串中的一个字符的颜色 示例 STACK OVER FLOW 只是 A 字母是红色的 你不能用常规方法做到这一点
  • iframe 位置居中

    所以我找到了这段用于将内容放在中心的代码 但我的问题是它是为容器制作的 你知道如何为 iframe 制作它吗 或者你知道另一个代码吗 代码 center margin auto width 60 border 3px solid 73AD2
  • 右列固定的 Div 表

    我最近接手了一个非营利网站作为一个项目 我正在使用一个现有的网站 所以我必须使用很多已经编程的东西 所以我所要做的就是创建设计 I made a diagram of basically what I can t figure out ho
  • 将无序列表转换为目录

    参考这个小提琴 http jsfiddle net exGnZ http jsfiddle net exGnZ 你好 我正在尝试用无序列表和前导点重现目录 不幸的是 当内容很长时 格式就会崩溃 有谁知道如何让下图中的第二章与点出现在同一行
  • 使用渐变填充而不是普通颜色创建标记 - Google 地图

    我正在尝试使用 Google 地图获得一个点状标记google maps SymbolPath CIRCLE 我在其中取得了成功 var dotMarkerImage path google maps SymbolPath CIRCLE f
  • Bootstrap 的网格每行列数

    Bootstrap 附带一个 12 列网格系统 必须放置在行内 我的问题是 列数 行数是否必须为 12 或更少 或者我可以有如下所示的布局吗 div class row div class col md 4 div div class co
  • CSS 中的 Data-URI SVG 背景在 Firefox 中不起作用

    好的 这就是我想做的 我的 css 文件中有这段代码 form row textfield hover textfield m hover background image url data image svg xml base64 PHN
  • 平均分配固定大小容器的空间。 Flexbox 的案例?

    如何设计 HTML CSS 结构 将固定大小的容器水平分成三部分 第一部分的高度应与其内容需求一样高 第二部分和第三部分将共享剩余的空间五五十 无论它们的内容如何 如果其内容的大小超过此限制 则该部分应该是可滚动的 它的 HTML 部分很简
  • CSS以两种颜色显示一个字符[重复]

    这个问题在这里已经有答案了 css中是否可以用两种颜色制作单个字符 我的意思是例如字符 B 上半部分为红色 下半部分为蓝色 h1 font size 72px background webkit linear gradient red 49
  • 如何在 HTML 中将文本设置为粗体?

    我正在尝试使用 HTML 将一些文本加粗 但我很难让它发挥作用 这就是我正在尝试的 Some
  • 如何在 CSS 中将容器内的多个 div 居中

    我正在测试像 Windows Metro 风格的中心分隔线 container height 300px width 70 background EEE margin 10px auto position relative block ba
  • 粘性背景图像/使用 CSS

    我目前正在创建我的第一个网站 并且即将完成 我在标题下为主体使用背景图像 我发现每个页面都有一个问题 因为它们的高度都不同 这使得我背景图像的当前设置放大图片以适合整个页面 我想做的是将背景图像设置为 粘性 我的想法是 背景图像将直接位于标
  • 如何计算一行中Flexbox项目的数量?

    网格是使用 CSS flexbox 实现的 Example http jsbin com jumosicasi edit html css js output 本示例中的行数为 4 因为我出于演示目的固定了容器宽度 但是 实际上 它可以根据

随机推荐

  • IDEA上配置mysql

    IDEA是一个集成工具 它为很多工具提供了快速便捷的配置方式 配置mysql我们只需要添加Database就行了 Database一般是在右侧 找不到的话可以在View中里找到打开 如下图 添加数据库步骤 这里选上mysql 填写相应信息
  • JMeter界面字体大小修改

    1 找到jmeter所在目录 gt bin gt jmeter properties 搜索jsyntaxtextarea font size 去掉 把14改成18 2 修改右侧参数比例 jmeter所在目录 gt bin gt jmeter
  • Spring Boot 整合 Mybatis 实现 Druid 多数据源配置

    目录 1 多数据源的应 场景 2 数据库脚本 3 项目结构 4 代码 依赖 pom xml 配置文件 数据源配置类 实体类 sql映射文件 dao srvice controller 启动类 5 小节 6 事务问解决 1 多数据源的应 场景
  • C++-FFmpeg-1-VS2019-x264-fdk_aac-x265-pdb-QT5.14-makefile

    1 环境搭建 1 1VS2019 用的是控制台编译 1 2 msys2 模拟linux的命令和指令 2 源码编译与安装 2 1 x264 ffmpeg 编码用X264 2 2x265 ffmpeg 编码用X265 c 写的 msys2编译
  • 多边形的扫描转化算法

    多边形的扫描转化算法 python 实现 实验目的 实现从多边形顶点表示到点阵表示的转换 从多边形给定的边界出发 通过扫描线的方式求出位于其内部各个像素 从而达到对多边形填充的作用 算法思想 按扫描线顺序 计算扫描线与多边形的相交的交点 这
  • 竞赛 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

    文章目录 0 简介 1 二维码检测 2 算法实现流程 3 特征提取 4 特征分类 5 后处理 6 代码实现 5 最后 0 简介 优质竞赛项目系列 今天要分享的是 基于机器学习的二维码识别检测 opencv 二维码 识别检测 机器视觉 该项目
  • Linux性能测试工具-UnixBench--安装以及结果分析

    UnixBench unixbench是一个用于测试unix系统性能的工具 也是一个比较通用的benchmark 此测试的目的是对类Unix 系统提供一个基本的性能指示 很多测试用于系统性能的不同方面 这些测试的结果是一个指数值 index
  • pcb叠层设计及资料输出

    PCB叠层设计 一 4层板 方案1 top gnd pwr bottom 此方案也是最常见的 主要元器件和关键信号在top 方案2 top pwr gnd bottom 此方案是主要元器件放bottom 很少用 方案3 gnd s1 pwr
  • 区块链技术系列(1) - 数字签名

    导读 在现实社会中 签名作为签名者身份的一种证明 签名代表对签名文件的认可 不可抵赖 理论上签名是可信 不可伪造的 现在网络环境越来越广泛 有大量的信息通过网络传播 并且会保存在上面 这些电子数据显然无法人工签名 数字签名就孕育而生 本文将
  • SpringBoot常用注解

    前言 Spring Boot是由Pivotal团队提供的全新框架 其设计目的是用来简化新Spring应用的初始搭建以及开发过程 应用于快速应用开发领域 所需支持 Maven构建提供支持或Gradle 不懂Maven或者Gradle 的建议还
  • 基于全连接孪生网络的目标跟踪(siamese-fc)

    Fully Convolutional Siamese Networks for Object Tracking 这两年可以说deeplearning已经占领了visual object tracking这个领域 但是对于跟踪问题来说 这些
  • 在.NET Framework中的连接字符串ConnectionStrings属性

    在 NET Framework中 ConfigurationManager ConnectionStrings属性是用来访问在Visual Studio IDE应用程序配置文件中配置的数据库连接字符串的 每个连接字符串在Visual Stu
  • 建标库标准怎么导出pdf_保存和导出PDF文档,这款OCR文字识别软件能做到

    ABBYY FineReader 作为一款强大的OCR文字识别软件 如果能运用到大家的办公中 将能帮助大家将各种格式的PDF文档保存为新的PDF文档 PDF A格式文档 以及Microsoft Word Excel PPT等格式 在保存与导
  • spring 的@componentscan, @import, @configuration总结

    缝合怪 本人百度总结了几篇文章 对几篇文章进行汇总缝合总结 configuration 这个注解用来代替spring容器的xml配置文件 具体就是配置文件中的
  • VM VirtualBox 全屏模式 && 自动缩放模式 相互切换

    1 自动缩放模式 热键Host C 偶然一次机会 把虚拟机切换为了自动缩放模式 如下图 想要再切换为全屏模式 发现不知如何操作 后来折腾了一会儿 切换成功 以此备录一下 2 切换为全屏模式 热键Host F 切换为全屏模式的快捷键为Host
  • liveshare开发体验 vs_imgcook体验

    D2今年收费了 我所在创业公司没有报销 当然门票也不是什么大钱 无奈忙成狗错过了早鸟票 指望后面看看分享ppt 无意中看到D2官方流出的一个感兴趣的网址 说是 可以由视觉稿一键生成代码 https imgcook taobao org 创业
  • Kafka、RabbitMQ、RocketMQ 消息中间件的对比

    什么是消息队列 消息队列是在消息的传输过程中保存消息的容器 包含以下 3 元素 Producer 消息生产者 负责产生和发送消息到 Broker Broker 消息处理中心 负责消息存储 确认 重试等 一般其中会包含多个 Queue Con
  • 3DCAT实时云渲染助力VR虚拟现实迈向成熟

    近年来 虚拟现实 Virtual Reality VR 技术在市场上的应用越来越广泛 虚拟现实已成为一个热门的科技话题 相关数据显示 2019年至2021年 我国虚拟现实市场规模不断扩大 从2019年的282 8亿元增长至2021年的583
  • qt Model_View_Delegate 模型_视图_代理

    QT当中model view delegate 模型 视图 代理 此结构实现数据和界面的分离 Qt的模型 视图结构分为三部分 模型 model 视图 view 代理 Delegate 其中模型与数据源通信 并为其它部件提供接口 视图从模型中
  • CSS动画-Animation

    一 动画介绍 动画 animation 是CSS3中具有颠覆性的特征之 可通过设置多个节点来精确控制一个或一组动画常用来实现复杂的动画效果 相比较过渡 动画可以实现更多变化 更多控制的效果 二 动画组成 制作动画分为两个部分 keyfram