我想在Web应用程序的一个页面上仅设置粒子背景。 我使用了以下代码:
import styles from "../styles/Page.module.css";
import Particles from "react-tsparticles";
const particlesOptions = {
background: {
color: {
value: "transparent",
},
},
fpsLimit: 120,
interactivity: {
events: {
onClick: {
enable: false,
mode: "push",
},
onHover: {
enable: false,
mode: "repulse",
},
resize: true,
},
modes: {
bubble: {
distance: 400,
duration: 2,
opacity: 0.8,
size: 40,
},
push: {
quantity: 4,
},
repulse: {
distance: 200,
duration: 0.4,
},
},
},
fullScreen: {
enable: false,
zIndex: 0
},
particles: {
color: {
value: "#ffffff",
},
links: {
color: "#ffffff",
distance: 150,
enable: false,
opacity: 0.5,
width: 1,
},
collisions: {
enable: false,
},
move: {
direction: "top",
enable: true,
outMode: "out",
random: false,
speed: 3,
straight: false,
},
number: {
density: {
enable: true,
area: 800,
},
value: 30,
},
opacity: {
value: 0.9,
},
shape: {
type: "edge",
},
size: {
random: true,
value: 3,
},
},
detectRetina: true,
}
const Page = () => {
return (
<div className={styles.page}>
<Particles className={styles.particles} options={particlesOptions} />
</div>
);
};
export default Page;
这个页面有100vh(styles.page),我试着像这样为Particles组件设置一个className:
.particles {
position: absolute;
right: 0;
top: 0;
left: 0;
bottom: 0;
z-index: 0;
}
但它不显示粒子,背景是红色的而粒子设置为白色。我也尝试了这种方式来设置Particles组件:
const Page = () => {
return (
<>
<Particles className={styles.particles} options={particlesOptions} />
<div className={styles.page}>
</div>
</>
);
};
但这仍然不起作用。我也尝试将高度和宽度设置为100%。请问是否有办法使其正常工作?