title: Grid layout but avoid space distribute equally
body: <p>I'm trying to use the grid layout for two columns in one row which can be easily achieved by flex. I have to create one more div for flex but the grid doesn't need one more div.</p>
  <p>The problem with the grid is that it will divide the width space by 2 (cannot align to start/left) and that's not what I want, please refer to the first example below and you will understand.</p>
  <p>Is there any way to use the grid in this situation but we can align the items to the left like in the second example?</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>#main-1 {
    display: grid;
    gap: 30px;
    grid-teplate-column: repeat(2, minmax(0, 1fr));
  }
  
  .test-1 {
    background-color: orange;
    grid-area: span 1 / span 2;
  }
  
  .test-2 {
    background-color: gray;
    width: 150px;
  }
  
  #main-2 {
    display: flex;
    gap: 30px;
    margin-top: 30px;
  }
  
  .test-3 {
    background-color: orange;
    width: 100%;
  }
  
  .test-4 {
    background-color: gray;
    width: 150px;
  }
  
  .test-1,
  .test-2,
  .test-3,
  .test-4 {
    height: 60px;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;h1&gt;Grid&lt;/h1&gt;
  
  &lt;div id="main-1"&gt;
    &lt;div class="test-1"&gt;&lt;/div&gt;
    &lt;div class="test-2"&gt;&lt;/div&gt;
    &lt;div class="test-2"&gt;&lt;/div&gt;
  &lt;/div&gt;
  
  &lt;h1 style="margin:30px 0 0 0;padding-top:15px;border-top: 3px solid #000;"&gt;Flex&lt;/h1&gt;
  &lt;p style="margin:0 0 30px 0;"&gt;This is the desired layout but with one more extra div&lt;/p&gt;
  
  &lt;div&gt;
    &lt;div class="test-3"&gt;&lt;/div&gt;
    &lt;div id="main-2"&gt;
      &lt;div class="test-4"&gt;&lt;/div&gt;
      &lt;div class="test-4"&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  <p><strong>Edited</strong></p>
  <p>Inline-block might work but we cannot control how many items should be on each row. Imagine the width of the first div <code>.first</code> is dynamic and we do not know how wide it would be(but I will make it 30px for illustration). Now the desired layout should be only one <code>.first</code> and one <code>.second</code> on each row.</p>
  <p>By <code>inline-block</code> it would appear that now each row is one <code>.first</code>, one <code>.second</code>, and one <code>.first</code>. Check out the example below. Because we cannot control the amount like grid on each row.</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>#main {
    width: 120px;
  }
  
  .first,
  .second {
    display: inline-block;
    height: 60px;
  }
  
  .first {
    background-color: orange;
    width: 30px;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div id="main"&gt;
    &lt;div class="first"&gt;&lt;/div&gt;
    &lt;p class="second"&gt;hhhhhh&lt;/p&gt;
    &lt;div class="first"&gt;&lt;/div&gt;
    &lt;p class="second"&gt;hhhhhh&lt;/p&gt;
    &lt;div class="first"&gt;&lt;/div&gt;
    &lt;p class="second"&gt;hhhhhh&lt;/p&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>