HTML+CSS+JS简易计算器

HTML+CSS+JS简易计算器

index.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>简易计算器</title>
    <link rel="stylesheet" href="index.css">
    <script src="index.js" defer></script>
</head>

<body>
    <div class="toggle"></div>
    <div class="calculator">
        <div class="button">
            <h2 id="result"></h2>
            <span id="clear">Clear</span>
            <span>/</span>
            <span>*</span>
            <span>7</span>
            <span>8</span>
            <span>9</span>
            <span>-</span>
            <span>4</span>
            <span>5</span>
            <span>6</span>
            <span id="plus">+</span>
            <span>1</span>
            <span>2</span>
            <span>3</span>
            <span>0</span>
            <span>00</span>
            <span>.</span>
            <span id="equal">=</span>
        </div>
    </div>

</body>

</html>

index.css

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: consolas;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #edf1f4;
}

.calculator {
    position: relative;
    margin-top: 50px ;
    width: 340px;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.1), -15px -15px 20px #fffb;
}

.calculator .button {
    position: relative;
    display: grid;
}

.calculator .button #result {
    padding: 0 20px;
    position: relative;
    left: 8px;
    grid-column: span 4;
    height: 100px;
    line-height: 100px;
    border-radius: 10px;
    text-align: end;
    font-size: 2em;
    color: rgb(11, 155, 107);
    overflow: hidden;
    font-weight: 500;
    width: calc(100% - 16px);
    user-select: none;
    box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.1),
        inset -5px -5px 20px #fff;
}

.calculator .button span {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border-radius: 10px;
    margin: 10px;
    min-width: 40px;
    font-size: 1.2em;
    border: 2px solid #e2ecf3;
    box-shadow: 5px 5px 10px #a7cbe5, -5px -5px 10px #e9ecef;
    cursor: pointer;
    user-select: none;
}

.calculator .button span:active {
    color: #739fea;
    box-shadow: inset 5px 5px 10px #a7cbe5, inset -5px -5px 10px #e9ecef;
}

.calculator .button span#clear {
    grid-column: span 2;
    background-color: #f44336;
    border: 2px solid #cfe4f4;
    color: #fff;
}

.calculator .button span#plus {
    grid-row: span 2;
    background-color: #31a935;
    border: 2px solid #cfe4f4;
    color: #fff;
}

.calculator .button span#equal {
    background: #2196f3;
    border: 2px solid #cfe4f4;
    color: #fff;
}

.calculator .buttons span#clear:active,
.calculator .buttons span#plus:active,
.calculator .buttons span#equal:active {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1),
        -5px -5px 10px #fff,
        inset 5px 5px 10px rgba(0, 0, 0, 0.1);
}

.toggle {
    position: fixed;
    top: 20px;
    right: 20px;
    background-color: #4b494c;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #edf1f4;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1),
        -5px -5px 10px #fff;
}

.dark .toggle {
    background: #edf1f4;
    border: 2px solid #333;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5),
        -5px -5px 10px rgba(255, 255, 255, 0.25);
}
.dark 
{
  background: #282c2f;
}
.dark .calculator
{
  background: #33393e;
  box-shadow: 15px 15px 20px rgba(0,0,0,0.25),
  -15px -15px 20px rgba(255,255,255,0.1);
}
.dark .calculator #value 
{
  color: #eee;
  box-shadow: inset 5px 5px 10px rgba(0,0,0,0.5),
  inset -5px -5px 20px rgba(255,255,255,0.1);
}
.dark .calculator .buttons span 
{
  color: #eee;
  border: 2px solid #333;
  box-shadow: 5px 5px 10px rgba(0,0,0,0.25),
  -5px -5px 10px rgba(255,255,255,0.1);
}
.dark .calculator .buttons span:active 
{
  box-shadow: inset 5px 5px 10px rgba(0,0,0,0.25),
  inset -5px -5px 10px rgba(255,255,255,0.1);
}
.dark .calculator .buttons span#clear,
.dark .calculator .buttons span#plus,
.dark .calculator .buttons span#equal
{
  border: 2px solid #333;;
}
.dark .calculator .buttons span#clear:active,
.dark .calculator .buttons span#plus:active,
.dark .calculator .buttons span#equal:active
{
  box-shadow: inset 5px 5px 10px rgba(0,0,0,0.1);
} 


idnex.js


const button = document.querySelector('.button');
const btn = button.querySelectorAll('span');
const result = document.getElementById('result');
const toggle = document.querySelector('.toggle');
const body = document.querySelector('body');

for (let i = 0; i < btn.length; i++) {
  btn[i].addEventListener("click", function () {
    if (this.innerHTML == "=") {
      result.innerHTML = eval(result.innerHTML);
    } else {
     if (this.innerHTML == 'Clear') {
        result.innerHTML = " ";
      }else{
        result.innerHTML += this.innerHTML
      }
    }
  })
}
toggle.onclick = function(){
  body.classList.toggle('dark')
}


运行结果

image.png

image.png

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,以下是一个简单的计算器的 HTMLCSS 代码示例: HTML代码: ``` <div class="calculator"> <input type="text" id="result" readonly> <button id="clear" onclick="clearResult()">C</button> <button onclick="appendToResult('7')">7</button> <button onclick="appendToResult('8')">8</button> <button onclick="appendToResult('9')">9</button> <button onclick="appendToResult('/')">/</button> <button onclick="appendToResult('4')">4</button> <button onclick="appendToResult('5')">5</button> <button onclick="appendToResult('6')">6</button> <button onclick="appendToResult('*')">*</button> <button onclick="appendToResult('1')">1</button> <button onclick="appendToResult('2')">2</button> <button onclick="appendToResult('3')">3</button> <button onclick="appendToResult('-')">-</button> <button onclick="appendToResult('0')">0</button> <button onclick="appendToResult('.')">.</button> <button onclick="calculate()">=</button> <button onclick="appendToResult('+')">+</button> </div> ``` CSS代码: ``` .calculator { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 10px; margin: 20px auto; width: 200px; text-align: center; } .calculator button { font-size: 20px; background-color: #eee; border: none; cursor: pointer; padding: 10px; } .calculator button:hover { background-color: #ddd; } #result { font-size: 20px; padding: 10px; border: none; text-align: right; } ``` 该计算器使用了 HTML 的 `<button>` 和 `<input>` 元素,以及 CSS 的网格布局和样式来实现。JavaScript 代码需要根据 HTML 元素的 id 属性来实现计算器的基本功能,包括清除、输入数字和操作符、计算结果等。由于 JavaScript 代码不属于本次问题的范畴,这里就不提供代码示例了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值