calc(100vw - 100%)
можно вычислить ширину скроллбара (а если он не отображается, то будет 0). Идея: при помощи отрицательного margin-right увеличить ширину <html> на эту ширину. При этом появляется горизонтальная полоса прокрутки — ее скрываем.html {
overflow-x: hidden;
margin-right: calc(-1 * (100vw - 100%));
}
@function max($numbers...) {
@return m#{a}x(#{$numbers});
}
@function min($numbers...) {
@return m#{i}n(#{$numbers});
}