如何使用 CSS3 动画制作类似原子的动画?

2024-01-10

我已经尝试了 3-4 天,但不知道如何制作这个动画,甚至不确定是否可以仅使用 CSS3 制作这样的动画?

我尝试使用animation-direction:alternate;但我无法以特定角度获得这种流动,无法以动画形式呈现它正方形..但不是atom动画的方式,你知道如何使用纯CSS3来实现这一点吗?如果没有,jQuery 有什么解决方案吗?


Found this http://forrst.com/posts/CSS3_only_3D_Animated_Atom-4Dr online.

它利用了transform-style: preserve-3d属性并在 x、y 和 z 轴上旋转电子以实现此 3D 效果。

HTML结构

<div id="main">
    <div id="atom">
        <div class="orbit">
            <div class="path">
                <div class="electron"></div>
            </div>
        </div>
        <div class="orbit">
            <div class="path">
                <div class="electron"></div>
            </div>
        </div>
        <div class="orbit">
            <div class="path">
                <div class="electron"></div>
            </div>
        </div>
        <div class="orbit">
            <div class="path">
                <div class="electron"></div>
            </div>
        </div>
        <div id="nucleus"></div>
    </div>
</div>

CSS

.orbit { 
    -webkit-transform-style: preserve-3d; 
    -webkit-transform: rotateX(80deg) rotateY(20deg);
}

#atom .orbit:nth-child(2) { 
   -webkit-transform: rotateX(80deg) rotateY(70deg)
}
#atom .orbit:nth-child(3) { 
   -webkit-transform: rotateX(80deg) rotateY(-20deg)
}
#atom .orbit:nth-child(4) { 
   -webkit-transform: rotateX(80deg) rotateY(-50deg)
}

.path { 
    -webkit-transform-style: preserve-3d;
    -webkit-animation-name: pathRotate;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear; 
}

.electron { 
    -webkit-animation-name: electronFix; 
    -webkit-animation-duration: 2s; 
    -webkit-animation-iteration-count: infinite; 
    -webkit-animation-timing-function: linear;  
}

@-webkit-keyframes pathRotate { 
    from { 
       -webkit-transform: rotateZ(0deg);
    } to { 
       -webkit-transform: rotateZ(360deg); 
    } 
}

@-webkit-keyframes electronFix { 
    from { 
       -webkit-transform: rotateX(90deg) rotateY(0deg); 
    } to { 
       -webkit-transform: rotateX(90deg) rotateY(-360deg); 
    } 
}

Fiddle http://jsfiddle.net/bgreater/kfgVr/

博客文章 http://forrst.com/posts/CSS3_only_3D_Animated_Atom-4Dr

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 CSS3 动画制作类似原子的动画? 的相关文章

