本文最后更新于2020年11月10日,已超过 3 个月没更新!

HTML实现简单指针式钟表

HTML部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>A New Clock</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="clock">
        <div class="hour">
            <div class="hr" id="hr"></div>
        </div>
        <div class="min">
            <div class="mn" id="mn"></div>
        </div>
        <div class="sec">
            <div class="sc" id="sc"></div>
        </div>
    </div>
    <script type="text/javascript">
        const deg=6;
        const hr=document.querySelector('#hr');
        const mn=document.querySelector('#mn');
        const sc=document.querySelector('#sc');
        setInterval(() => {
            let day=new Date();
            let hh=day.getHours()*30;
            let mm=day.getMinutes()*deg;
            let ss=day.getSeconds()*deg;
            hr.style.transform=<code>rotateZ({(hh)+(mm/12)}deg)</code>;
            mn.style.transform=<code>rotateZ({mm}deg)</code>;
            sc.style.transform=<code>rotateZ(${ss}deg)</code>;
        })
    </script>
</body>
</html>

CSS部分

*
{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body
{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #11f08f;
}
.clock
{
    width: 350px;
    height: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(clock.png);
    background-size: cover;
    border: 4px solid #091921;
    border-radius: 50%;
    box-shadow: 0 -15px 15px rgba(255, 255, 255, 0.05),
                inset 0 -15px 15px rgba(255, 255, 255, 0.05),
                0 -15px 15px rgba(0, 0, 0, 0.3),
                inset 0 -15px 15px rgba(0, 0, 0, 0.3);
}
.clock:before
{
    content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    background: #ffffff;
    border-radius: 50%;
    z-index: 10000;
}
.clock .hour,
.clock .min,
.clock .sec
{
    position: absolute;
}
.clock .hour, .hr
{
    width: 120px;
    height: 120px;
}
.clock .min, .mn
{
    width: 190px;
    height: 190px;
}
.clock .sec, .sc
{
    width: 230px;
    height: 230px;
}
.hr, .mn, .sc
{
    display: flex;
    justify-content: center;
    /*align-items: center;*/
    position: absolute;
    border-radius: 50%;
}
.hr:before
{
    content: '';
    position: absolute;
    width: 8px;
    height: 60px;
    background: #ff105e;
    z-index: 10;
    border-radius: 6px 6px 0 0;
}
.mn:before
{
    content: '';
    position: absolute;
    width: 4px;
    height: 90px;
    background: #ffffff;
    z-index: 11;
    border-radius: 6px 6px 0 0;
}
.sc:before
{
    content: '';
    position: absolute;
    width: 2px;
    height: 150px;
    background: #ffffff;
    z-index: 12;
    border-radius: 6px 6px 0 0;
}

成品demo

链接:Clock


疏影横斜水清浅,暗香浮动月黄昏