<pre class="code-container">
<code>
<span class="token-selector">.grid</span> {
  <span class="token-property">grid-template-columns</span>: <input type="text" data-property="grid-template-columns" class="token-function" />
  <span class="token-property">grid-template-rows</span>: <input type="text" data-property="grid-template-rows" class="token-function" />
}
<span class="token-selector">.item:nth-child(3)</span> {
  <span class="token-property">grid-column</span>: <input type="text" data-property="grid-column" class="token-function" />
  <span class="token-property">grid-row</span>: <input type="text" data-property="grid-row" class="token-function" />
}
</code>
</pre>

<div class="grid">
  <div>1</div>
  <div>2</div>
  <div class="item">3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>  
  <div>7</div>  
  <div>8</div>  
  <div>9</div>  
  <div>10</div>  
</div>

  
* {
  box-sizing: border-box;
}

body {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  padding: 1rem;
  gap: 2rem;
  margin: 0;  
  min-height: 100vh;
  background: linear-gradient(45deg, #d8c79c 10%, #e2d1a6 0, #e2d1a6 90%, #d8c79c 0, #d8c79c 100%);
}

.grid {
  display: grid;
  --grid-template-columns:50px 50px 50px [last];
  --grid-template-rows:repeat(3, 50px);
  grid-template-columns: var(--grid-template-columns);
  grid-template-rows: var(--grid-template-rows);
  grid-auto-rows: 50px;
  gap: 0.5rem;
}

.grid div {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 15px;
  font-size: 22px;
  background-color: #151321;
  color: #febc14;  
}

.item {
  --grid-column:1 / span last;
  --grid-row:2 / 4;
  grid-column: var(--grid-column);
  grid-row: var(--grid-row);
}

output {
  display: block;
}

.code-container {
  max-width: 100%;
  overflow-x: auto;
  background-color: #272822;
  margin: 0;
  padding: 0 24px;
  border-radius: 3px;
  color: #F8F8F2;
  text-shadow: 0 1px rgba(0, 0, 0, 0.3);
  font-family: Consolas, Monaco, 'Andale Mono', monospace;
  font-size: 16px;
  line-height: 1.7;
}

.token-property {
  color: #F92672;
}

.token-selector {
  color: #a6e22e;
}

.token-function {
  color: #E6DB74;
  display: inline-block;  
}

input[type="text"] {
  border: 0;
  background: none;
  width: 200px;
  font: inherit;
  padding: 0;
}

input[type="text"]:focus {
  border: 1px solid currentColor;
}
var item = document.querySelector('.item');
var inputs = document.querySelectorAll('input[type="text"]');

for (var i = 0; i < inputs.length; i++) {      
  inputs[i].value = getComputedStyle(item).getPropertyValue('--'+inputs[i].getAttribute('data-property'));

  inputs[i].addEventListener('input', function () {
    item.style.setProperty('--'+this.getAttribute('data-property'), this.value);
    document.querySelector('.'+this.getAttribute('data-property')).querySelector('span').textContent = this.value;        
  }, false);
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.