一个简易的炫彩时钟

效果图:

 html部分代码:

<body>
    <div class="box">
        <div class="clock">
            <p id="time"></p>
        </div>
    </div>
</body>

css部分代码:

:root {
    --color2: #56d5fc;
    --color4: #def700;
    --color6: #fa3195;
}

* {
    margin: 0;
    padding: 0;
}

html {
    font-size: 14px;
}

body {
    width: 100vw;
    height: 100vh;
    background: url(PRSS.png) center;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Montserrat', sans-serif, Arial, 'Microsoft Yahei';
}

.clock_box {
    position: relative;
    width: 380px;
    height: 80px;
    border-radius: 10px;
    background-image: linear-gradient(135deg, var(--color2), var(--color4), var(--color6));
    /* 居中 */
    display: flex;
    justify-content: center;
    align-items: center;
    animation: animate 4s linear infinite;
}

.clock_box::after,
.clock_box::before {
    position: absolute;
    content: "";
    /* 集成父级样式 */
    background-image: inherit;
    width: 100%;
    height: 100%;
    z-index: -1;
    border-radius: 10px;
    filter: blur(15px);
}

.clock_box::before {
    filter: blur(100px);
}

.clock {
    position: absolute;
    left: 10px;
    right: 10px;
    top: 10px;
    bottom: 10px;
    background-color: #2b2a2a;
    border-radius: 8px;
    /* 居中 */
    display: flex;
    justify-content: center;
    align-items: center;
}

.clock p {
    font-size: 50px;
    font-weight: bold;
    color: transparent;
    letter-spacing: 2px;
    background-image: linear-gradient(135deg, var(--color2), var(--color4), var(--color6));
    /* text不是通用样式属性值 */
    background-clip: text;
    /* 这个是chrome */
    -webkit-background-clip: text;
}

@keyframes animate {
    100% {
        /* 色相变化 */
        filter: hue-rotate(360deg);
    }
}

js部分代码:

// 获取页面id=time的元素(P元素<p id="time"></p>)
        var time = document.querySelector("#time");

        // 定义函数传入time元素
        function up(time_el) {
            // 获取当前时间
            let date = new Date();
            // 获取时分秒
            let h = date.getHours();
            let m = date.getMinutes();
            let s = date.getSeconds();
            // 上午与下午
            let day_night = "AM";

            // 计算上午与下午
            if (h > 12) {
                h = h - 12;
                day_night = "PM";
            }

            // 如果时间小于10则前面补充0
            if (h < 10) { h = "0" + h; }
            if (m < 10) { m = "0" + m; }
            if (s < 10) { s = "0" + s; }

            // 拼接时间并且赋值给time元素的文本中,从而显示
            time_el.textContent = h + ":" + m + ":" + s + " " + day_night;

        }

        // 定时器,每秒执行一次实现更新
        setInterval(() => {
            up(time);
        }, 1000);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值