我正在构建一个使用Vite和Tailwind构建的React.js网页。
我想让页面水平滚动。我尝试了一些React库,如
我希望页面可以通过鼠标滚轮和滚动条水平滚动所有内容,除了页眉和页脚将保持静态。
npm react-horizontal-scroll
等,但都没有起作用,我不知道该怎么做。我希望页面可以通过鼠标滚轮和滚动条水平滚动所有内容,除了页眉和页脚将保持静态。
npm react-horizontal-scroll
等,但都没有起作用,我不知道该怎么做。.container {
display: flex;
flex-wrap: nowrap;
overflow-x: scroll;
}
2 - 确保容器内的内容设置为必要的全宽。您可以通过将内部项目的宽度设置为“100vw”来实现此目的。例如:
.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;
}