I've got a grid layout. I want to add a 5px margin all around it but doing so adds a scrollbar.
Is it possible to set a margin without having a scrollbar added?
function toggle() {
  document.querySelector(".container").classList.toggle("withMargin");
}html,
body,
.container {
  height: 100%;
  margin: 0;
}
.container {
  display: grid;
  grid-template-rows: 50px 1fr 1fr;
  grid-template-columns: 300px 1fr 1fr;
  gap: 5px 5px;
  grid-auto-flow: row;
  grid-template-areas: "logo header header" "nav-one main main" "nav-two main main";
  background-color: black;
}
.main {
  grid-area: main;
  background-color: lightcoral;
}
.logo {
  grid-area: logo;
  background-color: lightcyan;
}
.header {
  grid-area: header;
  background-color: lightgoldenrodyellow;
}
.nav-one {
  grid-area: nav-one;
  background-color: lightgray;
}
.nav-two {
  grid-area: nav-two;
  background-color: lightgreen;
}
.container.withMargin {
  margin: 5px;
}<!DOCTYPE html>
<html>
<head>
</head>
<body>
  <div class="container">
    <div class="main">
      <br /><button onclick="toggle()">toggle .container margin</button>
    </div>
    <div class="logo">logo</div>
    <div class="header">header</div>
    <div class="nav-one">nav one</div>
    <div class="nav-two">nav two</div>
  </div>
</body>
</html> 
    