制作简易计算器HTML(css做一个简易的计算器)(1)

一、开始吧,先做一个360*500的盒子。

制作简易计算器HTML(css做一个简易的计算器)(2)

制作简易计算器HTML(css做一个简易的计算器)(3)

二、加入输入框,输入框给它270宽,再配个灰色背景。

制作简易计算器HTML(css做一个简易的计算器)(4)

制作简易计算器HTML(css做一个简易的计算器)(5)

三、做18个div,我觉得这样子比table标签更直观,其实你还是什么都看不见,因为字是黑色的,背景黑色的。

制作简易计算器HTML(css做一个简易的计算器)(6)

四、行了,我们给div加样式吧。

制作简易计算器HTML(css做一个简易的计算器)(7)

制作简易计算器HTML(css做一个简易的计算器)(8)

五、我们让这18个按钮浮动,它们就不会独占一行了,然后再让它们外部上下左右距离为5px。

制作简易计算器HTML(css做一个简易的计算器)(9)

制作简易计算器HTML(css做一个简易的计算器)(10)

六、把按键做成圆的,里面的字居中,然后再把字变大。

制作简易计算器HTML(css做一个简易的计算器)(11)

制作简易计算器HTML(css做一个简易的计算器)(12)

七、把计算器的整体外观也改改。

制作简易计算器HTML(css做一个简易的计算器)(13)

制作简易计算器HTML(css做一个简易的计算器)(14)

八、“=”和“0” 这两个一个是加高,一个是加宽,我们得再加样式区别对待。

制作简易计算器HTML(css做一个简易的计算器)(15)

制作简易计算器HTML(css做一个简易的计算器)(16)

制作简易计算器HTML(css做一个简易的计算器)(17)

九、我们让等号按钮右浮动就可以了。

制作简易计算器HTML(css做一个简易的计算器)(18)

制作简易计算器HTML(css做一个简易的计算器)(19)

十、对按钮再修饰,做两个样式,一个是灰白色,一个是土黄色。

制作简易计算器HTML(css做一个简易的计算器)(20)

制作简易计算器HTML(css做一个简易的计算器)(21)

制作简易计算器HTML(css做一个简易的计算器)(22)

十一、对输入框做个修饰,最终完成界面设计。

制作简易计算器HTML(css做一个简易的计算器)(23)

制作简易计算器HTML(css做一个简易的计算器)(24)

十二、我们整个js只用获取一个元素对象,那就是input。

制作简易计算器HTML(css做一个简易的计算器)(25)

十三、做按钮点击事件,把大多数按钮的点击都写进去,这里我特意用箭头函数,当学习吧。

制作简易计算器HTML(css做一个简易的计算器)(26)

几乎所有的按钮都调用这个clickbt函数,唯有“=”号不用。

制作简易计算器HTML(css做一个简易的计算器)(27)

制作简易计算器HTML(css做一个简易的计算器)(28)

十四、该是为“=”加函数的时候了,这里用了eval(),能把字符串当算式运算出结果。

制作简易计算器HTML(css做一个简易的计算器)(29)

制作简易计算器HTML(css做一个简易的计算器)(30)

十五、总结,到此为止,整个计算器就做出来了,大家会发现js部分很简单,因为我们只有一般的加减乘除计算,有更多想法的朋友,自己补充吧。


<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #counter{ width: 280px; height: 430px; background:#000; /* 背景色 */ margin: 100px auto; /* 水平居中 */ padding: 20px; /* 内部距离 */ border-radius: 20px; } #inp{ width: 270px; font-size: 36px; /* 字大小 */ background: #4e4d4d; color: #fff; /* 字颜色 */ margin: 20px 5px; /* 上下距离20,左右5 */ border: none; /* 去掉边框 */ } .cbt{ width: 60px; height: 60px; background: #606060; color: white; /* 白色的字 */ float: left; /* 左浮动 */ margin: 5px; /* 外部距离5px */ border-radius: 50%; /* 按钮圆角 */ line-height: 60px; /* 垂直居中 */ text-align: center; /* 水平居中 */ cursor: pointer; /* 鼠标在上时为小手形 */ font-size: 28px; /* 字体大小 */ font-family: Arial; /* 字体 */ } .hbt{ height: 130px; line-height: 130px; /* 垂直居中 */ border-radius: 60px; /* 宽高不一样,不能用百分比,改成像素的圆角 */ float: right; } .wbt{ width: 130px; border-radius: 60px; } .byellow{ background: #d88f03; } .bwhite{ background: #d4d4d4; color: #000000; /* 即然是白色了,字一定要变成黑色 */ } </style> </head> <body> <div id="counter"> <input type="text" id="inp"> <div class="cbt bwhite" onclick="clickbt('')">C</div> <div class="cbt bwhite" onclick="clickbt(' ')"> </div> <div class="cbt bwhite" onclick="clickbt('/')">/</div> <div class="cbt byellow" onclick="clickbt('*')">*</div> <div class="cbt" onclick="clickbt('7')">7</div> <div class="cbt" onclick="clickbt('8')">8</div> <div class="cbt" onclick="clickbt('9')">9</div> <div class="cbt byellow" onclick="clickbt('-')">-</div> <div class="cbt" onclick="clickbt('4')">4</div> <div class="cbt" onclick="clickbt('5')">5</div> <div class="cbt" onclick="clickbt('6')">6</div> <div class="cbt byellow" onclick="clickbt(' ')"> </div> <div class="cbt" onclick="clickbt('1')">1</div> <div class="cbt" onclick="clickbt('2')">2</div> <div class="cbt" onclick="clickbt('3')">3</div> <div class="cbt hbt byellow" onclick="getcount()">=</div> <div class="cbt wbt" onclick="clickbt('0')">0</div> <div class="cbt" onclick="clickbt('.')">.</div> </div> <script> var einp = document.querySelector("#inp"); var clickbt = (num) => { if (num == '') { einp.value = ""; } else einp.value = einp.value num; } // 如果num为空,则清空输入框einp,如果不为空,则累加到输入框 var getcount = () => { einp.value = eval(einp.value); } </script> </body> </html>

,