【问题标题】:How to override Unslider's arrows styling?如何覆盖 Unslider 的箭头样式?
【发布时间】:2016-05-27 09:28:21
【问题描述】:

我在我正在开发的网站上使用多个 Unslider 实例,其中一个需要有导航箭头。我添加了箭头,但现在我无法设置它们的样式,它们似乎无法通过 CSS 访问。也没有!important; 规则起作用。

这是我的html:

<div class="unslider">
    <div class="slider">
       <ul>
          <li>
             <!-- slide content -->
          </li>
          <li>
             <!-- slide content -->
          </li>
       </ul>
    </div>
</div>

这是我的 SCSS(基于插件本身生成的标记):

.unslider {
    .slider {
        // slide styling
    }
    .unslider-arrow {
        background: tomato !important;
    }
}

还有我的初始化:

$('.slider').unslider({
   autoplay: true, delay: 7000,
   arrows: true,
   nav: false,
})

这是Fiddle.


注意:所有示例都只是空白代码,为了帮助更好更快地理解,已经缩小了大小。

无论我做什么,我的 SCSS(CSS) 都无法到达箭头。

解决方案: 正如 Marcos 在他的回答中所描述的,您应该非常小心您的 CSS 层次结构。如果您要添加自定义容器,unslider 可能会稍微混淆您的选择器。

【问题讨论】:

    标签: jquery html css unslider


    【解决方案1】:

    箭头不是.slider 的子元素。容器。

    要实现您想要的,SCSS 层次结构应该如下所示:

    .unslider {
            .unslider-arrow {
                background: tomato ;
            }
    }
    

    您的原始代码似乎添加了您不需要的 .slider 父级。

    工作小提琴: https://jsfiddle.net/cq5p2g1e/2/

    【讨论】:

    • 我刚刚对我的 SCSS 进行了编辑,这就是现在的样子,但它在本地仍然不适合我。
    • 看到箭头不是.slider 的子级。如果在您的本地主机中不起作用,您需要共享正确的代码或共享重现问题的工作示例。
    • 那么,你在吗?
    • 抱歉,我得离开一个小时。我刚回来,对缓存进行了全面刷新(之前也这样做过,但是..),瞧——按钮变成了番茄色。这真的很奇怪,我开始认为它与 Mozilla Firefox 开发者版有关。我之前也遇到过其他一些不寻常的问题。无论如何,谢谢!
    • 我不知道火狐开发者版是什么,但是在启用开发者工具时尝试检查“禁用缓存”。或者安装 Chris Prederick (addons.mozilla.org/es/firefox/addon/web-developer) 的“Webdeveloper Toolbar”插件,它可以让你禁用整个缓存。
    猜你喜欢
    • 1970-01-01
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2015-06-22
    相关资源
    最近更新 更多