思维导图:
代码(HTML)
calculator 0
CSS
#all{
background-color: rgb(202,255,112,0.9);
width: 300px;
padding:20px 40px;
border-radius: 25px;
display: flex;
flex-direction: column;
position: relative;
}
#up{
width: 100%;
display: flex;
width: 30%;
}
#screen{
position: absolute;
width: 165px;
height: 50px;
left:120px;
top:20px;
margin: 9px 8px;
border: 1px solid black;
background-color: rgb(162,205,90,0.9);
border-radius: 10px;
box-shadow: 5px 5px 5px #888888;
font-size: 10px;
text-align: right;
line-height: 70px;
}
#down{
display: flex;
flex-wrap: wrap;
}
#equal{
background-color: rgb(105,139,34, 0.7);
border-radius: 100px;
font-size: 25px;
padding: 10px 15px;
margin: 10px 0px;
}
#divide{
background-color: rgb(105,139,34, 0.7);
border-radius: 100px;
font-size: 25px;
padding: 10px 15px;
margin: 10px 20px;
}
.btn{
background-color: rgb(105,139,34, 0.7);
border-radius: 100px;
font-size: 25px;
padding: 10px 15px;
margin: 10px 10px;
box-shadow: 5px 5px 5px #888888;
}
效果图
总结 :花费时间一天半 中间存在bug (小数处理问题 还有大于10的数问题) bug没有处理 只是刷js题 刷思路 完全自己的思路 敲之前没有任何借鉴 所以算法可能很差 重在记录
菜鸟教程上关于计算器的代码(效果和我差的不是一点半点哈哈哈 加油)
HTML CSS, JavaScript 计算器
* {
border: none;
font-family: 'Open Sans', sans-serif;
margin: 0;
padding: 0;
}
body {
}
.center {
background-color: #fff;
border-radius: 50%;
height: 600px;
margin: auto;
width: 600px;
}
h1 {
color: #495678;
font-size: 30px;
margin-top: 20px;
padding-top: 50px;
display: block;
text-align: center;
text-decoration: none;
}
a {
color: #495678;
font-size: 30px;
display: block;
text-align: center;
text-decoration: none;
padding-top: 20px;
}
form {
background-color: #495678;
box-shadow: 4px 4px #3d4a65;
margin: 40px auto;
padding: 40px 0 30px 40px;
width: 280px;
}
.btn {
outline: none;
cursor: pointer;
font-size: 20px;
height: 45px;
margin: 5px 0 5px 10px;
width: 45px;
}
.btn:first-child {
margin: 5px 0 5px 10px;
}
.btn, #display, form {
border-radius: 25px;
}
#display {
outline: none;
background-color: #98d1dc;
box-shadow: inset 6px 6px 0px #3facc0;
color: #dededc;
font-size: 20px;
height: 47px;
text-align: right;
width: 165px;
padding-right: 10px;
margin-left: 10px;
}
.number {
background-color: #72778b;
box-shadow: 0 5px #5f6680;
color: #dededc;
}
.number:active {
box-shadow: 0 2px #5f6680;
-webkit-transform: translateY(2px);
-ms-transform: translateY(2px);
-moz-tranform: translateY(2px);
transform: translateY(2px);
}
.operator {
background-color: #dededc;
box-shadow: 0 5px #bebebe;
color: #72778b;
}
.operator:active {
box-shadow: 0 2px #bebebe;
-webkit-transform: translateY(2px);
-ms-transform: translateY(2px);
-moz-tranform: translateY(2px);
transform: translateY(2px);
}
.other {
background-color: #e3844c;
box-shadow: 0 5px #e76a3d;
color: #dededc;
}
.other:active {
box-shadow: 0 2px #e76a3d;
-webkit-transform: translateY(2px);
-ms-transform: translateY(2px);
-moz-tranform: translateY(2px);
transform: translateY(2px);
}
document.getElementById("clear").addEventListener("click", function() {
document.getElementById("display").value = "";
});
function get(value) {
document.getElementById("display").value += value;
}
function calculates() {
var result = 0;
result = document.getElementById("display").value;
document.getElementById("display").value = "";
document.getElementById("display").value = eval(result);
};
效果展示:



