Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 18 additions & 72 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,78 +11,24 @@
<div id="calculator">
<input type="text" id='input-box' readonly>
<div id="btn-container">
<button class="extra-btn1" onclick="
currentDisplay ='';
document.querySelector('#input-box').value = currentDisplay;
">C</button>
<button class="extra-btn1" onclick="
currentDisplay =currentDisplay+'/';
document.querySelector('#input-box').value = currentDisplay;
">/</button>
<button class="extra-btn1" onclick="
currentDisplay =currentDisplay+'*';
document.querySelector('#input-box').value = currentDisplay;
">*</button>
<button class="extra-btn1" onclick="
currentDisplay =currentDisplay+'-';
document.querySelector('#input-box').value = currentDisplay;
">-</button>
<button onclick="
currentDisplay =currentDisplay+'7';
document.querySelector('#input-box').value = currentDisplay;
">7</button>
<button onclick="
currentDisplay =currentDisplay+'8';
document.querySelector('#input-box').value = currentDisplay;
">8</button>
<button onclick="
currentDisplay =currentDisplay+'9';
document.querySelector('#input-box').value = currentDisplay;
">9</button>
<button class="extra-btn1" onclick="
currentDisplay =currentDisplay+'+';
document.querySelector('#input-box').value = currentDisplay;
">+</button>
<button onclick="
currentDisplay =currentDisplay+'4';
document.querySelector('#input-box').value = currentDisplay;
">4</button>
<button onclick="
currentDisplay =currentDisplay+'5';
document.querySelector('#input-box').value = currentDisplay;
">5</button>
<button onclick="
currentDisplay =currentDisplay+'6';
document.querySelector('#input-box').value = currentDisplay;
">6</button>
<button class="extra-btn1" onclick="
currentDisplay =currentDisplay+'%';
document.querySelector('#input-box').value = currentDisplay;
">%</button>
<button onclick="
currentDisplay =currentDisplay+'1';
document.querySelector('#input-box').value = currentDisplay;
">1</button>
<button onclick="
currentDisplay =currentDisplay+'2';
document.querySelector('#input-box').value = currentDisplay;
">2</button>
<button onclick="
currentDisplay =currentDisplay+'3';
document.querySelector('#input-box').value = currentDisplay;
">3</button>
<button class="extra-btn1" onclick="
currentDisplay =currentDisplay+'.';
document.querySelector('#input-box').value = currentDisplay;
">.</button>
<button onclick="
currentDisplay =currentDisplay+'0';
document.querySelector('#input-box').value = currentDisplay;
">0</button>
<button class="extra-btn" onclick="
currentDisplay =eval(currentDisplay);
document.querySelector('#input-box').value = currentDisplay;
">=</button>
<button class="extra-btn1" onclick="clearDisplay()">C</button>
<button class="extra-btn1" onclick="appendToDisplay('/')">/</button>
<button class="extra-btn1" onclick="appendToDisplay('*')">*</button>
<button class="extra-btn1" onclick="appendToDisplay('-')">-</button>
<button onclick="appendToDisplay('7')">7</button>
<button onclick="appendToDisplay('8')">8</button>
<button onclick="appendToDisplay('9')">9</button>
<button class="extra-btn1" onclick="appendToDisplay('+')">+</button>
<button onclick="appendToDisplay('4')">4</button>
<button onclick="appendToDisplay('5')">5</button>
<button onclick="appendToDisplay('6')">6</button>
<button class="extra-btn1" onclick="appendToDisplay('%')">%</button>
<button onclick="appendToDisplay('1')">1</button>
<button onclick="appendToDisplay('2')">2</button>
<button onclick="appendToDisplay('3')">3</button>
<button class="extra-btn1" onclick="appendToDisplay('.')">.</button>
<button onclick="appendToDisplay('0')">0</button>
<button class="extra-btn" onclick="calculateResult()">=</button>
</div>
</div>
</div>
Expand Down
27 changes: 26 additions & 1 deletion script.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,27 @@
let currentDisplay = '';
document.querySelector('#input-box').value = currentDisplay;

