Я уверен, что это что-то ослепительно очевидное, но я пытаюсь выполнить расчет, чтобы получить правильный рост, чтобы он не оставлял зазора в конце оболочки.
Я так долго смотрел на эту вещь, что не вижу, чего мне не хватает, потому что результат вычислений фактически не изменяет css, как следует.
Вот jsfiddle
const body = document.querySelector("body");
const wrapper = document.querySelector(".wrapper");
const bodyHeight = function() {
body.style.height =
wrapper.offsetWidth - (window.innerWidth - window.innerHeight);
};
bodyHeight();
window.addEventListener("resize", bodyHeight);
document.addEventListener("scroll", function() {
let scroll = window.pageYOffset;
wrapper.style.left = `${-1 * scroll}px`;
});