HOW TO MAKE CAPTCHA USING PHP
Alepmustaqim
hanya manusia yang berada di atas muka bumi ..mencari ilmu dan pengalaman
Tuesday, November 9, 2021
HOW TO MAKE ROTATION RUBIK CUBE
HTML :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="scene rotateY">
<div class="cube">
<div class="grid-container front">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container back">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container right">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container left">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container top">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container bottom">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</div>
</div>
<div class="scene rotateX">
<div class="cube">
<div class="grid-container front">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container back">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container right">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container left">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container top">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="grid-container bottom">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</div>
</div>
</body>
</html>
CSS:
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root{
--width-cube: 200px;
--opac: 0.7;
}
html, body {
height: 100%;
background: #29303b;
display: flex;
align-items: center;
justify-content: center;
}
.cube{
width: var(--width-cube);
height: var(--width-cube);
}
.grid-container{
position: absolute;
width: var(--width-cube);
height: var(--width-cube);
display: grid;
grid-template-areas: "1 2 3";
grid-gap: 0px;
padding: 0px;
}
.grid-container>span{
border: 3px solid rgb(230,230,230);
}
.front{
background: #fa5252;
opacity: var(--opac);
transform: translateX(calc(var(--width-cube)/-2)) translateY(calc(var(--width-cube)/-2)) translateZ(calc(var(--width-cube)/-2));
}
.back{
background: #f76707;
opacity: var(--opac);
transform: translateX(calc(var(--width-cube)/-2)) translateY(calc(var(--width-cube)/-2)) translateZ(calc(var(--width-cube) / 2));
}
.right{
background: #12b886;
opacity: var(--opac);
transform: translateY(calc(var(--width-cube)/-2)) rotateY(90deg);
}
.left{
background: #4c6ef5;
opacity: var(--opac);
transform: translateY(calc(var(--width-cube)/-2)) translateX(calc(var(--width-cube)/-1)) rotateY(90deg);
}
.top{
background: #fab005;
opacity: var(--opac);
transform: translateX(calc(var(--width-cube)/-2)) translateY(calc(var(--width-cube)/-1)) rotateX(90deg);
}
.bottom{
background: #7950f2;
opacity: var(--opac);
transform: translateX(calc(var(--width-cube)/-2)) rotateX(90deg);
}
.rotateY .cube{
transform-style: preserve-3d;
transform-origin: 0% 0%;
transform: rotateX(-27deg) rotateY(51deg);
animation: rotate1 6s linear infinite;
}
.rotateX .cube{
margin-left: 300px;
transform-style: preserve-3d;
transform-origin: 0% 0%;
transform: rotateX(-27deg) rotateY(51deg);
animation: rotate2 6s linear infinite;
}
@keyframes rotate1{
0%{
transform: rotateX(-27deg) rotateY(51deg);
}
11%{
transform: rotateX(-27deg) rotateY(-39deg);
}
22%{
transform: rotateX(-27deg) rotateY(-39deg);
}
33%{
transform: rotateX(-27deg) rotateY(-129deg);
}
44%{
transform: rotateX(-27deg) rotateY(-129deg);
}
55%{
transform: rotateX(-27deg) rotateY(-219deg);
}
66%{
transform: rotateX(-27deg) rotateY(-219deg);
}
77%{
transform: rotateX(-27deg) rotateY(-309deg);
}
88%{
transform: rotateX(-27deg) rotateY(-309deg);
}
100%{
transform: rotateX(-27deg) rotateY(-309deg);
}
}
@keyframes rotate2{
0%{
transform:rotateX(-27deg) rotateY(131deg) rotateZ(0deg);
}
11%{
transform: rotateX(-27deg) rotateY(131deg) rotateZ(-90deg);
}
22%{
transform: rotateX(-27deg) rotateY(131deg) rotateZ(-90deg);
}
33%{
transform: rotateX(-27deg) rotateY(131deg) rotateZ(-180deg);
}
44%{
transform: rotateX(-27deg) rotateY(131deg) rotateZ(-180deg);
}
55%{
transform: rotateX(-27deg) rotateY(131deg) rotateZ(-216deg);
}
66%{
transform: rotateX(-27deg) rotateY(131deg) rotateZ(-270deg);
}
77%{
transform: rotateX(-27deg) rotateY(131deg) rotateZ(-270deg);
}
88%{
transform: rotateX(-27deg) rotateY(131deg) rotateZ(-360deg);
}
100%{
transform: rotateX(-27deg) rotateY(131deg) rotateZ(-360deg);
}
}
HOW TO MAKE 7 SEGMENT STOPWATCH
HTML :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="test.css">
<title>Document</title>
</head>
<body>
<div class="s7">
<input value="">
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
</div>
<div class="s7">
<input value="">
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
</div>
<div class="s7">
<input value="">
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
</div>
<div class="dot">
<seg></seg>
<seg></seg>
</div>
<div class="s7">
<input value="">
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
</div>
<div class="s7">
<input value="">
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
<seg></seg>
</div>
<div id="controller">
<button id="start" onclick="start()">Start Timer</button>
<button id="stop" onclick="stop()">Stop Timer</button>
<button id="reset" onclick="reset()">Reset Timer</button>
</div>
<script src="test.js"></script>
</body>
</html>
CSS:
body{
background-color: #666;
text-align: center;
margin-top: 10%;
}
:root {
--ia-color: #222;
--a-color: red;
--padding-p: 4px;
--bar-w: 16px;
--bar-pad: 8px;
--padding: calc(var(--padding-p) * 2);
--bar-h: calc(var(--bar-w) * 4);
--bar-r: calr(var(--bar-w) / 2);
--bar-p: calc(var(--padding-p) + var(--bar-w));
--c-w: calc(var(--bar-p) * 2 + var(--bar-h));
--c-h: calc(var(--bar-p) * 2 + var(--bar-h) * 2 + var(--padding-p) + var(--bar-pad));
}
input{
display: none;
}
.s7, .dot{
display: inline-block;
width: var(--c-w);
height: var(--c-h);
position: relative;
margin: 0;
}
.dot seg{
background: var(--a-color);
border-radius: 50%;
height: calc(var(--bar-h)/3);
width: var(--bar-w);
position: absolute;
}
.dot seg:nth-of-type(1){
top: calc(var(--padding)*6);
}
.dot seg:nth-of-type(2){
bottom: calc(var(--bar-p)*2);
}
.dot{
width: calc(var(--c-w)/2);
}
.s7{
display: inline-block;
width: var(--c-w);
height: var(--c-h);
position: relative;
margin: 0;
}
/*control all segment*/
.s7 seg{
background-color: var(--ia-color);
border-radius: var(--bar-r);
height: var(--bar-h);
width: var(--bar-w);
}
/*control horizontal segment: 1,4,7*/
.s7 seg:nth-of-type(3n+1){
height: var(--bar-w);
width: var(--bar-h);
left: 50%;
margin-left: calc(var(--bar-h)/ -2);
}
.s7 seg:nth-of-type(1){
position: absolute;
top: var(--padding);
}
.s7 seg:nth-of-type(2){
position: absolute;
top: var(--bar-p);
right: var(--padding);
}
.s7 seg:nth-of-type(3){
position: absolute;
bottom: var(--bar-p);
right: var(--padding);
}
.s7 seg:nth-of-type(4){
position: absolute;
bottom: var(--padding);
}
.s7 seg:nth-of-type(5){
position: absolute;
bottom: var(--bar-p);
left: var(--padding);
}
.s7 seg:nth-of-type(6){
position: absolute;
top: var(--bar-p);
left: var(--padding);
}
.s7 seg:nth-of-type(7){
position: absolute;
top: 45%;
margin-top:calc(var(--bar-r)*-1);
}
input[value="0"]~seg:nth-of-type(1){
background: var(--a-color);
}
input[value="0"]~seg:nth-of-type(2){
background: var(--a-color);
}
input[value="0"]~seg:nth-of-type(3){
background: var(--a-color);
}
input[value="0"]~seg:nth-of-type(4){
background: var(--a-color);
}
input[value="0"]~seg:nth-of-type(5){
background: var(--a-color);
}
input[value="0"]~seg:nth-of-type(6){
background: var(--a-color);
}
/*-------------------------------------------*/
input[value="1"]~seg:nth-of-type(2){
background: var(--a-color);
}
input[value="1"]~seg:nth-of-type(3){
background: var(--a-color);
}
/*-------------------------------------------*/
input[value="2"]~seg:nth-of-type(1){
background: var(--a-color);
}
input[value="2"]~seg:nth-of-type(2){
background: var(--a-color);
}
input[value="2"]~seg:nth-of-type(4){
background: var(--a-color);
}
input[value="2"]~seg:nth-of-type(5){
background: var(--a-color);
}
input[value="2"]~seg:nth-of-type(7){
background: var(--a-color);
}
/*-------------------------------------------*/
input[value="3"]~seg:nth-of-type(1){
background: var(--a-color);
}
input[value="3"]~seg:nth-of-type(2){
background: var(--a-color);
}
input[value="3"]~seg:nth-of-type(3){
background: var(--a-color);
}
input[value="3"]~seg:nth-of-type(4){
background: var(--a-color);
}
input[value="3"]~seg:nth-of-type(7){
background: var(--a-color);
}
/*----------------------------------------------*/
input[value="4"]~seg:nth-of-type(2){
background: var(--a-color);
}
input[value="4"]~seg:nth-of-type(3){
background: var(--a-color);
}
input[value="4"]~seg:nth-of-type(6){
background: var(--a-color);
}
input[value="4"]~seg:nth-of-type(7){
background: var(--a-color);
}
/*----------------------------------------------
*/input[value="5"]~seg:nth-of-type(1){
background: var(--a-color);
}
input[value="5"]~seg:nth-of-type(3){
background: var(--a-color);
}
input[value="5"]~seg:nth-of-type(4){
background: var(--a-color);
}
input[value="5"]~seg:nth-of-type(6){
background: var(--a-color);
}
input[value="5"]~seg:nth-of-type(7){
background: var(--a-color);
}
/*------------------------------------------------*/
input[value="6"]~seg:nth-of-type(1){
background: var(--a-color);
}
input[value="6"]~seg:nth-of-type(3){
background: var(--a-color);
}
input[value="6"]~seg:nth-of-type(4){
background: var(--a-color);
}
input[value="6"]~seg:nth-of-type(5){
background: var(--a-color);
}
input[value="6"]~seg:nth-of-type(6){
background: var(--a-color);
}
input[value="6"]~seg:nth-of-type(7){
background: var(--a-color);
}
/*---------------------------------------------*/
input[value="7"]~seg:nth-of-type(1){
background: var(--a-color);
}
input[value="7"]~seg:nth-of-type(2){
background: var(--a-color);
}
input[value="7"]~seg:nth-of-type(3){
background: var(--a-color);
}
/*------------------------------------------*/
input[value="8"]~seg:nth-of-type(1){
background: var(--a-color);
}
input[value="8"]~seg:nth-of-type(2){
background: var(--a-color);
}
input[value="8"]~seg:nth-of-type(3){
background: var(--a-color);
}
input[value="8"]~seg:nth-of-type(4){
background: var(--a-color);
}
input[value="8"]~seg:nth-of-type(5){
background: var(--a-color);
}
input[value="8"]~seg:nth-of-type(6){
background: var(--a-color);
}
input[value="8"]~seg:nth-of-type(7){
background: var(--a-color);
}
/*----------------------------------------*/
input[value="9"]~seg:nth-of-type(1){
background: var(--a-color);
}
input[value="9"]~seg:nth-of-type(2){
background: var(--a-color);
}
input[value="9"]~seg:nth-of-type(3){
background: var(--a-color);
}
input[value="9"]~seg:nth-of-type(4){
background: var(--a-color);
}
input[value="9"]~seg:nth-of-type(6){
background: var(--a-color);
}
input[value="9"]~seg:nth-of-type(7){
background: var(--a-color);
}
JAVASCRIPT:
function display7(number){
var els = document.querySelectorAll(".s7 input");
for(let i =0;i < els.length; i++){
temp = number.toString().padStart(els.length, 0);
els[i].setAttribute("value", temp[i]);
}
return els.length;
}
display7(0);
var i = 0;
var timer = null;
function start(){
if(!timer){
timer = setInterval(() => {
var len = display7(i);
i = (i + 1)% Math.pow(10,len);
}, 10);
}
return timer;
}
function stop(){
clearInterval(timer);
timer=null;
}
function reset(){
stop();
i = 0;
display7(i);
}