// Initialize when DOM is loaded
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('#input-box').value = currentDisplay;
});

// Helper functions for calculator operations
function clearDisplay() {
currentDisplay = '';
document.querySelector('#input-box').value = currentDisplay;
}

function appendToDisplay(value) {
currentDisplay += value;
document.querySelector('#input-box').value = currentDisplay;
}

function calculateResult() {
try {
currentDisplay = eval(currentDisplay).toString();
document.querySelector('#input-box').value = currentDisplay;
} catch (error) {
currentDisplay = '';
document.querySelector('#input-box').value = 'Error';
}
}
170 changes: 140 additions & 30 deletions style.css
Original file line number Diff line number Diff line change
@@ -1,49 +1,159 @@
*{
/* Reset and base styles */
* {
padding: 0;
margin: 0;
box-sizing: border-box;
font-family: 'Roboto';
font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
}
#main{

body {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
#calculator{
width: 300px;
height:430px;

/* Main container */
#main {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 20px;
}

/* Calculator container */
#calculator {
width: 320px;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
border-radius: 20px;
padding: 20px;
box-shadow:
0 15px 35px rgba(0, 0, 0, 0.1),
0 5px 15px rgba(0, 0, 0, 0.07);
display: flex;
flex-direction: column;
border: 2px solid black;
gap: 20px;
}
button{
width: 60px;
height: 60px;
margin: 3px;
font-size: 24px;
font-weight: 600;
flex-grow: 1;

/* Display area */
#input-box {
width: 100%;
height: 80px;
font-size: 2.5em;
font-weight: 300;
text-align: right;
padding: 0 20px;
border: none;
background-color: rgb(232, 232, 232);
background: #f8f9fa;
border-radius: 15px;
color: #2c3e50;
outline: none;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Button container */
#btn-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
padding: 0;
}
#btn-container{

/* Base button styles */
button {
height: 60px;
border: none;
border-radius: 15px;
font-size: 1.3em;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
display: flex;
padding: 10px;
flex-wrap: wrap;
height: 100%;
align-items: center;
justify-content: center;
}
#input-box{
font-size: 38px;
padding: 16px 10px;
outline: none;

/* Number buttons */
button:not(.extra-btn):not(.extra-btn1) {
background: linear-gradient(145deg, #ffffff, #f0f0f0);
color: #2c3e50;
}

button:not(.extra-btn):not(.extra-btn1):hover {
background: linear-gradient(145deg, #f8f9fa, #e9ecef);
transform: translateY(-2px);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}
.extra-btn{
background-color: maroon;

button:not(.extra-btn):not(.extra-btn1):active {
transform: translateY(0);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Operation buttons */
.extra-btn1 {
background: linear-gradient(145deg, #4f46e5, #3730a3);
color: white;
font-size: 30px;
font-size: 1.4em;
}

.extra-btn1:hover {
background: linear-gradient(145deg, #5b52e8, #4338ca);
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(79, 70, 229, 0.4);
}

.extra-btn1:active {
transform: translateY(0);
box-shadow: 0 2px 6px rgba(79, 70, 229, 0.3);
}

/* Equals button */
.extra-btn {
background: linear-gradient(145deg, #f59e0b, #d97706);
color: white;
font-size: 1.5em;
font-weight: 600;
grid-column: span 2;
}

.extra-btn:hover {
background: linear-gradient(145deg, #fbbf24, #f59e0b);
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(245, 158, 11, 0.4);
}

.extra-btn:active {
transform: translateY(0);
box-shadow: 0 2px 6px rgba(245, 158, 11, 0.3);
}
.extra-btn1{
font-size: 30px;
color: maroon;

/* Responsive design */
@media (max-width: 400px) {
#calculator {
width: 280px;
padding: 15px;
}

#input-box {
height: 70px;
font-size: 2em;
}

button {
height: 50px;
font-size: 1.1em;
}

.extra-btn1 {
font-size: 1.2em;
}

.extra-btn {
font-size: 1.3em;
}
}