Как установить внутреннюю границу вокруг элементов CSS Grid?

До сих пор я пробовал так. Я хочу установить границу вокруг элементов сетки внутри сетки. Есть ли способ сделать это?

.grid{
            background: cornflowerblue;
            padding: 20px;
            margin: 10px;
            height: 500px;
            display: grid;
            grid-template-columns: 100px 100px 100px;
            grid-template-rows: 60px 60px 60px;
            grid-gap: 30px 10px;
            justify-content: center;
            align-content: center;

        }
        .item{
            font-size: 20px;
            font-family: 'Montserrat', sans-serif;
            line-height: 32px;
            letter-spacing: 5px;
            font-weight: bold;
            border: 1px solid white;
            text-align: center;
            display: grid;
            align-content: center;
            justify-content: center;
        }
<div class = "grid">
    <div class = "item">A1</div>
    <div class = "item">A2</div>
    <div class = "item">A3</div>
    <div class = "item">A4</div>
    <div class = "item">A5</div>
    <div class = "item">A6</div>
    <div class = "item">A7</div>
    <div class = "item">A8</div>
    <div class = "item">A9</div>
</div>

Но мне нужна рамка вокруг элементов, как показано на изображении.

🤔 А знаете ли вы, что...
С помощью HTML можно создавать упорядоченные и неупорядоченные списки.


338
2

Ответы:

Создайте новый div вокруг и

.newDiv {
 border: 5px solid red;
}

Решено

Дайте более высокий контур, если вы хотите очень большое смещение

.subgrid {
    outline-offset: 50px;
}

.grid {
  background: cornflowerblue;
  padding: 20px;
  margin: 10px;
  height: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.subgrid {
  display: inline-grid;
  grid-template-columns: 100px 100px 100px;
  grid-template-rows: 60px 60px 60px;
  grid-gap: 30px 10px;
  outline: 1px solid red;
  outline-offset: 50px;
}

.item {
  font-size: 20px;
  font-family: 'Montserrat', sans-serif;
  line-height: 32px;
  letter-spacing: 5px;
  font-weight: bold;
  border: 1px solid white;
  text-align: center;
  display: grid;
  align-content: center;
  justify-content: center;
}
<div class = "grid">
  <div class = "subgrid">
    <div class = "item">A1</div>
    <div class = "item">A2</div>
    <div class = "item">A3</div>
    <div class = "item">A4</div>
    <div class = "item">A5</div>
    <div class = "item">A6</div>
    <div class = "item">A7</div>
    <div class = "item">A8</div>
    <div class = "item">A9</div>
  </div>
</div>