【问题标题】:select second active slide in slickslider through css-selector通过 css-selector 在 slickslider 中选择第二张活动幻灯片
【发布时间】:2016-01-05 15:46:03
【问题描述】:

我正在使用光滑的滑块并显示 3 张幻灯片,我想在中间的幻灯片上添加特定的样式。通过使用 nth-of-type 但是当我添加 .slick-active:nth-of-type(2) 任何想法时它似乎失败了?

例如:

<div class="slickslider">
    <div class="slick-slide"></div>
    <div class="slick-slide"></div>
    <div class="slick-slide"></div>
    <div class="slick-slide slick-current slick-active"></div>
    <div class="slick-slide slick-active"></div>
    <div class="slick-slide slick-active"></div>
    <div class="slick-slide"></div>
    <div class="slick-slide"></div>
</div>



.slick-slide{
      background: blue;
      width: 20px;
      height: 20px;
      margin-bottom: 1px;
    }
    .slick-active{
      background: green;
      width: 20px;
      height: 20px;
    }
    .slick-active:nth-of-type(2){
      background: pink;
    }

https://jsfiddle.net/pixelatorz/73scpych/2/

【问题讨论】:

标签: css css-selectors


【解决方案1】:

你可以通过玩消除过程来做到这一点:

.slickslider .slick-active + .slick-active:nth-child(odd){
    background: pink !important;
}

demo

基本上,用+ 消除第一个,然后通过选择odd 孩子消除最后一个。或者第一个孩子也可以工作

编辑

如果您认为将来会有超过 3 个活动幻灯片,并且希望使其更加可靠,我建议您将活动幻灯片包装在 &lt;span&gt; 中,并将其归类为 active-slides 或类似的东西。然后。您将能够使用 nth-child 选择它们,而无需使用 .slickslider 作为父级。

【讨论】:

    【解决方案2】:

    这是一个愚蠢的解决方案,但有效:

    .slick-slide:nth-of-type(6){
      background: pink;
    }
    

    【讨论】:

    • 它有效,但我担心他只想通过活动幻灯片进行选择。我的猜测是,他可能会同时拥有不同数量的幻灯片,但只有 3 个活动幻灯片。 OP对此不是很清楚。你可能仍然是对的:)
    • 是的,只有我想选择的活动幻灯片,只要滑块循环播放,这些幻灯片就会不断变化
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    相关资源
    最近更新 更多