HTML-CSS-Javascript 單一網頁計算器

 <!DOCTYPE html>

<html lang="zh-TW">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>單一網頁計算器</title>

    <style>

        * {

            box-sizing: border-box;

            margin: 0;

            padding: 0;

            font-family: Arial, sans-serif;

        }


        body {

            display: flex;

            justify-content: center;

            align-items: center;

            height: 100vh;

            background-color: #f0f2f5;

        }


        .calculator {

            background-color: #333;

            padding: 20px;

            border-radius: 10px;

            box-shadow: 0px 4px 10px rgba(0,0,0,0.3);

            width: 320px;

        }


        #display {

            width: 100%;

            height: 60px;

            background-color: #222;

            color: #fff;

            font-size: 28px;

            text-align: right;

            padding: 10px;

            border: none;

            border-radius: 5px;

            margin-bottom: 15px;

            outline: none;

            overflow: hidden;

        }


        .buttons {

            display: grid;

            grid-template-columns: repeat(4, 1fr);

            gap: 10px;

        }


        button {

            padding: 20px;

            font-size: 18px;

            font-weight: bold;

            cursor: pointer;

            border: none;

            border-radius: 5px;

            background-color: #e0e0e0;

            transition: 0.2s;

        }


        button:hover {

            background-color: #d4d4d4;

        }


        button.operator {

            background-color: #ff9500;

            color: white;

        }


        button.operator:hover {

            background-color: #e08500;

        }


        button.clear {

            background-color: #ff3b30;

            color: white;

        }


        button.clear:hover {

            background-color: #d32f2f;

        }


        button.equal {

            grid-column: span 2;

            background-color: #34c759;

            color: white;

        }


        button.equal:hover {

            background-color: #2ebd4a;

        }

    </style>

</head>

<body>


    <div class="calculator">

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

        <div class="buttons">

            <button class="clear" onclick="clearDisplay()">C</button>

            <button onclick="appendValue('/')" class="operator">/</button>

            <button onclick="appendValue('*')" class="operator">*</button>

            <button onclick="appendValue('-')" class="operator">-</button>

            

            <button onclick="appendValue('7')">7</button>

            <button onclick="appendValue('8')">8</button>

            <button onclick="appendValue('9')">9</button>

            <button onclick="appendValue('+')" class="operator">+</button>

            

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

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

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

            <button class="equal" onclick="calculate()">=</button>

            

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

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

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

            

            <button onclick="appendValue('0')">0</button>

            <button onclick="appendValue('.')">.</button>

            <button onclick="deleteLast()" class="operator">退格</button>

        </div>

    </div>


    <script>

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


        function appendValue(val) {

            display.value += val;

        }


        function clearDisplay() {

            display.value = '';

        }


        function deleteLast() {

            display.value = display.value.slice(0, -1);

        }


        function calculate() {

            try {

                // 使用 Function 執行簡單的字串數學運算,比 eval 安全

                display.value = new Function('return ' + display.value)();

            } catch (error) {

                display.value = '錯誤';

                setTimeout(clearDisplay, 1500);

            }

        }

    </script>

</body>

</html>


留言

  1. 622計算機.https://kkshou.blogspot.com/2026/06/blog-post_23.html
    concatenate.https://kkshou.blogspot.com/2026/06/excelconcatenate.html
    撰寫模式貼上就不能使用,留下來,可以讓自己謹記!很好!https://kkshou.blogspot.com/2026/06/html-css-javascript.html

    回覆刪除

張貼留言

這個網誌中的熱門文章

高碩Python_HTML_CSS_Javascript

Google 「EXCEL Functions w3schools」拷貝表格然後pre/pre之間貼上