如何设置prev / next箭头按钮的样式?

时间:2014-12-10 14:27:53

标签: javascript jquery html css html5

  

目标

我一直在尝试修改slick.css以适应我网站中需要的风格。 我从here获得slick.css

立即

  • 我想让箭头(左+右)更大
  • 对于图标,我想使用周围没有circle-border的图标。
  • 我喜欢fa-chevron-rightfa-chevron-left

  

我尝试了什么?

slick.css

的一部分
.slick-prev, .slick-next { position: absolute; display: block; height: 200px; width: 50px; line-height: 0; font-size: 0; cursor: pointer; background: transparent; color: transparent; top: 50%; margin-top: -10px; padding: 0; border: none; outline: none; }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { outline: none; background: transparent; color: transparent; }
.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; }
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: 0.25; }

.slick-prev:before, .slick-next:before { font-family: "slick"; font-size: 20px; line-height: 1; color: red; opacity: 0.75; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }



.slick-prev { left: -10px; top: 70px;  }
[dir="rtl"] .slick-prev { left: auto; right: -10px; top: 70px; }
.slick-prev:before { content: "←"; }
[dir="rtl"] .slick-prev:before { content: "→"; }

.slick-next { right: -10px; top: 70px; }
[dir="rtl"] .slick-next { left: -10px; top: 70px; right: auto; }
.slick-next:before { content: "→"; }
[dir="rtl"] .slick-next:before { content: "←"; }

HTML

<div class="row slick ">
// just a bunch of lists in here
</div>

详细照片

这就是我现在所拥有的。

enter image description here

这就是我想要的。

enter image description here


  

问题

  • 有人可以帮我解决这个问题吗?

    我非常感谢您的考虑和时间。 :)

4 个答案:

答案 0 :(得分:25)

基本的东西是它按内容属性生成箭头:

&#13;
&#13;
.slick-prev:before, .slick-next:before { font-family: "slick"; font-size: 40px; line-height: 1; color: red; opacity: 0.75; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }   

.slick-prev:before { content: "‹"; }
[dir="rtl"] .slick-prev:before { content: "›"; }

[dir="rtl"] .slick-next { left: -10px; top: 70px; right: auto; }
.slick-next:before { content: "›"; }
[dir="rtl"] .slick-next:before { content: "‹"; }
&#13;
&#13;
&#13;

替换这些类,之后只需使用边距和位置属性来调整箭头,如果这没有解决问题,请发送http://jsfiddle.net/链接,我将向您发送完整的解决方案。

如果想使用Font Awesome

&#13;
&#13;
.slick-prev:before, .slick-next:before { font-family: FontAwesome; font-size: 40px; line-height: 1; color: red; opacity: 0.75; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }   

.slick-prev:before { content: "\f053"; }
[dir="rtl"] .slick-prev:before { content: "\f054"; }

[dir="rtl"] .slick-next { left: -10px; top: 70px; right: auto; }
.slick-next:before { content: "\f054"; }
[dir="rtl"] .slick-next:before { content: "\f053"; }
&#13;
&#13;
&#13;

有关字体图标的列表,请访问http://astronautweb.co/snippet/font-awesome/ 以及如何实现字体访问此线程 Use font awesome icon as css content

答案 1 :(得分:3)

&#13;
&#13;
.slick-prev::before {
    font-family: FontAwesome;
    content: "\f0d9";
    font-size: 22px;
}  
.slick-next::before {
    font-family: FontAwesome;
    content:  "\f0da";
    font-size: 22px;        
}      
&#13;
<link href="http://fontawesome.io/assets/font-awesome/css/font-awesome.css" rel="stylesheet"/>

<button type="button" class="slick-prev "></button>

<button type="button" class="slick-next "></button>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

如果你正在使用sass,你可以设置光滑提供的sass变量。

参考:Add custom buttons on Slick Carousel

答案 3 :(得分:0)

<script type="text/javascript">
$(document).ready(function(){
    $('.responsive_com2').slick({
        arrows: false,
        dots:true,
        infinite: true,
        speed: 300,
        slidesToShow: 1,
        slidesToScroll: 1,
        slidesPerRow: 1,
        rows: 1,
    });

    $('.left_news').click(function(){
        $('.responsive_com2').slick('slickPrev');
    })

    $('.right_news').click(function(){
        $('.responsive_com2').slick('slickNext');
    })

});
</script>