Создаете блок с шириной контента внутри, его вкладываете в блок, где будет свойство overflow: hidden, и задаете ему какую-то определенную ширину. Он покажет внутри только видимую часть контента по ширине не больше определенной вами. для скролла создать отдельный элемент, который будет при передвигании бегунка добавлять отрицательный отступ слева у внутреннего блока с контентом