css3实现钟表效果
2018-06-24 01:57:57来源:未知 阅读 ()
利用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>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- ie8下透明度处理 2020-06-11
- CSS3 2020-06-05
- css:css3(圆角边框、盒子阴影、文字阴影) 2020-06-05
- position: sticky实现导航栏下滑吸顶效果 2020-05-30
- 2.CSS3选择器 2020-05-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash