欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

react-Slick-transform:translate 3d-不適用于較小的分辨率

錢多多1年前8瀏覽0評論

我正在使用next.js,并通過API將數據提取到幻燈片中。React-slick在較低分辨率(本例中為890px)的第一個斷點之前一直工作得很好。

。slick-track類有一個屬性導致了這個問題。

.slick-track {transform: translate3d((wrong calc here)px, 0px, 0px)}

因此,在translate 3d中,第一個值是0px,而我得到的是應該顯示幻燈片列表的元素的寬度。列表被移到右邊,這樣就看不見了。

點擊下一步按鈕后,列表回到正常位置,但跳過列表中的第一個元素...

截圖:

我試圖通過:global和inside base CSS文件來覆蓋module.css中的這個屬性,但是它仍然被應用。我我放了!重要的是,在我的屬性結束時,它將被應用,但我不能滾動/瀏覽幻燈片的元素(第一個元素將被卡在左邊)。

我也嘗試過舊版本的react-slick 26.0;26.1;27.0;28.0...但問題仍然存在。 有人知道解決辦法嗎?

這是我的組件:

const Accessories = () => {
  const { query } = useRegions();

  const { error, data } = useAccessoriesSubcategoriesQuery({
    variables: { ...query },
  });

  if (error) {
    console.error("Accessories section component error", error.message);
  }

  const subcategoryItems = data?.categories.edges[0].node.children.edges || [];

  // Slick slider settings
  const settings = {
    dots: false,
    infinite: false,
    speed: 500,
    slidesToShow: 4,
    slidesToScroll: 1,
    nextArrow: <AccessoriesNextBtn currentSlide={0} slideCount={0} />,
    prevArrow: <AccessoriesPrevBtn currentSlide={0} slideCount={0} />,
    responsive: [
      {
        breakpoint: 890,
        settings: {
          slidesToShow: 3,
        },
      },
      {
        breakpoint: 620,
        settings: {
          slidesToShow: 2,
        },
      },
      {
        breakpoint: 420,
        settings: {
          slidesToShow: 1,
        },
      },
    ],
  };

  return (
    <div className={"flex items-center justify-center w-full h-full bg-white"}>
      <Container className="flex-col relative overflow-hidden">
        <div className="flex flex-col lg:flex-row w-full mb-[50px] gap-[30px] lg:gap-[20px] justify-between">
          <H2Headline className="text-[26px] text-left ">
            Pool equipment & water treatment
          </H2Headline>
          <Button
            className={`${styles.accessoriesSeeAllBtn} mb-[50px] mr-[0px] ml-auto xs:mb-0 xs:ml-0 xs:mr-auto max-w-[112px] h-[45px] box-border text-solidGray font-semibold text-[16px] leading-[157%] bg-white border border-solidGray hover:bg-solidGray hover:text-white`}
          >
            {/* <LinkBuilder linkItem={data?.categories.edges[0].node}>See all</LinkBuilder> */}
            See All
          </Button>
        </div>
        <div className={`${styles.accessoriesSliderWrapper} md:min-w-[500px] w-full`}>
          <style jsx global>{`
            .slick-track {
              display: block;
              transform: translate3d(0px, 0px, 0px);
            }
          `}</style>
          <Slider {...settings}>
            {subcategoryItems.map((item) => (
              <div
                key={item?.node.id}
                className="flex flex-col max-w-[366px] md:max-w-[263px] transform hover:-translate-y-3 duration-500 ease-in-out "
              >
                {item.node.backgroundImage ? (
                  <div className="flex justify-center items-center content-center h-[280px] bg-lightGray rounded-[12px] overflow-visible z-50">
                    <Image
                      src={item.node.backgroundImage?.url}
                      width={218}
                      height={218}
                      alt="Category image"
                      className="object-cover object-center w-auto h-auto"
                      placeholder="blur"
                      blurDataURL={item.node.backgroundImage?.url}
                    />
                  </div>
                ) : null}
                <h3 className="text-solidGray text-[16px] leading-[160%] font-medium mt-[12px] mb-[3px]">
                  {item.node.name}
                </h3>
                <ParagraphText className="text-[14px] text-gray opacity-100 mt-[3px] mb-[12px]">
                  {item.node.description}
                </ParagraphText>
                <Button className="mx-auto text-[14px] border border-lightGray bg-white w-full hover:bg-solidGray hover:border-solidGray hover:text-white">
                  <LinkBuilder linkItem={item}>See all</LinkBuilder>
                </Button>
              </div>
            ))}
          </Slider>
        </div>
      </Container>
    </div>
  );
};

我也有同樣的問題,在我的情況下改變& quot顯示:flex & quot因為跟蹤和列表幫助了

.slick-slider .slick-track,
.slick-slider .slick-list {
    display: flex !important;
 }

面對同樣的問題,我最終在onInit中使用了一個超時函數來添加適當的translate3d(0,0,0):

enter image description here

發生這種情況是因為滑塊使用空數組進行渲染。

只需在Slider元素前加上條件來檢查數組長度是否大于0。

{subcategoryItems.length>0 && <Slider {...settings}>
   ...
   }