Given a <textarea>
with a fixed width
, I would like its "active width" to be constant (in px
). By "active width" I mean the area where the text appears.
When the vertical scroll bar doesn't appear, the "active width" equals to width
. But, when the vertical scroll bar appears, the "active width" becomes smaller than width
(I guess smaller exactly by the width of the scroll bar).
I thought to identify whether the vertical scroll bar appears or not, and if yes, to increase the width of the <textarea>
by the width of the scroll bar. How could I identify the width of the scroll bar?
Is there a better approach?
(I'm interested in Firefox, if it makes the life easier.)
I was looking for something similar - here is what i found
Source : Slickgrid uses this - https://github.com/mleibman/SlickGrid/blob/master/slick.grid.js#L378
Or
Use Google Closure Library -link
Scrollbar width is simply (offsetWidth - clientWidth) in a borderless! element. This function calculates it on the fly and caches the result for further use. No need need for percentage width etc.
I think this helps to get the width of scrollbar.
gives the height so cant this be used..
Using jQuery, simply write:
Maybe you could put
in your css. This forces the scrollbar to be present even when the text area is blank, so the width is always constant.
CSS:
Vanilla JS:
Solution by David Walsh