• Home
  • /
  • Code
  • /
  • Simple Calculator App using HTML, CSS & JavaScript

Build a Simple Calculator App using HTML, CSS & JavaScript

HTML

				
					<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>Calculator | Learn With Arshyan</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      background: #f2f2f2;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
    }

    .calculator {
      background: #fff;
      border-radius: 10px;
      box-shadow: 0 0 15px rgba(0,0,0,0.1);
      width: 300px;
      padding: 20px;
    }

    .display {
      background: #222;
      color: #fff;
      font-size: 2em;
      text-align: right;
      padding: 15px;
      border-radius: 5px;
      margin-bottom: 20px;
      overflow-x: auto;
    }

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

    .buttons button {
      padding: 20px;
      font-size: 1.2em;
      border: none;
      border-radius: 5px;
      background: #e0e0e0;
      cursor: pointer;
      transition: background 0.2s;
    }

    .buttons button.operator {
      background: #007bff;
      color: white;
    }

    .buttons button.clear {
      background: #dc3545;
      color: white;
    }

    .buttons button.equal {
      background: #28a745;
      color: white;
      grid-column: span 2;
    }

    .buttons button:hover {
      background: #ccc;
    }

    @media (max-width: 400px) {
      .calculator {
        width: 90%;
      }
    }
  </style>
</head>
<body>

  <div class="calculator">
    <div class="display" id="display">0</div>

    <div class="buttons">
      <!-- Row 1 -->
      <button class="clear" onclick="clearDisplay()">C</button>
      <button onclick="append('.')">.</button>
      <button onclick="append('0')">0</button>
      <button class="operator" onclick="append('/')">÷</button>

      <!-- Row 2 -->
      <button onclick="append('1')">1</button>
      <button onclick="append('2')">2</button>
      <button onclick="append('3')">3</button>
      <button class="operator" onclick="append('*')">×</button>

      <!-- Row 3 -->
      <button onclick="append('4')">4</button>
      <button onclick="append('5')">5</button>
      <button onclick="append('6')">6</button>
      <button class="operator" onclick="append('-')">−</button>

      <!-- Row 4 -->
      <button onclick="append('7')">7</button>
      <button onclick="append('8')">8</button>
      <button onclick="append('9')">9</button>
      <button class="operator" onclick="append('+')">+</button>

      <!-- Equal Button -->
      <button class="equal" onclick="calculate()">=</button>
    </div>
  </div>

  <script>
    const display = document.getElementById('display');

    // Append character to the display
    function append(value) {
      if (display.innerText === '0') {
        display.innerText = value;
      } else {
        display.innerText += value;
      }
    }

    // Clear the display
    function clearDisplay() {
      display.innerText = '0';
    }

    // Evaluate the expression
    function calculate() {
      try {
        display.innerText = eval(display.innerText);
      } catch {
        display.innerText = 'Error';
      }
    }
  </script>

</body>
</html>

				
			

Share this post

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top