A Clock Design With Coding

Blog For Education
By -
0

 @codingwithbharath


HTML:

<!DOCTYPE html>
<html>

<head> </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>
</body>

</html>


CSS:

@import url('https://fonts.googleapis.com/css2?family=Bree+Serif&family=Caveat:wght@400;700&family=Lobster&family=Monoton&family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&family=Playfair+Display+SC:ital,wght@0,400;0,700;1,700&family=Playfair+Display:ital,wght@0,400;0,700;1,700&family=Roboto:ital,wght@0,400;0,700;1,400;1,700&family=Source+Sans+Pro:ital,wght@0,400;0,700;1,700&family=Work+Sans:ital,wght@0,400;0,700;1,700&display=swap');

body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #091921;
}

.clock {
    width: 300px;
    height: 300px;
    background-image: url("https://res.cloudinary.com/da66pcapb/image/upload/v1685789152/Analog-clock-background_wzmd5z.png");
    border-radius: 50%;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    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: "";
    width: 15px;
    height: 15px;
    position: absolute;
    background-color: #fff;
    border-radius: 50%;
    z-index: 1000;
}

.hour,
.min,
.sec {
    position: absolute;
}

.hr {
    width: 160px;
    height: 160px;
}

.mn {
    width: 190px;
    height: 190px;
}

.sc {
    width: 230px;
    height: 230px;
}

.hr,
.mn,
.sc {
    display: flex;
    justify-content: center;
}

.hr::before {
    content: "";
    width: 8px;
    height: 80px;
    background-color: #06fd2f;
    z-index: 100;
    border-radius: 5px;
}

.mn::before {
    content: "";
    width: 6px;
    height: 90px;
    background-color: rgba(15, 105, 207);
    z-index: 11;
    border-radius: 5px;
}

.sc::before {
    content: "";
    width: 2px;
    height: 140px;
    background-color: #fff;
    z-index: 10;
    border-radius: 5px;
}


JS

const deg = 6; //360deg / 60(min||sec) => 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; //360deg / 12 hour => 30
    let mm = day.getMinutes() * deg;
    let ss = day.getSeconds() * deg;

    hr.style.transform = `rotateZ(${hh + mm / 12}deg)`;
    mn.style.transform = `rotateZ(${mm}deg)`;
    sc.style.transform = `rotateZ(${ss}deg)`;

});

Post a Comment

0Comments

Post a Comment (0)
Why Cybersecurity Courses Are in High Demand

Why Cybersecurity Courses Are in High Demand

According to the above information, Due to the Rising Job Opportunities in Cybersecurity, We Started a Cybersecurity …

By -