Во первых, ты не там ставишь отступы и не там делаешь раскраску. Во вторых, для inline-block пробелы между блоками имеют значение.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Макет</title>
<link rel="stylesheet" href="maket3.css">
</head>
<body>
<div class="px940"><p>940 px</p></div>
<div class="px460"><p>460 px</p></div><div class="px460"><p>460 px</p></div>
<div class="px300"><p>300 px</p></div><div class="px300"><p>300 px</p></div><div class="px300"><p>300 px</p></div>
<div class="px220"><p>220 px</p></div><div class="px220"><p>220 px</p></div><div class="px220"><p>220 px</p></div><div class="px220"><p>220 px</p></div>
<div class="px140"><p>140 px</p></div><div class="px140"><p>140 px</p></div><div class="px140"><p>140 px</p></div><div class="px140"><p>140 px</p></div><div class="px140"><p>140 px</p></div><div class="px140"><p>140 px</p></div>
</body>
</html>
body {
width: 960px;
}
p {
padding: 30px;
color: #efefef;
text-align: center;
font-family: Arial, Verdana, sans-serif;
}
div {
display: inline-block;
box-sizing: border-box;
background-color: rgb(152, 7, 65);
margin: 10px;
}
.px940 { width: 940px; }
.px460 { width: 460px; }
.px300 { width: 300px; }
.px220 { width: 220px; }
.px140 { width: 140px; }
Работающий пример:
https://jsfiddle.net/7evc98hj/ Но такие вещи надо делать не инлайнами, а флексами:
https://jsfiddle.net/7evc98hj/1/