<div class="calculator">
<input type="text" placeholder="0" readonly>
<div>
<button class="operator">AC</button>
<button class="operator">DEL</button>
<button class="operator">%</button>
<button class="operator">/</button>
</div>
<div>
<button class="">7</button>
<button class="">8</button>
<button class="">9</button>
<button class="operator">*</button>
</div>
<div>
<button class="">4</button>
<button class="">5</button>
<button class="">6</button>
<button class="operator">-</button>
</div>
<div>
<button class="">1</button>
<button class="">2</button>
<button class="">3</button>
<button class="operator">+</button>
</div>
<div>
<button class="">00</button>
<button class="">0</button>
<button class="">.</button>
<button class="equalBtn">=</button>
</div>
</div>
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
* {
margin: 0;
padding: 0;
font-family: "Poppins", sans-serif;
box-sizing: border-box;
}
body {
width: 100%;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background: linear-gradient(45deg, #0a0a0a, #3a4452);
}
.calculator {
padding: 20px;
border-radius: 1rem;
background: transparent;
box-shadow: 0 0 15px #71737780;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
input {
width: 320px;
border: none;
padding: 24px;
margin: 10px;
background: transparent;
font-size: 2.5rem;
text-align: right;
cursor: pointer;
color: #ffffff;
resize: none;
}
input::placeholder {
color: #fff;
}
button {
border: none;
width: 60px;
height: 60px;
margin: 10px;
border-radius: 50%;
background: transparent;
color: #ffffff;
font-size: 1.25rem;
box-shadow: 0 0 15px rgba(255, 255, 255, 0.1);
cursor: pointer;
}
.operator {
color: #6dee0a;
}
.equalBtn {
background: #fb7c14;
}
let input = document.querySelector("input");
let buttons = document.querySelectorAll("button");
let string = "";
let arr = Array.from(buttons);
arr.forEach((button) => {
button.addEventListener("click", (e) => {
if (e.target.innerHTML == "=") {
try {
string = eval(string);
} catch (error) {
string = "Syntax Error";
}
input.value = string;
} else if (e.target.innerHTML == "AC") {
string = "";
input.value = string;
} else if (e.target.innerHTML == "DEL") {
string = string.substring(0, string.length - 1);
input.value = string;
} else {
string += e.target.innerHTML;
input.value = string;
}
});
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.