The solution is a very simple and clean css fix:
.-modal-open .fixed, .-modal-open .content { overflow-y:scroll; }
.. However, this requires that your content be created in different ways. You should never use stock for your content, but rather transfer it to a container and use the add-on instead.
The scrollbar width is not always 17px ... 17px for Firefox, but 15px for chrome, sometimes IE doesn't even have the scrollbar width depending on the code.
Here is the updated pen: http://codepen.io/scooterlord/pen/KgKLwB
edit: forgot to say that this is a cross-browser solution and works flawlessly wherever I tested it. If the browser is mobile, then no change in width occurs due to the addition / removal of additional scroll bars, and depending on the browser, the newly created scroll bars for content / fixed elements always coincide with the initial scroll.
source share