css3实现钟表效果
利用css3 transform属性刻画钟表的的刻度以及指针的角度,代码如下:
<head>
<meta charset="UTF-8">
<title>Title</title>
<style id="style">
html{height:100%;}
body{width:100%;height:100%;margin:0;display:-moz-box;display:-webkit-box; display:box; -webkit-box-align: center; -moz-box-align: center; box-align:center; -webkit-box-pack:center;-moz-box-pack:center; box-pack:center; }
.clock{ width:200px;height:200px;border:4px solid black;border-radius:50%; position:relative; }
.clock ul{ width:100%; height:100%;position:relative;margin:0;padding:0; }
.clock ul li{list-style: none; position:absolute;top:0;left:99px;width:2px; height:5px; background:gray; transform-origin: center 100px; }
.clock ul li:nth-of-type(5n+1){ left:98px;width:4px;height:10px;background:black;}
.hour{ width:8px; height:60px; border-radius:4px; position:absolute;left:96px;top:40px; background-color:black;transform-origin: center 60px;box-shadow:0 0 10px rgba(0,0,0,0.8);} .min{width:6px;height:70px;border-radius:3px;position:absolute;left:97px;top:30px;background-color:#2b2b2b;transform-origin: center 70px;box-shadow:0 0 10px rgba(0,0,0,0.6);} .sec{width:4px;height:80px;border-radius:2px; position:absolute;left:98px;top:20px;background-color:red;transform-origin: center 80px;box-shadow:0 0 10px rgba(255,0,0,0.5);}
.center{width:16px;height:16px;box-shadow:0 2px 5px rgba(0,0,0,0.5); border-radius:50%;position:absolute;left:92px;top:92px;background-image: radial-gradient(white,gray);}
</style>
</head>
<body>
<div class="clock">
<ul id="tickBox">
</ul>
<div class="hour" id="hour"></div>
<div class="min" id="min"></div>
<div class="sec" id="sec"></div>
<div class="center"></div>
</div>
<script>
window.onload = function(){
var oUl = document.getElementById("tickBox");
var oStyle = document.getElementById("style");
var liStr = "";
var styleStr = "";
for(var i=0;i<60;i++){
styleStr += '.clock ul li:nth-of-type('+(i+1)+'){transform: rotate('+i*6+'deg);}';
liStr += '<li></li>';
}
oStyle.innerHTML += styleStr;
oUl.innerHTML = liStr;
var oHour = document.getElementById("hour");
var oMin = document.getElementById("min");
var oSec = document.getElementById("sec");
function getTime(){
var timer = new Date();
var sec = timer.getSeconds();
var min = timer.getMinutes();
var hour = timer.getHours();
var tranS = sec*360/60;
var tranM = (min+sec/60)*360/60;
var tranH = (hour + min/60)*360/12;
oSec.style.transform = 'rotate('+tranS+'deg) translateZ(-1px)';
oMin.style.transform = 'rotate('+tranM+'deg) translateZ(-1px)';
oHour.style.transform = 'rotate('+tranH+'deg) translateZ(-1px)';
}
setInterval(getTime,1000);
getTime();
}
</script>
</body>
css3实现钟表效果的更多相关文章
- 用CSS3实现钟表效果
背景:最近在学习CSS3,看到了一个小案例,通过自己的学习,动手实现了它,现在把它分享出来. 效果图 实现过程 1.首先我们需要在页面中写出一个静态的钟表效果.首先我们需要一个表盘div wrap 对 ...
- js css3实现钟表效果
原理: 利用transform-origin改变旋转的圆心,实现秒数和分钟数的刻度线,利用transfrom translate实现钟表小时刻度的显示 html: <div class=&quo ...
- Image Wall - jQuery & CSS3 图片墙效果
今天我们要为您展示如何基于 jQuery 和 CSS3 创建一个整洁的图片墙效果.我们的想法是在页面上洒上一些大小不同的缩略图,并在当我们点击图片时候显示丝带,会显示一些描述,再次点击缩略图时,丝带将 ...
- css3的transition效果和transfor效果
<!doctype html> <html> <head> <meta charset="utf-8" /> <title&g ...
- css3幻灯片换位效果
<title>css3幻灯片换位效果</title> <style type="text/css"> .flowGallery {width: ...
- 第八十节,CSS3边框图片效果
CSS3边框图片效果 学习要点: 1.属性初探 2.属性解释 3.简写和版本 本章主要探讨HTML5中CSS3中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩. 一.属性解释 CSS3 ...
- html+css3实现长方体效果
网上大都是正方体的效果,由于做一个东西需要,写了一个HTML+css3实现的长方体,有需要的也可以看看. 2017-07-25 21:30:23 h ...
- Css3实现波浪效果3-静态波纹
一.外框宽度等比例3个椭圆拼合 .container { position: absolute; width: 400px; height: 200px; border: 5px solid rgb( ...
- 测试css3的动画效果在display:none的时候不耗费性能
也许你也有这个疑惑,动画一直在播放,那它不显示出来的时候也一直在播放的话,那是否一直占用资源呢? <!doctype html> <html> <head> < ...
随机推荐
- 数据库和ADO
数据库语言 数据库的简易流程(数据库客户端软件和数据库服务软件的执行流程) 主键的概念 如何创建主键 如何创建外键 主外键关系的概念以及使用 数据库的主要类型 数据库的主要数据类型 使用SQL语句来创 ...
- java基础知识 学习 关于URL中传递的参数含有特殊字符
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码 ...
- Excel解析easyexcel工具类
Excel解析easyexcel工具类 easyexcel解决POI解析Excel出现OOM <!-- https://mvnrepository.com/artifact/com.alibab ...
- android apk 防止反编译技术第二篇-运行时修改字节码
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止a ...
- GET 和 POST两种调用方式
http://www.cnblogs.com/java-pan/archive/2012/02/26/httpclient-post-get.html 通过get和post方式调用http接口,总结如 ...
- Hive与表操作有关的语句
Hive与表操作有关的语句 1.创建表的语句: Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COM ...
- 算法java实现--回溯法--图的m着色问题
(转自:http://blog.csdn.net/lican19911221/article/details/26264471) 图的m着色问题的Java实现(回溯法) 具体问题描述以及C/C++实现 ...
- 4.ctf实战题
一道ctf实战题. 先亮出网址: http://fb2ad00f-0a28-4e38-8fff-849d7391e2d0.coding.io 打开连接,看到下面页面.Web题,首先就是扫描(御剑啊还有 ...
- UVaLive 3266 Tian Ji -- The Horse Racing (贪心)
题意:田忌赛马,每胜一局就得200,负一局少200,问最多得多少钱. 析:贪心,如果最快的马比齐王的还快,就干掉它,如果最慢的马比齐王的马快,就干掉它,否则用最慢的马去和齐王最快的马比. 代码如下: ...
- 结对项目-ExamGeneration-四则运算试题生成与计算程序
目录 ExamGeneration 进展 功能 调用示例 PSP表格 结对分工 功能模块详解 Chernobyl: -Gaveu: 运行测试 -Gaveu: Chernobyl: 项目总结与反思 Ch ...