光滑滑块旋转木马与文本

时间:2017-05-12 13:33:51

标签: javascript jquery html css carousel

我使用Slick Slider创建了一个带箭头的简单图像轮播。但是我希望在每张图像上方显示不同的h2,就像在this网站上一样。

$(document).ready(function() {
  $('.top_slider').slick({
    dots: false,
    infinite: true,
    //              centerMode: true,
    slidesToShow: 1,
    slidesToScroll: 1,
    //              centerPadding: '220px',
    arrows: true,
    prevArrow: '<button type="button" data-role="none" class="slick-prev slick-arrow" aria-label="Previous" role="button" style="display: block;">Previous</button>',
    nextArrow: '<button type="button" data-role="none" class="slick-next slick-arrow" aria-label="Next" role="button" style="display: block;">Next</button>'

  });

});
h2 {
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 color: white;
 font-size: 46px;
 -webkit-transition: all 300ms ease;
 transition: all 300ms ease;
 text-transform: uppercase;
}
<section class="top_slider">
  <div>
    <img src="images/image1.jpg">
    <h2>text 1</h2>
  </div>
  <div>
    <img src="images/image2.jpg">
    <h2>text 2</h2>
  </div>
  <div>
    <img src="images/image3.jpg">
    <h2>text 3</h2>
  </div>
</section>

目前代码只是在第一张图片上将两个h2放在一起。

1 个答案:

答案 0 :(得分:4)

您遇到的问题是由于您的CSS,您为h2标签设置了绝对位置,但您没有将其父母设置为相对位置。

只需添加一个类&#34; slide&#34;这种风格:

.slide {
  position: relative;
}

并将该课程分配给您的所有幻灯片:

<div class="slide">
    <img src="https://unsplash.it/400/250">
    <h2>text 1</h2>
  </div>
  <div class="slide">
    <img src="http://placehold.it/400x250">
    <h2>text 2</h2>
  </div>

您可以看到working example here