如何做一个reactjs水平滚动网页

wtzytmuj  于 2023-03-08  发布在  React
关注(0)|答案(1)|浏览(230)

我正在用Vite和Tailwind构建一个React.js网页。我希望页面可以水平滚动。我试过一些react库,比如npm react-horizontal-scroll和其他的,但是没有任何效果,我不知道怎么做。
我希望页面滚动所有水平与鼠标滚轮和滚动条,除了页眉和页脚,这将是静态的。

odopli94

odopli941#

要让你的Reactjs网站水平滚动,使用Vite和Tailwind构建,你需要设置一些CSS属性,还需要添加一些滚动事件。
1 -设置一个容器,用于 Package 要水平滚动的所有内容。将其“overflow-x”属性设置为“scroll”,以允许水平滚动内容。例如:

.container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: scroll;
}

2 -确保容器内的内容设置为必要的全宽。您可以通过将内部项目的宽度设置为“100 vw”来实现这一点。例如:

.item {
  width: 100vw;
}

3 -向容器添加滚动事件,以允许容器使用鼠标滚轮滚动。您可以使用容器元素上的“onWheel”属性执行此操作。例如:

import React from 'react';

function App() {
  const handleScroll = (event) => {
    const container = event.target;
    const scrollAmount = event.deltaY;
    container.scrollTo({
      top: 0,
      left: container.scrollLeft + scrollAmount,
      behavior: 'smooth'
    });
  };

  return (
    <div>
      <header>
        {/* Header content */}
      </header>
      <div className="container" onWheel={handleScroll}>
        <div className="item">
          {/* Item content */}
        </div>
        <div className="item">
          {/* Item content */}
        </div>
        <div className="item">
          {/* Item content */}
        </div>
      </div>
      <footer>
        {/* Footer content */}
      </footer>
    </div>
  );
}

4 -添加滚动条以允许用户在可滚动内容中导航。可以使用“::-webkit-scrollbar”元素并设置其属性来完成此操作。例如:

.container::-webkit-scrollbar {
  height: 8px;
}

.container::-webkit-scrollbar-thumb {
  background-color: gray;
  border-radius: 10px;
}

.container::-webkit-scrollbar-track {
  background-color: white;
  border-radius: 10px;
}

确保“container”类包含滚动条。

相关问题