<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>CodePen - Time Login</title>
<style>
@import url(https://fonts.googleapis.com/css?family=Radley|Roboto:400,500,700);
*, *:after, *:before {
box-sizing: border-box;
}
html {
background: #009A4C;
font-family: 'Roboto', sans-serif;
overflow: hidden;
}
.clock-container {
position: relative;
max-width: 500px;
margin: 50px auto 0;
}
.clock-container:hover .clock, .clock-container.open .clock {
transform: rotateX(-180deg);
background: #00a250;
}
.clock-container:hover .triger, .clock-container.open .triger {
transform: translateY(20px);
}
.clock-container:hover .btn, .clock-container:hover .form-group, .clock-container.open .btn, .clock-container.open .form-group {
transform: translateX(0%);
opacity: 1;
}
.triger {
border: 2px solid #fff;
color: #009A4C;
font-size: 16px;
background: #fff;
margin: 50px auto -8px;
display: block;
text-align: center;
width: 130px;
padding: 10px 15px;
border-radius: 40px 40px 0 0;
transition: 0.2s;
transform: translateY(5px);
cursor: pointer;
position: relative;
z-index: 5;
}
.triger:after {
content: '';
position: absolute;
width: 25px;
height: 25px;
border-radius: 100%;
margin: auto;
left: 0;
right: 0;
bottom: 100%;
border: 3px solid #fff;
}
.triger:focus, .triger:active {
outline: none;
}
.clock, .login-form {
position: relative;
width: 400px;
height: 400px;
background: #009A4C;
border-radius: 100%;
margin: auto;
border: 2px solid #fff;
z-index: 200;
transition: ease-in 0.5s;
transform-origin: 50% 100%;
}
.clock:after, .clock:before, .login-form:after, .login-form:before {
content: '';
position: absolute;
width: 25px;
height: 25px;
border-radius: 100%;
margin: auto;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: #fff;
}
.clock:before, .login-form:before {
width: 100%;
height: 100%;
background: #009A4C;
}
.minute, .hour, .second {
position: absolute;
width: 3px;
background: #fff;
height: 120px;
transform-origin: 0 100%;
transform: rotate(0deg);
left: 0;
right: 0;
margin: auto;
bottom: 50%;
}
.minute:after, .hour:after, .second:after {
content: '';
position: absolute;
width: 12px;
height: 12px;
border-radius: 100%;
margin: auto;
left: -4px;
top: 0;
background: #fff;
}
.hour {
height: 75px;
}
.second {
width: 2px;
height: 140px;
}
.second:after {
left: -5px;
}
.login-form {
position: absolute;
top: 35px;
left: 0;
right: 0;
padding: 150px 50px 0;
background: #009047;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) inset;
z-index: 100;
}
.login-form .btn, .login-form .form-group {
-moz-transition: 0.3s 0.4s;
-o-transition: 0.3s 0.4s;
-webkit-transition: 0.3s;
-webkit-transition-delay: 0.4s;
transition: 0.3s 0.4s;
transform: translateX(10%);
opacity: 0;
}
.login-form:after, .login-form:before {
display: none;
}
.clock-numbers {
display: block;
font-size: 26px;
margin: auto;
position: absolute;
padding: 0;
margin: 0;
left: 0;
top: 0;
width: 100%;
height: 100%;
list-style-type: none;
font-family: 'Radley', serif;
}
.clock-numbers li {
position: absolute;
text-align: center;
color: #fff;
}
.clock-numbers li:nth-child(1) {
left: 50%;
top: 10px;
}
.clock-numbers li:nth-child(2) {
right: 10px;
top: 50%;
}
.clock-numbers li:nth-child(3) {
bottom: 10px;
left: 50%;
}
.clock-numbers li:nth-child(4) {
left: 10px;
top: 50%;
}
.form-group {
display: block;
position: relative;
min-height: 50px;
margin-bottom: 15px;
}
.form-group .form-label {
color: #fff;
position: absolute;
left: 5px;
width: 100%;
top: 7px;
z-index: 1;
transition: 0.3s;
}
.form-group .form-control {
background: none;
color: #fff;
border: none;
border-bottom: 1px solid #fff;
width: 100%;
padding: 7px 5px;
position: relative;
z-index: 5;
}
.form-group .form-control:focus {
border-bottom-color: #fff;
outline: none;
outline: none;
}
.form-group .form-control:focus + .form-label {
color: #fff;
transform: translateY(-25px);
font-size: 12px;
}
.form-group .form-control:valid {
outline: none;
}
.form-group .form-control:valid + .form-label {
transform: translateY(-25px);
font-size: 12px;
}
.btn {
background: #fff;
border: 1px solid #d5d5d5;
font-size: 18px;
padding: 8px 15px;
color: #009A4C;
font-weight: 200;
border-radius: 4px;
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
width: 150px;
margin: auto;
display: block;
cursor: pointer;
}
.wheel-box {
position: absolute;
z-index: 50;
display: block;
top: 50%;
right: 50%;
width: 360px;
padding: 0;
margin: 0;
list-style-type: none;
}
.wheel-box li {
position: absolute;
background: url("https://i.imgur.com/8GFg4yR.png") no-repeat;
-webkit-animation: rotate 150s linear 0s infinite;
animation: rotate 150s linear 0s infinite;
}
.wheel-box li:nth-child(1) {
-webkit-animation: rotateR 120s linear 0s infinite;
animation: rotateR 120s linear 0s infinite;
left: 50px;
top: 0;
background-position: -5px 0;
width: 253px;
height: 253px;
z-index: 8;
}
.wheel-box li:nth-child(2) {
background-position: -334px -50px;
-webkit-animation-duration: 50s;
animation-duration: 50s;
width: 111px;
height: 111px;
left: 175px;
top: 115px;
}
.wheel-box li:nth-child(3) {
background-position: 0 -388px;
-webkit-animation: rotateR 100s linear 0s infinite;
animation: rotateR 100s linear 0s infinite;
width: 187px;
height: 187px;
left: 50px;
top: 195px;
}
.wheel-box li:nth-child(4) {
background-position: -220px -318px;
height: 285px;
left: 232px;
top: 133px;
width: 285px;
}
@-webkit-keyframes rotate {
to {
transform: rotate(360deg);
}
}
@keyframes rotate {
to {
transform: rotate(360deg);
}
}
@-webkit-keyframes rotateR {
from {
transform: rotate(360deg);
}
to {
transform: rotate(0deg);
}
}
@keyframes rotateR {
from {
transform: rotate(360deg);
}
to {
transform: rotate(0deg);
}
}
</style>
</head>
<body translate="no" >
<div class="clock-container"><span class="triger">LOG</span>
<div class="clock">
<div class="second"></div>
<div class="minute"></div>
<div class="hour"></div>
<ul class="clock-numbers">
<li>XII</li>
<li>III</li>
<li>VI</li>
<li>IX</li>
</ul>
</div>
<form class="login-form">
<div class="form-group">
<input class="form-control" required=""/>
<label class="form-label">User Name</label>
</div>
<div class="form-group">
<input class="form-control" type="password" required=""/>
<label class="form-label">Password</label>
</div>
<button class="btn">IN</button>
</form>
<ul class="wheel-box">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script id="rendered-js" >
(function () {
function getTime() {
var date = new Date(),
seconds = date.getSeconds(),
minutes = date.getMinutes(),
hours = date.getHours(),
degSeconds = seconds * 360 / 60,
degMinutes = (minutes + seconds / 60) * 360 / 60,
degHours = (hours + minutes / 60 + seconds / 60 / 60) * 360 / 12;
$('.second').css('transform', 'rotate(' + degSeconds + 'deg)');
$('.minute').css('transform', 'rotate(' + degMinutes + 'deg)');
$('.hour').css('transform', 'rotate(' + degHours + 'deg)');
}
setInterval(getTime, 1000);
getTime();
})();
// form Checking
$('.form-control').keyup(function () {
if ($(this).val().length > 0) {
$('.clock-container').addClass('open');
} else
{
$('.clock-container').removeClass('open');
}
});
//# sourceURL=pen.js
</script>
</body>
</html>
ที่มา : Vineeth.TR on CodePen