动画和3d变形

一、概念

           过渡:一般需要结合鼠标去使用

            动画:一运行自己动起来

二 、创建动画

        方式一:@keyframes 动画的名字{from{}to{}}

        方式二:@keyframes 动画的名字{0%{}...100%{}}

三、 使用动画:

        必须要写的:

           ① animation-name====动画的名字

          ②  animation-duration===动画的运动时间

        其他的:

            ③animation-delay===延迟时间

            ④animation-timing-function===动画的运动曲线(和过渡完全一致)

            ⑤animation-iteration-count===动画的运动次数

            ⑥animation-direction===动画的运动方向

                取值 :       

                    normal===正常,从起点运动到重点

                    reverse===反转,从重点运动到起点

                    alternate====正反交替

                    alternate-reverse===反正交替

           ⑦ animation-play-state===动画的播放状态

                取值:

                        running===运动===默认值

                        paused===暂停

        重要:简写方式: animation:需要什么值就写什么

        注意:运动时间和延迟时间有书写顺序,其他没有(运动时间在前,延迟时间在后)

四、半圆的知识

语法: border-radius: ;

                 1个值:上下左右4个角同时变化

                2个值:左上角和右下角  右上角和左下角

                3个值:左上   右上和左下  右下

                4个值:左上 右上  右下  左下 顺时针的赋值顺序

五、3d变形

①位移语法:transform:translatex/y/z(数值px)

    坐标轴:

        x轴:向右为正,向左为负

        y轴:向下为正,向上为负

        z轴:向前为正,向后为负

    属性值:

           1.位移translate

            2.旋转rotate

            3.缩放scale

    注意:要想看到3d的效果

        1.必须给想要呈现3d效果的元素找一个父亲,在这个大盒子上要写

             transform-style: preserve-3d;

        2.必须适当的让3d空间(3d舞台)旋转一下

②旋转语法:transform: rotateY/x/z(数值deg);

③缩放语法: transform: scaleX/y/z(数值);

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要制作一个3D变形方块,可以使用 CSS3 的 `transform` 属性。 首先,创建一个正方形的 `div` 元素,并设置好它的宽度、高度、背景颜色等样式。 然后,使用 `transform-style: preserve-3d;` 属性将该元素的子元素变成3D空间中的元素,并设置 `transform-origin` 属性来确定变形的中心点。 接着,使用 `transform` 属性来实现变形效果。例如,可以使用 `rotateX()` 和 `rotateY()` 方法来分别绕 X 轴和 Y 轴旋转元素,使用 `translateZ()` 方法来改变元素的 Z 轴位置,从而实现3D变形效果。 最后,使用 `animation` 属性来添加动画效果,使变形更加流畅。 以下是一个示例代码,实现一个3D变形方块的效果: ```html <div class="cube"> <div class="side front"></div> <div class="side back"></div> <div class="side top"></div> <div class="side bottom"></div> <div class="side left"></div> <div class="side right"></div> </div> ``` ```css .cube { width: 200px; height: 200px; position: relative; transform-style: preserve-3d; animation: rotate 3s infinite linear; } .side { position: absolute; width: 200px; height: 200px; background-color: #ccc; opacity: 0.8; border: 1px solid #fff; } .front { transform: translateZ(100px); } .back { transform: translateZ(-100px) rotateY(180deg); } .top { transform: rotateX(90deg) translateZ(-100px); transform-origin: top center; } .bottom { transform: rotateX(-90deg) translateZ(-100px); transform-origin: bottom center; } .left { transform: rotateY(-90deg) translateZ(-100px); transform-origin: left center; } .right { transform: rotateY(90deg) translateZ(-100px); transform-origin: right center; } @keyframes rotate { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } } ``` 这段代码会实现一个3D立方体的效果,六个面分别是正面、背面、上面、下面、左面和右面。`transform` 属性和 `transform-origin` 属性可以根据实际需求进行调整,从而实现不同的3D变形效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是打工人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值