Я создаю базовый калькулятор c в HTML / CSS без использования Bootstrap. Там будет четыре столбца кнопок - три в основном для цифр, один для кнопок оператора (+, -, et c.). Столбец кнопок оператора будет иметь пять кнопок, а не четыре в других контейнерах. Я хочу, чтобы все кнопки div были абсолютно свободны друг от друга и с окружающим их контейнером. Однако я сталкиваюсь с двумя проблемами:
Во-первых, когда я пытаюсь дать каждому столбцу кнопок одинаковую ширину (25%), последний столбец появляется за пределами поля. Между каждой колонкой есть пробел, и я не могу от него избавиться.
Во-вторых, ящики также пересекаются по вертикали, хотя я установил их высоту в процентах от высоты их контейнера.
Я со временем избавлюсь от границ кнопок, но включил их здесь, чтобы было легче визуально показать, что происходит не так.
html,
body {
text-align: center;
font-family: 'Courier New', Courier, monospace;
}
.mainBody {
display: inline-block;
width: 350px;
height: 350px;
}
.outputWindow {
width: 100%;
height: 20%;
border-bottom: 0px;
background-color: rgb(164, 174, 177);
text-align: right;
line-height: 100px;
}
.buttonsBody {
width: 100%;
height: 80%;
border-top: 0px;
background-color: rgb(138, 142, 143);
}
.numColumn,
.operatorColumn {
display: inline-block;
width: 25%;
height: 100%;
}
.numButton,
.operatorButton {
line-height: 50px;
border: 1px solid black;
}
.numButton {
height: 25%;
}
.operatorButton {
height: 20%;
}
<html>
<head>
<title>Calculator</title>
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<div class="mainBody">
<div class="outputWindow">Test </div>
<div class="buttonsBody">
<div class="numColumn">
<div class="numButton">7</div>
<div class="numButton">4</div>
<div class="numButton">1</div>
<div class="numButton">0</div>
</div>
<div class="numColumn">
<div class="numButton">8</div>
<div class="numButton">5</div>
<div class="numButton">2</div>
<div class="numButton">.</div>
</div>
<div class="numColumn">
<div class="numButton">9</div>
<div class="numButton">6</div>
<div class="numButton">3</div>
<div class="numButton">=</div>
</div>
<div class="operatorColumn">
<div class="operatorButton">Del</div>
<div class="operatorButton">÷</div>
<div class="operatorButton">x</div>
<div class="operatorButton">-</div>
<div class="operatorButton">+</div>
</div>
</div>
</div>
<script src="script.js"></script>
</body>
</html>