如果用户向下滚动(水平滚动),则向左滚动

Ant*_*nja 0 html javascript css

我正在开发一个水平网站,当用户向下滚动时我需要进行水平滚动。有什么想法如何用 javascript 实现这一点吗?

这是小提琴: https: //jsfiddle.net/erqbtL23/

这是代码:

body {
  margin: 0;
  height: 100vh;
}

* {
  box-sizing: border-box;
}

.container {
  overflow-x: auto;
  white-space: nowrap;
}

.container>div {
  background: red;
  display: inline-block;
  width: 100vw;
  height: 100vh;
  margin-left: -4px;
}

.container>div:first-child {
  margin-left: 0;
}

.container::-webkit-scrollbar {
  display: none;
}

.container>div:nth-child(even) {
  background: blue;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <div>scroll left</div>
  <div>lorem</div>
  <div>lorem</div>
  <div>lorem</div>
  <div>lorem</div>
  <div>lorem</div>
  <div>lorem</div>
  <div>lorem</div>
  <div>lorem</div>
  <div>lorem</div>
  <div>lorem</div>
  <div>lorem</div>
</div>
Run Code Online (Sandbox Code Playgroud)

Ano*_*mus 5

您可以仅使用 CSS 来完成此操作,方法是旋转容器,使底部变为右侧,然后旋转每个项目,使其正确显示。

.h-scroll {
  width: 100px;
  height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  transform-origin: right top;
  transform: rotate(-90deg) translateY(-100px);
}

.h-scroll > div {
  width: 100px;
  height: 100px;
  transform: rotate(90deg);
  transform-origin: right top;
}
Run Code Online (Sandbox Code Playgroud)
<div class="h-scroll">
  <div>item 1</div>
  <div>item 2</div>
  <div>item 3</div>
  <div>item 4</div>
  <div>item 5</div>
  <div>item 6</div>
  <div>item 7</div>
  <div>item 8</div>
</div>
Run Code Online (Sandbox Code Playgroud)