用js,css3 做的一个球
用css3属性很容易做一个立方体,但是要做一个球体,会相对复杂些
原理是:球可以看做是由无数个圆圈构成,然后就可以用圆圈来做球,
下面的例子是我做的一个小球,由72个圆圈组成。如果把每个圆圈的背景颜色设置同一颜色,效果更佳
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body{
perspective: 1000px;
background-color: grey;
}
.bigBox{
width: 80px;
height: 80px;
border-radius: 50%;
position: relative;
margin: 100px auto;
transform-style: preserve-3d; }
ul{
padding: 0;
margin: 0;
width: 80px;
height: 80px;
border-radius: 50%;
box-shadow: 0 0 1px 1px yellowgreen;
position: absolute;
list-style: none;
transform-style: preserve-3d; } .qiuXian{
padding: 0;
margin: 0;
width: 80px;
height: 80px; border-radius: 50%;
box-shadow: 0 0 1px 1px yellowgreen;
position: absolute;
list-style: none; } @keyframes zizhuan {
from{rotateX(0deg) rotateY(0deg) }
to{
transform: rotateX(360deg) rotateY(360deg);
}
}
.animation{
animation: zizhuan 10s linear infinite;
}
</style>
<script> window.onload= function () { function zaoQiu(id,className) {
var ele = document.getElementById(id);
for(var i = 0 ; i < 72 ; i++){
//创建div元素
var div = document.createElement("div"); //将创建出来的div的className 统一设置为className,方便通过CSS 设置样式
div.className = className; //在目标元素中添加该div
ele.appendChild(div);
}
//获取新创建出来的所有div
var divs = document.getElementsByClassName(className); //首先遍历前一半的div,并设置他们的属性
for(var i = 0 ; i < 36 ; i++){
divs[i].style.transform = "rotateY("+10*i+"deg)";
}
//遍历后一半的div,并设置它们的属性
for(var i = 36 ; i < divs.length ; i++){
divs[i].style.transform = "rotateX("+10*i+"deg)";
}
}
zaoQiu("bigBox","qiuXian"); } </script>
</head>
<body>
<div class="bigBox animation" id="bigBox"> </div>
</body>
</html>
用js,css3 做的一个球的更多相关文章
- 用js+css3做一个小球投篮的动画(easing)
<!DOCTYPE html> <html> <head> <script src="jquery-1.11.3.min.js">& ...
- 做了一个图片等比缩放的js
做了一个图片等比缩放的js 芋头 发布在view:8447 今天改了一下博客的主题,发现博客主题在ie6下变样了,后来发现是因为某篇文章里的某个图片太大了撑开了容器,导致样式错位,前几天公司需求里 ...
- (Demo分享)利用JavaScript(JS)做一个可输入分钟的倒计时钟功能
利用JavaScript(JS)实现一个可输入分钟的倒计时钟功能本文章为 Tz张无忌 原创文章,转载请注明来源,谢谢合作! 网络各种利用JavaScript做倒计时的Demo对新手很不友好,这里我亲手 ...
- 用js给闺女做了一个加减乘除的html
下班回家用二十分钟给闺女做了一个加减乘除的页面,顺便记录下代码,时间仓促,后期再来修改吧 目录结构 -yq --menu.html --yq.html --yq50.html --yq70.html ...
- H5+JS+CSS3 综合应用
慕课网新教程H5+JS+CSS3 实现的七夕言情主题效果已经出炉了 从设计到实现到录制与编写用了快1个月的时间,说真的这个案例是慕课定制的,我之前也没有系统的做过这样的一个效果,在实现的时候自己也重新 ...
- [应用][js+css3]3D盒子导航[PC端]
CSS3构建的3D盒子之导航应用 1.在用css3构建的盒子表面,放上iframe,来加载导航页面. 2.鼠标左键按下移动可旋转盒子,寻找想要的网址. 3.左键单机盒子表面,将全屏现实所点盒子表面的网 ...
- 【学】CSS3基础实例1 - 用CSS3做网页中的小三角,以及transition的用法
自开了博客园已经有2周了吧,虽然转载了一些觉得比较有用的文章之外还没有开始写自己的一些学习记录,那就从今天开始. 目前看了妙味的不少视频,有css+html,js的基础和中级也都看完了,作业也都做了, ...
- js+css3+HTML5拖动滑块(type="range")改变值
最近在做一个H5的改版项目,产品和设计给出的效果中有一个拖动滑块可以改变输入值的效果,类似如下图这样: 拿到这样的设计稿后,我有点懵了,自己写一个js?去网上找一个这样的效果?自己写一个可以,只是实现 ...
- CSS3 实现的一个简单的"动态主菜单" 示例[转]
其实这个示例蛮无聊的 很简单 也没什么实际的用处. 主要是展示了 CSS3 如何实现动画效果. 写这个主要是想看一看 完成这样的效果 我到底要写多少代码. 同时和我熟悉的java做个比较. 比较结果不 ...
随机推荐
- iOS网络高级编程:iPhone和iPad的企业应用开发(书籍学习)
作者:Jack Cox.Nathan Jones.John Szumski 译者:张龙 勘误 前言 第 I 部分 理解iOS与企业网络 这一部分从高层次概览了iOS网络以及针对移动网络架构的最佳 ...
- vim设置注意记录
set vb t_vb= setlocal buftype = "解决不能保存buff错误
- Chrome 出现adobe flash is out of date的解决方法
最近使用安装了ubuntu和linux mint,都发现firefox的flash虽然能用,但还是觉得有点小问题,想使用google chrome,但无奈,一安装使用后就发现flash不能用,显示ad ...
- php 中 php-fpm 的重启、终止操作命令
php-fpm没有启动nginx会报502的错误 php 5.3.3 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|s ...
- 最简化模型——css3分阶段动画效果(经过实测)
body { background: #dcdcdc; -webkit-animation: colorin 5s; /* chrome调用属性 */ animation: colo ...
- java中Array/List/Map/Object与Json互相转换详解(转载)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Langu ...
- QT第四天学习
回顾: 1.信号与槽 public slots: //先声明后实现 signals: //只需要声明 connect(sender,SIGNAL(signal()),receiver,SLOT(slo ...
- js模块化开发——require.js学习总结
1.为什么使用require.js 作为命名空间: 作为命名空间使用: 异步加载js,避免阻塞,提高性能: js通过require加载,不必写很多script 2.require.js的加载 requ ...
- js blob
Blob 是什么? 这里说的是一种JavaScript的对象类型. Oracle 中也有类似的栏位类型. 在 [JS进阶] HTML5 之文件操作(file) 这一篇中用到了File对象,而实际上 f ...
- ListView 的三种数据绑定方式
ListView 的三种数据绑定方式 1.最原始的绑定方式: public ObservableCollection<object> ObservableObj; public Mai ...