Glattes Karussell – Zwingen Sie die Rutschen dazu, dieselbe Höhe zu haben
Lesezeit: 5 Minuten
JJaun
Ich habe Probleme mit dem Slick-Karussell-JS-Plugin mit mehreren SlidesToShow die unterschiedliche Höhen haben.
Ich brauche die Slides um die zu haben selbe Größeaber mit CSS Flex-Box funktioniert es nicht, da die Folien widersprüchliche CSS-Definitionen haben.
Auch in den Foren und im Internet habe ich nichts brauchbares gefunden.
HTML
<div class="slider">
<div class="slide">
<p>Lorem ipsum.</p>
</div>
<div class="slide">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua</p>
</div>
<div class="slide">
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
</div>
<div class="slide">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr.</p>
</div>
</div>
Groß! Dieser Code funktioniert wie ein Zauber mit der neuen Version (1.9.0).
– Reza Mamun
8. November 2018 um 15:01 Uhr
Funktioniert super. Ich habe einige zusätzliche Flex-Deklarationen für die 2D-Zentrierung von Bildern unterschiedlicher Größe hinzugefügt: .slick-track { display: flex !important; } .slick-slide { height: inherit !important; display: flex !important; justify-content: center; align-items: center; }
– Stuart Cusack
23. April 2019 um 15:25 Uhr
Dies ist eine viel einfachere Lösung. musste ich auch hinzufügen .slick-slide > div { height: 100%; } um das automatisch generierte div-Element zu berücksichtigen.
– Lukas
2. Juni 2019 um 8:30 Uhr
Das braucht jeder. +1
– Nandesh
24. September 2019 um 17:23 Uhr
In meinem Fall gab es zwei mehr divs zwischen den track und slide Klasse div. Damit es funktioniert, habe ich eingestellt height: 100% auch für sie, ähnlich wie @Luke sagte 🙂
– João Vitor Veronese Vieira
2. Juni 2021 um 20:26 Uhr
Ok Leute, ich habe eine einfache Lösung gefunden. Fügen Sie einfach ein hinzu Position setzen Callback-Funktion (feuert nach Positions-/Größenänderungen), die die Höhe der Folien auf die Höhe des Schiebereglers (slideTrack) setzt:
Ich habe ein ähnliches Problem mit einem Karussell. Ich habe versucht, die anzuwenden setPosition Fix an meinem Skript, aber es bricht es einfach. Kannst du sehen, wo ich falsch liege? codepen.io/moy/pen/KBZbZL
– Benutzer1406440
30. Juli 2018 um 21:58 Uhr
Sie sollten diese Antwort aktualisieren, um zuerst die $slides-Höhe auf “auto” zu setzen. Andernfalls werden Ihre Höhenmessungen beim Ändern der Größe ungenau, da Ihre $slideTrack-Höhe deaktiviert ist, da die untergeordneten $slides eine feste Pixelhöhe haben.
– jdbosley
4. Oktober 2018 um 18:13 Uhr
Sie sollten die zu verwendende Antwort aktualisieren slick.$slideTrack.find('.slick-slide') da geklonte Elemente beim Übergang nicht dieselbe Höhe haben.
– minar
6. Dezember 2018 um 10:40 Uhr
Die js-Lösung von @JJaun ist nicht perfekt, da man die Höhe springen sieht, wenn man ein Hintergrundbild für die Slides verwendet. Das hat bei mir funktioniert:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
<div class="slider">
<div class="slide">
<p>Lorem ipsum.</p>
</div>
<div class="slide">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua</p>
</div>
<div class="slide">
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
</div>
<div class="slide">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr.</p>
</div>
</div>
Jazz Macedo
Für zukünftige Suchen:
Sie können einfach verwenden:
$('.slick').slick({
/* your config */
}).on('setPosition', function (event, slick) {
slick.$slides.css('height', slick.$slideTrack.height() + 'px');
});
10913600cookie-checkGlattes Karussell – Zwingen Sie die Rutschen dazu, dieselbe Höhe zu habenyes
Die als richtig markierte Lösung funktioniert nicht, wenn die Option „unendlich“ auf „true“ gesetzt ist.
– Peky27
23. Juni 2019 um 20:39 Uhr