HTML+CSS+JavaScriptで作成するWebアプリが面白そうなので挑戦してみました。
VScodeを用いて作成しています。
フォルダ作成
pc内の好きな場所に以下の構造でファイルを作成する。
web-app
├── index.html
├── style.css
└── script.js
コードのひな型を書く
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>シンプル電卓</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="calculator">
<input type="text" id="display" readonly />
<div class="buttons">
<button onclick="clearDisplay()">C</button>
<button onclick="appendToDisplay('7')">7</button>
<button onclick="appendToDisplay('8')">8</button>
<button onclick="appendToDisplay('9')">9</button>
<button onclick="appendToDisplay('+')">+</button>
<button onclick="appendToDisplay('4')">4</button>
<button onclick="appendToDisplay('5')">5</button>
<button onclick="appendToDisplay('6')">6</button>
<button onclick="appendToDisplay('-')">-</button>
<button onclick="appendToDisplay('1')">1</button>
<button onclick="appendToDisplay('2')">2</button>
<button onclick="appendToDisplay('3')">3</button>
<button onclick="appendToDisplay('*')">*</button>
<button onclick="appendToDisplay('0')">0</button>
<button onclick="appendToDisplay('.')">.</button>
<button onclick="calculate()">=</button>
<button onclick="appendToDisplay('/')">/</button>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
style.css
body {
font-family: sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background: #f0f0f0;
}
.calculator {
background: white;
padding: 20px;
border-radius: 12px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
#display {
width: 100%;
height: 40px;
font-size: 1.5em;
margin-bottom: 10px;
text-align: right;
padding: 5px;
}
.buttons {
display: grid;
grid-template-columns: repeat(4, 60px);
gap: 10px;
}
button {
font-size: 1.2em;
padding: 10px;
border: none;
border-radius: 8px;
background: #eee;
cursor: pointer;
}
button:hover {
background: #ddd;
}
script.js
function appendToDisplay(value) {
document.getElementById("display").value += value;
}
function clearDisplay() {
document.getElementById("display").value = "";
}
function calculate() {
try {
const result = eval(document.getElementById("display").value);
document.getElementById("display").value = result;
} catch (error) {
document.getElementById("display").value = "エラー";
}
}
実行
エクスプローラーを開き、index.htmlをクリックすると、デフォルトのブラウザが開きアプリが表示される。
感想
クリックしてみるとちゃんと動いて面白い!!!
ボタンの色などをカスタマイズするのにはまって1時間くらい試行錯誤しました。
アプリ開発って楽しい🎶