css - HTML Div Width with Overflow: Auto? -


i'm creating div following:

edit: here's example:

<html>   <body>     <table>       <tr>         <td>           <div style="position: relative; overflow: auto; max-height: 15em;">             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>             <label><input type="checkbox"/>hello! hello!</label><br/>           </div>         </td>       </tr>     </table>   </body> </html> 

the text of every label unnecessarily wraps next line.

how fix this?

attempt 1

add div,

white-space: nowrap; 

the problem vertical scrollbar appears impedes on content introducing small unnecessary horizontal scrollbar.


attempt 2

add div,

white-space: nowrap; padding-right: 1.5em;   // increase appropriate 

the problem here you're guessing size of vertical scrollbar remove horizontal one.


attempt 3

add div,

white-space: nowrap; overflow-x: hidden;  overflow-y: scroll; 

now, horizontal scrollbar removed, , size of vertical 1 not being guessed, but visible.


attempt 4

the problem seems boil down needing reserve space scrollbar, overflow-y: scroll; without being visible. first solution came mind add div alongside first has overflow-y: scroll; set , width: 100%;. problem regular div scrollbar included in width. after trial , error though, seems if use float isn't. using float can force width of container larger scrollbars width, , setting width: 100%; on original div, take space too. hide float setting it's height 0.

n.b. i'm not entirely sure why works myself, , i've tested on firefox5 seems work. hope it's helpful you. so,

add,

<div class="hack"></div> 

below you're original div. then,

.content {     float: left;     width: 100%;     overflow-y: auto;     max-height: 15em; }  .hack {     float: left;     width: 100%;     overflow-y: scroll;        height: 0; } 

an edit of jsfiddle including fix here.


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -