利用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实现钟表效果的更多相关文章

  1. 用CSS3实现钟表效果

    背景:最近在学习CSS3,看到了一个小案例,通过自己的学习,动手实现了它,现在把它分享出来. 效果图 实现过程 1.首先我们需要在页面中写出一个静态的钟表效果.首先我们需要一个表盘div wrap 对 ...

  2. js css3实现钟表效果

    原理: 利用transform-origin改变旋转的圆心,实现秒数和分钟数的刻度线,利用transfrom translate实现钟表小时刻度的显示 html: <div class=&quo ...

  3. Image Wall - jQuery & CSS3 图片墙效果

    今天我们要为您展示如何基于 jQuery 和 CSS3 创建一个整洁的图片墙效果.我们的想法是在页面上洒上一些大小不同的缩略图,并在当我们点击图片时候显示丝带,会显示一些描述,再次点击缩略图时,丝带将 ...

  4. css3的transition效果和transfor效果

    <!doctype html> <html> <head> <meta charset="utf-8" /> <title&g ...

  5. css3幻灯片换位效果

    <title>css3幻灯片换位效果</title> <style type="text/css">  .flowGallery {width: ...

  6. 第八十节,CSS3边框图片效果

    CSS3边框图片效果 学习要点: 1.属性初探 2.属性解释 3.简写和版本 本章主要探讨HTML5中CSS3中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩. 一.属性解释     CSS3 ...

  7. html+css3实现长方体效果

    网上大都是正方体的效果,由于做一个东西需要,写了一个HTML+css3实现的长方体,有需要的也可以看看.                   2017-07-25         21:30:23 h ...

  8. Css3实现波浪效果3-静态波纹

    一.外框宽度等比例3个椭圆拼合 .container { position: absolute; width: 400px; height: 200px; border: 5px solid rgb( ...

  9. 测试css3的动画效果在display:none的时候不耗费性能

    也许你也有这个疑惑,动画一直在播放,那它不显示出来的时候也一直在播放的话,那是否一直占用资源呢? <!doctype html> <html> <head> < ...

随机推荐

  1. 洛谷P2024食物链——并查集补集的灵活运用

    题目:https://www.luogu.org/problemnew/show/P2024 自己在做本题时最大的障碍就是:不会在一个集合的father改变时把相应的补集也跟着改变. 借鉴题解后,才明 ...

  2. Adobe Flash Player 27 on Fedora 27/26, CentOS/RHEL 7.4/6.9

    This is guide, howto install Adobe Flash Player Plugin version 27 (32-bit and 64-bit) with YUM/DNF o ...

  3. Jmeter提取响应数据的结果保存到本地的一个文件

    原文地址: https://www.cnblogs.com/whitewasher/p/9504728.html 当做性能压测时,可能会需要把响应数据的一些字段统计出来.这里简单介绍一下. 1.首先把 ...

  4. 错误: 实例 "ahwater-linux-core" 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance 7c1609c9-9d0f-4836-85b3-cefd45f942a7. Last exception: [u

    错误: 实例 "ahwater-linux-core" 执行所请求操作失败,实例处于错误状态.: 请稍后再试 [错误: Exceeded maximum number of ret ...

  5. [Forward]Improving Web App Performance With the Chrome DevTools Timeline and Profiles

    Improving Web App Performance With the Chrome DevTools Timeline and Profiles We all want to create h ...

  6. 【机器学习】分类算法——Logistic回归

    一.LR分类器(Logistic Regression Classifier) 在分类情形下,经过学习后的LR分类器是一组权值w0,w1, -, wn,当测试样本的数据输入时,这组权值与测试数据按照线 ...

  7. 1. docker安装

    前提 系统:我这边都使用虚拟机安装的CentOS7,具体安装可以参考:Windows安装Linux虚拟机(CentOS7) yum:推荐更新下yum:yum update;我们这边CentOS7自带d ...

  8. 7.12实习培训日志 Linux Docker

    Linux 管理 RHEL7 的用户和组 用户的属性修改 chage -l [username] #查看用户信息 usermod --expiredate=YYYY-MM-DD [username] ...

  9. CSP 201703-4 地铁修建 最小生成树+并查集

    地铁修建   试题编号: 201703-4 试题名称: 地铁修建 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力, ...

  10. 为什么要用babel-polyfill

    1.为什么要用babel-polyfill Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如 Iterator.Generator.Set.Maps.Prox ...