Dans mon projet, j'utilise un plugin slick slider ( http://kenwheeler.github.io/slick/ ). Je me demandais s'il était possible de repositionner des points lisses. Par défaut, ils sont affichés sous le conteneur div pour lequel le curseur lisse est appliqué. Ce que je veux réaliser ici est de mettre des points lisses à l’intérieur des blocs coulissants. Je n’ai eu aucun problème à y parvenir avec des flèches, car je peux y faire référence avec des noms de classes personnalisés.
Mon code HTML ressemble à ceci:
<div class="slider-fade">
<div>
<div class="text-box">
<h2>Lorem ipsum</h2>
...additional text
</div>
</div>
<div>
<div class="text-box">
<h2>Lorem ipsum</h2>
...additional text
</div>
</div>
<div>
<div class="text-box">
<h2>Lorem ipsum</h2>
...additional text
</div>
</div>
</div>
Mes paramètres JS ressemblent à ceci:
$('.slider-fade').slick({
autoplay: true,
autoplaySpeed: 3000,
infinite: true,
speed: 500,
fade: true,
cssEase: 'linear',
prevArrow: $('.prev'),
nextArrow: $('.next'),
dots: true
});
Donc, comme je l’ai mentionné maintenant, des points sont affichés sous la classe slider-fade
entière, mais je souhaite l’obtenir, par exemple, sous la classe text-box
. Est-ce réalisable?
Représentation visuelle: http://i.stack.imgur.com/jmocB.png
Le but est d'obtenir des points sous les flèches à l'intérieur du bloc.
Slick génère les points lisses à l’intérieur d’un div avec la classe .slick-dots
. Cette classe a une position absolue. Donc, le moyen le plus simple d’atteindre ce que vous voulez est d’ajouter du style à cette div:
.slick-dots {
top: 100px; // play with the number of pixels to position it as you want
left: 100px; // play with the number of pixels to position it as you want
}
Vous pouvez utiliser "appendDots: $ (Element)" dans les paramètres Slick. Il ajoutera les points à cet élément. Vous pouvez placer cet élément n'importe où en utilisant du CSS normal. Si vous le souhaitez sur la diapositive, vous pouvez utiliser le positionnement absolu ou relatif sur l'élément.
Vous pouvez aussi simplement utiliser un overflow: hidden
sur le wrapper (slider-fade dans cet exemple). De cette façon, ça va envelopper les points.