CSS3实现3D球体运动

@CSS3实现3D球体运动

实现思路

本案例主要实现两个功能:

  • 鼠标拖拽使球体旋转;
  • 鼠标轮滚动进入球体内部;

核心:球体形成思路

html
  <div class="stage">
  	<div class="unit">
  	//<div class=".ball"> 组成球体的一个个小长方形
  	</div>
  </div>
原理
  • 把球体分为一层一层,以直径这层为基础,给其加上样式transform:rotateX(),区间为[-90ded,90deg],注意,层数*每一层旋转角度 = 90deg 由此一层一层的组成一个球体;
  • 球体直径这层如何形成:若干个长方形,叠加在一起(绝对定位),每一个都加上样式:transform:rotateZ(radius) transformY(radius/长方形数量);注意长方形沿Y轴旋转角度360/数量*所在位置 即形成以radius为半径的圆环;

以上涉及物理空间想象,必要时请画图作以辅助

  • 数量过多,可利用js组件DOM(这里引入jquery)

    //这个函数为创建半个圆,half为1时创建半圆,为-1创建下半圆
         function half(flag) {
               for (var i = 0; i < framefloor[j]; i++) {
                   $("<div class='ball'></div>").css(
                       {
                           **//!!!!!!!!!!注意这里 非常非常重要 必须先X后Y  先变化x在变化Y  和先变化Y在变化X 最后呈现的是两种不同的结果!!!!!!!!!!!!!!!!!!!!**
                           "transform":"rotateY(" + 360 / framefloor[j] * i + "deg) rota
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值