You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React-Splide testimonial carousel屏幕Resize时无响应问题求助

问题:React-Splide轮播组件渲染自定义HTML元素后无法自适应屏幕Resize

我有一个两列网格布局页面,两列的容器均设置为flex布局。第一列容器内有一个React-Splide轮播组件,用于渲染映射后的评论数据。当作为简单图片轮播使用时可正常工作,但一旦映射并返回h1或其他HTML元素,轮播组件就无法随屏幕Resize自适应。

示例截图

轮播组件代码

const TestimonialCarousel = () => {
  return (
    <Splide
      options={{
        rewind: true,
      }}
    >
      {testimonialsData.map((item, index) => {
        return (
          <SplideSlide key={index}>
            <Card>
              <QuoteTop />
              <ReviewLink href={item.link} target="_blank">
                <CardHeader>
                  <ImgWrapper>
                    <Img src={item.src} alt={item.alt} />
                  </ImgWrapper>
                  <HeaderText>{item.name}</HeaderText>
                </CardHeader>
              </ReviewLink>
              <Hr />
              <CardContent>{item.review}</CardContent>
              <Hr />
              <CardRating>{item.rating}</CardRating>
              <QuoteButtom />
            </Card>
          </SplideSlide>
        );
      })}
    </Splide>
  );
};

样式代码

import styled from "styled-components";
import { RiDoubleQuotesL } from "react-icons/ri";

export const CarouselContainer = styled.div`
  position: relative;
  max-height: 400px;
  max-width: 400px;
`;

export const Card = styled.div`
  display: flex;
  flex-direction: column;
  aspect-ratio: 1/1;
  padding: 0 24px;
  align-items: center;
  justify-content: center;
`;

export const QuoteTop = styled(RiDoubleQuotesL)`
  position: absolute;
  top: 0px;
  left: 15px;
  color: #1ebbd7;
  font-size: 5rem;
  opacity: 60%;
`;

export const QuoteButtom = styled(RiDoubleQuotesL)`
  position: absolute;
  bottom: 0px;
  right: 15px;
  transform: rotate(180deg);
  color: #1ebbd7;
  font-size: 5rem;
  opacity: 60%;
`;

export const ReviewLink = styled.a`
  text-decoration: none;
`;

export const CardHeader = styled.h1`
  cursor: pointer;
  display: flex;
  height: auto;
  align-items: center;
  flex-direction: row;
  padding: 5px;
`;

export const ImgWrapper = styled.div`
  border-radius: 100px;
  border: 2px solid #1ebbd7;
`;

export const Img = styled.img`
  border-radius: 100px;
  height: 45px;
`;

export const HeaderText = styled.h2`
  color: #fff;
  font-size: 1.5rem;
  margin-left: 8px;
`;

export const Hr = styled.hr`
  margin: 15px 0;
  color: #1ebbd7;
  border-top: 2px solid;
  border-radius: 25px;
  width: 50px;
  border-bottom: none;
  opacity: 80%;
`;

export const CardContent = styled.p`
  text-align: center;
  color: #fff;
  font-size: 1rem;
  line-height: 26px;

  @media screen and (max-width: 480px) {
    font-size: 0.9rem;
  }
`;

export const CardRating = styled.p`
  color: #fff;
  font-size: 1rem;
`;

内容的提问来源于stack exchange,提问作者Andras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 01:54:55