1

I'm using Bootstrap CSS and I have some content that I want to horizontally scroll. Using 'flex-nowrap' gives the scrollbar, but causes the parent element to wrap. What am I missing? Here is a screenshot of what I'm seeing:
 

enter image description here

Here is a fiddle of the code. https://jsfiddle.net/igor_9000/2Lq9padm/

And the code itself

CSS

.sidebar {
  width: 200px;
  border: 1px solid red;
}

.main {
  border: 1px solid blue;
}

.desired .main {
  /* this gives me what I want, but will cause my layout to break in other pages */
  overflow-x: hidden;
}



#card-tabs {
    overflow-y: visible;
    overflow-x: auto;
    white-space: nowrap;
    padding: 0;
    width: 100%;
    clear: both;
}
#card-tabs .some-card {
  border: 1px solid #333;
  width: 150px;
  height: 50px;
}

HTML

<h1>
Actual Result
</h1>
<div class="container">
  <div class="row">
    <div class="col-auto sidebar">
      sidebar
    </div>
    <div class="col main">
      <div class="row">
        <div class="col">
          navigation
        </div>
      </div>

      <div id="component-container" class="row">
        <div class="col">
          <div class="row flex-row flex-nowrap" id="card-tabs">
            <div class="col">
              <div class="some-card">
                Card A
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card B
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card C
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card D
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card E
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card F
              </div>
            </div>
          </div>
        </div>


      </div>
      <div class="row">
        <div class="col-12">
          footer
        </div>
      </div>


    </div>    
  </div>
</div>


<h1>
Desired Result
</h1>
<div class="container desired">
  <div class="row">
    <div class="col-auto sidebar">
      sidebar
    </div>
    <div class="col main">
      <div class="row">
        <div class="col">
          navigation
        </div>
      </div>

      <div id="component-container" class="row">
        <div class="col">
          <div class="row flex-row flex-nowrap" id="card-tabs">
            <div class="col">
              <div class="some-card">
                Card A
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card B
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card C
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card D
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card E
              </div>
            </div>
            <div class="col">
              <div class="some-card">
                Card F
              </div>
            </div>
          </div>
        </div>


      </div>
      <div class="row">
        <div class="col-12">
          footer
        </div>
      </div>


    </div>    
  </div>
</div>
Adam Konieska
  • 2,805
  • 3
  • 14
  • 27

0 Answers0