带有样式组件的滑动按钮样式

Posted

技术标签:

【中文标题】带有样式组件的滑动按钮样式【英文标题】:swiper button style with styled-components 【发布时间】:2021-12-16 06:15:35 【问题描述】:

我想用样式组件替换按钮样式 有什么办法?

<SC.CarouselBox 
        loop=true 
        cssMode=true 
        navigation=true 
        mousewheel=true 
        keyboard=true
        slidesPerView=1 
        pagination=
          "clickable": true
         
        className="mySwiper"
      >
        <SC.CarouselBlur></SC.CarouselBlur>
        sliderItems.map((item, i) =>  (
          <SwiperSlide
           <img src=item.img/>
          </SwiperSlide>
        ))
      </SC.CarouselBox>

我在 styled-components 中添加了 swiper 组件,因为我想更改 swiper 样式 但我不能添加按钮,因为按钮不是作为组件给出的

const CarouselBox = styled(Swiper)`
  width: 100%;
  height: 100%;
  display: inline-grid;
`;

const Btn = styled('button')`
  bottom: 10px;
  position: absolute;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(50px);
  border-radius: 10px;
  width: 34px;
  height: 34px;
  display: flex;
  justify-content: center;
  align-items: center;
  user-select: none;
  cursor: pointer;
  z-index: 2;
  outline: none;
  border: none;
`;

【问题讨论】:

【参考方案1】:

正确的语法略有不同。您不需要像字符串一样将按钮包裹在括号中。相反,您应该像这样编写代码:

const Btn = styled.button`
  bottom: 10px;
  position: absolute;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(50px);
  border-radius: 10px;
  width: 34px;
  height: 34px;
  display: flex;
  justify-content: center;
  align-items: center;
  user-select: none;
  cursor: pointer;
  z-index: 2;
  outline: none;
  border: none;
`;

【讨论】:

【参考方案2】:

我使用了一个单独的按钮:

navigation=
   nextEl: ".swiper-next",
   prevEl: ".swiper-prev",



<SC.Btn className="swiper-next">
   next
</SC.Btn>
<SC.Btn className="swiper-prev">
   back
</SC.Btn>

【讨论】:

以上是关于带有样式组件的滑动按钮样式的主要内容,如果未能解决你的问题,请参考以下文章

iOS地图样式配置向上滑动?

如何将样式应用于组件中 div 内的按钮?

改变滑动删除按钮样式

如何将 MDL 按钮样式应用于文件选择器?

一旦按下滑动删除按钮,删除功能(提交编辑样式功能)会导致应用程序崩溃

vant weapp采坑记之SwipeCell 滑动单元格无样式、不生效