• css3 3d动画


    css3 3d动画

    在学习3d动画之前,我们要先了解一个概念,就是我们在网页上的所展示的内容,他是一个2d的平面,要想在2d空间内展示出3d的效果,仅凭x轴和y轴是无法做到的,因此我们需要在添加一个轴的方向,z轴,这条轴你可以看作是屏幕正对着我们的视线。

    transform-styleperspective这两个属性对与3d来说非常重要,他们都是需要添加在附件盒元素上面的,但他们又不能同时加在同一父级元素上面 详细具体区别请参考 👉 详情

    backface-visibility另外这个属性也有必要了解一下,他是定义元素在不面对屏幕时是否可见。什么意思呢,就是说当一个元素沿Y轴旋转180deg之后,相对于屏幕而言他是否可见,利用这一属性,我们可以做个纸牌翻转的demo 例如:

    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>
        .background{
        width: 500px;
        height: 500px;
        border: 1px solid red;
        background: url(./images/1.jpg) no-repeat center;
        background-size: cover;
      }
    
      .front,.back{
        top: 0;
        left: 0;
        position: absolute;
        width: 100%;
        height: 100%;
        line-height: 300px;
        text-align: center;
      }
      .front{
        background-color: red; 
        z-index: 1;
        /* 隐藏背面旋转元素不可见 */
        backface-visibility: hidden;
      }
      .back{
        background-color: green;
        transform: rotateY(180deg);
      
      }
      .trans{
        position: relative;
        width: 300px;
        height: 300px;
        transition: all .6s;
        transform-style: preserve-3d;
        -webkit-transform-style: preserve-3d;
        border: 1px solid black;
        /* perspective: 500px; */
      }
      .trans:hover{
        transform: rotateY(180deg);
      }
      style>
    head>
    <body>
      <div class="trans">
        
        <div class="front">正面div>
        <div class="back">反面div>
      div>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59

    还有就是我们在做案例的时候,心中一定要有一个3d的网格图形界面,知道自己所写属性代表的每一个含义,css说实话这些东西只要你想学,就没有你学不会的。

    一下还做了两个案例,一个是旋转木马,另一个是正方体盒面,你们可以先动手自己去做一下,尝试以自己的思想去把他给做出来,然后再对比我的,你可以把你的想法发出来,我们一起努力进步哦,前端道路深远且到长,让我们共同求进退。

    魔方体demo:

    在这里插入图片描述
    旋转木马demo:
    在这里插入图片描述

    案例下载:
    3d动画demo下载

  • 相关阅读:
    sql主从复制搭建
    技术分享| Etcd如何实现分布式负载均衡及分布式通知与协调
    Nacos与Eureka中的高性能读写并发架构设计
    stm32cubemx hal学习记录:FreeRTOS信号量
    23 直接使用 dom api 更新了 #text节点, 之后响应式更新不生效了
    JVM(Java虚拟机)
    gopsutil 获取服务端资源信息
    要如何实现pdf图片提取?可以试试这些方法
    无线测温系统在电厂的必要性,保障电力系统稳定运行
    Android修行手册 - 实现POI上万行的大数据量Excel读写操作,解决内存溢出
  • 原文地址:https://blog.csdn.net/weixin_52767262/article/details/127591887