美文网首页
用css、html做钟表

用css、html做钟表

作者: houxnan | 来源:发表于2020-01-31 18:17 被阅读0次

首先,画钟表页面,主要难点在于钟表那些刻度,可以用一个div包裹一个ul li,用javascrip去设置刻度,用transform:rotate()来做每一个刻度,每一个刻度间角度是6度。

之后是画钟表的时针、分针、秒针,并让这些针转动。

首先在html中敲下如下代码:

接下来css部分:

javascript部分:

完整代码如下:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Document</title>

</head>

<style>

    *{

        margin: 0;

        padding: 0;

    }

    .wrap{

        width: 200px;

        height: 200px;

        border: 1px solid;

        border-radius: 50%;

        position: absolute;

        margin: 200px;

    }

    .wrap ul{

        width: 200px;

        height: 200px;

        list-style: none;

        position: relative;

    }

    /* 每一个刻度长2px,高8px,刻度绕center 100px的点旋转 */

    .wrap ul li{

        width: 2px;

        height: 8px;

        position: absolute;

        left: 100px;

        background-color: black;

        -webkit-transform-origin: center 100px;

    }

    /* 对于数字1~12间的数字,刻度线高度要长一些 */

    .wrap ul li:nth-of-type(5n+1){

        height: 15px;

    }

    .icon{

        width: 20px;

        height: 20px;

        border-radius: 50%;

        background-color: pink;

        position: absolute;

        left: 90px;

        top: 90px;

    }

    .hour{

        width: 6px;

        height: 30px;

        background-color: black;

        position: absolute;

        left: 97px;

        top: 70px;

        transform-origin: center bottom;

    }

    .min{

        width: 4px;

        height: 50px;

        background-color:gray;

        position: absolute;

        left: 100px;

        top: 50px;

        transform-origin: center bottom;

    }

    .sec{

        width: 2px;

        height: 70px;

        background-color:red;

        position: absolute;

        left: 100px;

        top: 30px;

        transform-origin: center bottom;

    }

</style>

<body>

    <div class="wrap">

        <ul>

            <li></li>

        </ul>

        <!-- 时针、分针、秒针和中间圆点 -->

        <div class="hour"></div>

        <div class="min"></div>

        <div class="sec"></div>

        <div class="icon"></div>

    </div>

    <script>

        window.onload = function(){

        // 用javascript将每一个刻度做出来

        var ulNode = document.querySelector(".wrap ul");

        var styleNode = document.createElement("style");

        var liHtml = "";

        var cssText = "";

        // 时针、分针、秒针要转动需要获取的元素

        var hourNode = document.querySelector(".wrap .hour");

        var minNode = document.querySelector(".wrap .min");

        var secNode = document.querySelector(".wrap .sec");

        // 将刻度线画在页面上

        for(var i=0;i<60;i++){

        liHtml+="<li></li>";

        cssText+=".wrap ul li:nth-child("+(i+1)+"){transform:rotate("+(6*i)+"deg);}";

        }

        ulNode.innerHTML = liHtml;

        styleNode.innerHTML = cssText;

        document.head.appendChild(styleNode);

        // 时分秒针的转动

        move();

            setInterval(move,1000);

            function move(){

                var date = new Date();

                var s = date.getSeconds();

                var m = date.getMinutes()+s/60;

                var h = date.getHours()+m/60;

                hourNode.style.transform = "rotate("+(30*h)+"deg)";

                minNode.style.transform = "rotate("+(6*m)+"deg)";

                secNode.style.transform = "rotate("+(6*s)+"deg)";

            }

        }

    </script>

</body>

</html>

相关文章

  • 用css、html做钟表

    首先,画钟表页面,主要难点在于钟表那些刻度,可以用一个div包裹一个ul li,用javascrip去设置刻度,用...

  • css动画学习——钟表clock

    这是一个采用CSS动画 绘制钟表的练习,代码如下 html css js

  • 高效学习 react 笔记七:react 里的 css 方案

    传统的css方案 css in html 直接在 html 里面写 css 或者用 link 引入 像这个样子 r...

  • 【CSS】按钮特效 - 2

    基于【CSS】按钮特效的方法,做多几个不同角度的按钮~ HTML代码 CSS代码 HTML代码 CSS代码 HTM...

  • HTML

    HTML、CSS、JS是什么 HTML:骨架 CSS:美化 使用div+css就可以做静态页面 标签 双标签 单标...

  • 微信小程序多图上传组件

    组件部分html css js json 用组件的页面html js json

  • 学习漏洞

    今天看css视频时,看的是做一个案例,用css把用HTML做的表格美化,刚开始看视频上的代码,觉得自己会,都可...

  • HTML

    html+css+javascript 称作前端三剑客,html主要做前端的骨架,css做前端的效果,js做前端的...

  • 天明跟着李南江学习HTML5—HTML学习/CSS学习

    HTML的学习已经告一段落了,接下来就开始学习CSS了,刚开始体验CSS以及CSS的格式,html的学习为CSS做...

  • 【CSS】按钮特效 - 3

    HTML代码 CSS代码 HTML代码 CSS代码 HTML代码 CSS代码 HTML代码 CSS代码 最后两个效...

网友评论

      本文标题:用css、html做钟表

      本文链接:https://www.haomeiwen.com/subject/gsagthtx.html