随机推荐

  • Android - 如何使用具有不同高度的多个子项的 ViewPager

    我有一个 ViewPager 在它的适配器中我有 3 个孩子 片段 这 3 个孩子的身高测量内容应该不同 我已经尝试像这样重写 ViewPager 中的 onMeasure 方法Android 我无法让 ViewPager WRAP CON
  • 如何实现参数化元组的“Show”接口?

    I have Coord将 n 维大小转换为给定大小限制的坐标类型的函数 Coord 2 3 Fin 2 Fin 3 import Data Fin import Data List Size Type Size List Nat Coor
  • 将空值添加到 pandas 数据框

    我有一个 pandas 数据框 用于创建 JSON 而 JSON 又用于显示 highcharts 图表 熊猫数据框 Date colA colB 12 Sep 14 20 40 13 Sep 14 50 10 14 Sep 14 12 2
  • 加载项错误 该加载项无法启动

    使用 Visual Studio 2017 C Excel 2016 2019 Web 插件模板 我尝试创建一个基本插件来 将内容插入 Excel 电子表格 VS 项目选项 当我运行项目并显示以下消息时 我在 Excel 中的所有尝试都失败
  • 使用 WindowsFileChooserUI 时出现 NullPointerException

    我收到此运行时错误 我正在尝试使 java 文件选择器看起来像 Windows 的文件选择器 错误代码 Exception in thread main java lang NullPointerException at com sun j
  • 禁用 HTML 输入字段中的粘贴? [复制]

    这个问题在这里已经有答案了 Html FIle 禁用 HTML 输入字段中的粘贴 您可以按如下方式禁用输入中的粘贴 html
  • 解析Java中的持续时间,如“time=+1d1h55m15s584ms”

    我目前正在我的 Android 应用程序中运行几个 shell 命令并解析我的应用程序上的 shell 输出 目前 我的 shell 输出还返回先前输出之间的持续时间 持续时间是这样的 time 1d1h55m15s584ms 现在我被困在
  • gdal/ogr:如何真正裁剪 shapefile?

    给定一个欧洲国家对应的SHP文件 and 给定与法国对应的定义区域 例如 West 005 48 W East 010 E North 051 30 N South 041 N 如何仅获取与 gdal 定义的区域相交的点 几何图形 所以我的
  • 球拍/计划过滤

    我如何过滤它以显示所有蔬菜 先感谢您 Pecan 1982 nut AL Blackberry 2004 fruit AL Peach 2006 fruit AL Rice 2007 grain AR Orange 2005 fruit F
  • 谷歌地图未显示在我的网页上

    这是代码片段 请有人帮助我 因为我无法在我的网页上运行地图 我已经尝试了我所知道的一切 但这也没用 地图在我的网页上没有显示任何内容 http jsfiddle net gauravroy142 tZ7v2 http jsfiddle ne
  • 对浮点数进行舍入并以 Python2 和 Python3 兼容的方式将其转换为整数

    为了生成 Numpy 索引 我需要舍入float to an int 在 Python 2 7 中 舍入 afloat给出一个float gt gt gt round 2 7 3 0 在 Python 3 5 中 int返回 gt gt g
  • 如果我们使用重复的哈希键插入 dynamo DB 中会发生什么?

    我正在尝试插入 dynamo DB 当我调用 putItem 函数时 如果哈希键已存在于数据库中 会发生什么情况 PutItemResult 对象是否包含可以告诉我们是否尝试重复哈希条目的内容 我想避免运行另一个查询来检查是否存在带有我正在
  • 拥有一个 sln 文件,可以列出该 sln 下所有项目的所有文件吗?

    有没有一种方法或扩展可以执行以下操作 有一个 sln文件 我可以列出该 sln 下所有项目或所有解决方案文件夹中的所有文件吗 所以如果我这样做dotnet sln list然后我从该解决方案文件中获取项目列表 但我需要的是获取所有文件 我真
  • 在逻辑中使用单端端口期待差异对?

    我使用的逻辑被设置为需要一个差分对时钟端口 然而 对于一个特定的应用程序 我只能输入一个单端时钟 由于硬件限制 修改逻辑以接受单端时钟不是一种选择 因为涉及许多文件和代码行 有没有办法可以输入单端端口并以某种方式将其馈送到模块的差异对端口
  • MIPS:将 BEQ 计算为十六进制机器代码

    我有一个作业 必须将 MIPS 指令转换为其十六进制机器代码 我知道如何转换 add addi lw 等指令 但是当它转换为 beq 之类的指令时 我感到困惑 我如何将这个 beq 转换为十六进制 0x00400108 beq t3 t5
  • 在私有存储库上使用 kubernetes init 容器

    我一直在尝试使用私有初始化容器映像运行部署 但收效甚微 我总是收到此错误 Failed to pull image private app Error image private app latest not found Error syn
  • iOS 6 - “应用程序可执行文件缺少所需的架构:armv6”

    首先 我已经尝试了这个问题的所有答案 应用程序可执行文件缺少所需的架构armv6 https stackoverflow com questions 7053466 application executable is missing a r
  • 可通过方法参数运行

    是否可以有一个方法参数Runnable像这个 public Runnable createRunnable Method a void method Runnable runnable new Runnable public void ru
  • 如何同步2个数据库

    我想同步 2 个数据库特定记录 假设我有两个数据库 1 Shop 2 Stock 现在假设用户更改库存中特定产品的价格 我也想改变商店里这个产品的价格 我的计算结果是 假设互联网连接稳定 当库存价格发生变化时 我调用一个 Web 服务 该服
  • 如何使用 CSS3 动画制作类似原子的动画?

    我已经尝试了 3 4 天 但不知道如何制作这个动画 甚至不确定是否可以仅使用 CSS3 制作这样的动画 我尝试使用animation direction alternate 但我无法以特定角度获得这种流动 无法以动画形式呈现它正方形 但不是