mnlfischer
mnlfischer

Reputation: 155

Vertical scroll on 100% height div

I try to create a horizontal scrollbar in a 100% height div. In jsfiddle, the scrollbar on the right should be only visible in content-table but current the scrollbar scrolls hole page on y-axis and not only in content-table y-axis.

overflow:auto works only on x axis, why not on y?

.content-table {
  white-space: nowrap;
  overflow: auto;
}

https://jsfiddle.net/mnlfischer/4g979nym/1/

Upvotes: 1

Views: 3780

Answers (2)

Figar Ali
Figar Ali

Reputation: 866

Try this.

html, body{
  margin:0;
  overflow: hidden;
}
.container {
    width: 100%;
    height: 100vh;
    margin: 0;
    overflow: auto;
}

.column-lead {
  white-space: nowrap;
  overflow-x: auto;
}

.column-lead-item {
  width: 200px;
  background-color: lightgreen;
  display: inline-block;
  padding: 30px 10px;
}

.row-lead {
  float: left;
  overflow-y: auto;
  height: 100vh;
}

.row-lead-item {
  padding: 30px 10px;
  width: 200px;
  background-color: yellow;
}

.content-table {
  white-space: nowrap;
  overflow: auto;
  height: 100vh;
}

.content-table-row {
  width: 100%;
}

.content-table-item {
  display: inline-block;
  width: 200px;
  padding: 30px 10px;
  background-color: green;
}
<div class="container">

  <div class="row-lead">
    <div class="row-lead-item">Row Lead Item</div>
    <div class="row-lead-item">Row Lead Item</div>
    <div class="row-lead-item">Row Lead Item</div>
    <div class="row-lead-item">Row Lead Item</div>
    <div class="row-lead-item">Row Lead Item</div>
    <div class="row-lead-item">Row Lead Item</div>
    <div class="row-lead-item">Row Lead Item</div>
    <div class="row-lead-item">Row Lead Item</div>
  </div>
  
  
  
  <div class="content-table">
    <div class="column-lead">
    <div class="column-lead-item">Column Lead Item</div>
    <div class="column-lead-item">Column Lead Item</div>
    <div class="column-lead-item">Column Lead Item</div>
    <div class="column-lead-item">Column Lead Item</div>
    <div class="column-lead-item">Column Lead Item</div>
    <div class="column-lead-item">Column Lead Item</div>
    <div class="column-lead-item">Column Lead Item</div>
  </div><div class="content-table-row">
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
    </div>
    <div class="content-table-row">
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
    </div>
    <div class="content-table-row">
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
    </div>
    <div class="content-table-row">
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
    </div>
    <div class="content-table-row">
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
    </div>
    <div class="content-table-row">
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
      <div class="content-table-item">Content Cell</div>
    </div>
  </div>
  
</div>

Upvotes: 0

marcos.efrem
marcos.efrem

Reputation: 767

That´s because you need a heigth for .content-table try including this CSS height: calc(100% - 100px);

Upvotes: 2

Related Questions