html - How do I add a vertical scrollbar to a centred, expanding table? -


i have rather long table, , wish add vertical scrollbar it. this, i've wrapped table inside 2 divs. inner div has display: inline-block shrink wrap around table, , outer div has text-align: center.

here's problem: i've added overflow-y: auto inner div, , apparently adds scrollbar inside of inner div, makes content wider equal width of vertical scrollbar, spawns horizontal scrollbar.

i can't find solution this. ideally, width of inner wrapper div should expand accomodate vertical scrollbar, rather spawning horizontal scroll bar.

any ideas?

i'm using chrome 42 , firefox 39 in case.


example demonstrating issue:

body {    font: 14px "verdana", "arial", "sans serif";  }  #wrapper1 {    text-align: center;  }  #wrapper2 {    display: inline-block;    overflow-y: auto;    max-width: 100%;    max-height: 150px;        text-align: initial;  }  table {    min-width: 512px;    background-color: rgba(0, 0, 0, 0.05);  }  table td {    background-color: rgba(0, 0, 0, 0.05);  }
<div id="wrapper1">    <div id="wrapper2">      <table>        <thead>          <tr>            <th>foo</th>            <th>bar</th>            <th>baz</th>            <th>foo</th>            <th>bar</th>            <th>baz</th>          </tr>        </thead>        <tbody>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>        </tbody>      </table>    </div>  </div>

note: have tried using width: max-content float: left instead of display: inline-block shrink wrap div, , horizontal scroll bar issue remains same.

note: adding padding inner div equal width of scroll bar (16px) hacks around issue in current browsers, terrible long term solution:

body {    font: 14px "verdana", "arial", "sans serif";  }  #wrapper1 {    text-align: center;  }  #wrapper2 {    display: inline-block;    overflow-y: auto;    max-width: 100%;    max-height: 150px;    padding-right: 16px;        text-align: initial;  }  table {    min-width: 512px;    background-color: rgba(0, 0, 0, 0.05);  }  table td {    background-color: rgba(0, 0, 0, 0.05);  }
<div id="wrapper1">    <div id="wrapper2">      <table>        <thead>          <tr>            <th>foo</th>            <th>bar</th>            <th>baz</th>            <th>foo</th>            <th>bar</th>            <th>baz</th>          </tr>        </thead>        <tbody>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>          <tr>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>            <td>123</td>          </tr>        </tbody>      </table>    </div>  </div>

try overflow:scroll innerdiv.am using lower version of chrome,could able replicate issue , using overflow:scroll working perfect me.


Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -