【问题标题】:Container within slider breaks slider (Slick.js)滑块内的容器会中断滑块 (Slick.js)
【发布时间】:2015-09-23 02:49:54
【问题描述】:

我正在使用Slick Slider,一个非常通用的 JQuery 轮播插件。

但是,我想要实现的效果需要我在滑块中嵌套一个额外的元素。这个额外的元素最终会破坏滑块的功能。

这里是the page in question。注意我有一个模糊的after 伪元素阻塞了轮播的右侧(下图描述了当前的解决方法,而不是预期的效果)

我希望使用隐藏溢出的子元素在右侧部分覆盖包含所有轮播 <li>ul

所以它看起来像这样:

<ul class="slick-slider">
   <div class="container">
    <div class="slick-list">
        <div class="slick-track">
         <li class="slick-slide">carousel item content</li>
         <li class="slick-slide">carousel item content</li>
         ...
        </div>
    </div>
   </div>
</ul>

.container 会有类似的CSS

.container {overflow: hidden; display: block; width: 90%; border-right: 1px solid #fff;}

唯一的挑战是这会破坏轮播。 我已经尝试将溢出 CSS 应用到已经存在的 .slick-list 元素,但是当我这样做时,父元素会自动调整滑块中其他所有内容的大小。

关于如何让滑块忽略我想要嵌套的容器的任何想法?

编辑:这是我将溢出应用到父容器并自动调整大小的 gif(div.cardoverflow 在此示例中是 &lt;ul&gt; 的父级)。我还尝试通过将margin-left 添加到&lt;ul&gt; 来做到这一点,它仍然会自动调整大小。

【问题讨论】:

    标签: jquery slider carousel slick.js


    【解决方案1】:

    首先,您不能将div 元素作为ul 的直接子元素。 Can I use div as a direct child of UL?

    我不明白为什么你的容器不能在ul 之外,隐藏溢出?然后把箭头放在它们外面?

    <div class="mainContainer">
        <button class="slick-prev-arrow" />
            <div class="container">
                <ul class="slider">
                     <li>slide1</li>
                     <li>slide2</li>
                </ul>
            </div>
        <button class="slick-next-arrow" />
    </div>
    

    请注意,Slick 允许您根据需要选择箭头元素,因此您可以将它们放置在 HTML 中的任何位置,它们甚至不必是按钮(尽管这可能更便于访问)。

    $('ul.slider').slick({
        nextArrow:'.slick-next-arrow',
        prevArrow:'.slick-prev-arrow'
    });
    

    【讨论】:

    • 确实如此。但是在&lt;ul&gt; 之外添加一个元素也会自动调整整个滑块的大小。我会将这张图片添加到我的原始帖子中。
    • 添加 .gif 以更好地说明我所指的自动调整大小。
    • 我使用负边距实现了您所需要的,如此处所示:jsfiddle.net/vyf2fuwd/2 请注意,我将您的元素转换为 DIV,因为显然 Slick 并不真正支持列表元素,而不是在保持正确语法的同时。 github.com/kenwheeler/slick/issues/926如果这对你有用,我会更新我的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多