how Build a Calculator Using Html, CSS, JavaScript


USING HTML


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Kodatechng Calculator</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>

<div class="calculator">

    <h2>JavaScript Calculator</h2>

    <input type="text" id="display" readonly>

    <div class="buttons">

        <button onclick="clearDisplay()" class="clear">C</button>
        <button onclick="deleteLast()"></button>
        <button onclick="appendValue('%')">%</button>
        <button onclick="appendValue('/')">÷</button>

        <button onclick="appendValue('7')">7</button>
        <button onclick="appendValue('8')">8</button>
        <button onclick="appendValue('9')">9</button>
        <button onclick="appendValue('*')">×</button>

        <button onclick="appendValue('4')">4</button>
        <button onclick="appendValue('5')">5</button>
        <button onclick="appendValue('6')">6</button>
        <button onclick="appendValue('-')"></button>

        <button onclick="appendValue('1')">1</button>
        <button onclick="appendValue('2')">2</button>
        <button onclick="appendValue('3')">3</button>
        <button onclick="appendValue('+')">+</button>

        <button onclick="appendValue('0')">0</button>
        <button onclick="appendValue('.')">.</button>
        <button onclick="calculate()" class="equal">=</button>

    </div>

</div>

<script src="script.js"></script>

</body>
</html>



USING CSS
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, sans-serif;
}

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

.calculator{
    background:#ffffff;
    padding:20px;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,.2);
    width:320px;
}

.calculator h2{
    text-align:center;
    margin-bottom:15px;
    color:#333;
}

#display{
    width:100%;
    height:60px;
    font-size:28px;
    text-align:right;
    padding:10px;
    margin-bottom:15px;
    border:2px solid #ddd;
    border-radius:8px;
}

.buttons{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

button{
    height:60px;
    font-size:22px;
    border:none;
    border-radius:8px;
    cursor:pointer;
    background:#3498db;
    color:white;
    transition:.3s;
}

button:hover{
    background:#2980b9;
}

.clear{
    background:#e74c3c;
}

.clear:hover{
    background:#c0392b;
}

.equal{
    background:#27ae60;
    grid-column:span 2;
}

.equal:hover{
    background:#1e8449;
}


SCRIPT.JS

const display = document.getElementById("display");

function appendValue(value){
    display.value += value;
}

function clearDisplay(){
    display.value = "";
}

function deleteLast(){
    display.value = display.value.slice(0,-1);
}

function calculate(){

    try{
        display.value = eval(display.value);
    }
    catch(error){
        alert("Invalid Calculation");
        clearDisplay();
    }

}



Post a Comment

Previous Post Next Post