2016-08-30 2 views
2

I Owl Karussell 2 bin mit und haben benutzerdefinierte CSS hinzugefügt:: first-Kind und: last-Kind arbeiten nicht in Eule Karussell 2

$(document).ready(function() { 
 
    $("#owl-demo").owlCarousel({ 
 
    navigation: true, 
 
    pagination: true, 
 
    lazyLoad: true 
 
    }); 
 
});
#owl-demo .owl-item > div img { 
 
    display: block; 
 
    width: 100%; 
 
    height: auto; 
 
    -webkit-border-radius: 3px; 
 
    -moz-border-radius: 3px; 
 
    border-radius: 3px; 
 
    margin-bottom: 4px; 
 
} 
 
#owl-demo .owl-item > div { 
 
    padding: 0px 2px 
 
} 
 
#owl-demo .owl-item > div:first-child { 
 
    border: 6px solid #e1e1e1; 
 
}
<div id="owl-demo" class="owl-carousel"> 
 
    <div> 
 
    <img class='lazyOwl' data-src="http://placehold.it/200x200/42bdc2/FFFFFF&text=1st Row" alt="" /> 
 
    </div> 
 
    <div> 
 
    <img class='lazyOwl' data-src="http://placehold.it/200x200/42bdc2/FFFFFF&text=1st Row" alt="" /> 
 
    </div> 
 
    <div> 
 
    <img class='lazyOwl' data-src="http://placehold.it/200x200/42bdc2/FFFFFF&text=1st Row" alt="" /> 
 
    </div> 
 
</div> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
 
<script src="http://owlgraphic.com/owlcarousel/owl-carousel/owl.carousel.min.js"></script> 
 
<link href="http://owlgraphic.com/owlcarousel/owl-carousel/owl.carousel.css" rel="stylesheet" /> 
 
<link href="http://owlgraphic.com/owlcarousel/owl-carousel/owl.theme.css" rel="stylesheet" />

Das ist für mich gearbeitet, aber ich würde gerne :last-child OR :first-child verwenden, um einen CSS-Rahmen nur zum ersten oder letzten div hinzuzufügen. In Aktion funktioniert das nicht und zeigt stattdessen einen Rahmen für alle div s.

Wie kann ich das beheben?

DEMO here

+0

Während ich eine ziemlich gute Idee habe, was Sie erwarten und wie Sie es beheben können, könnten Sie bitte klären, wie genau das nicht funktioniert und welches Ergebnis Sie haben wollen, um mögliche Antworten zu stoppen, die das Problem nicht angehen. –

+1

@HiddenHobbes: true, ich bearbeite meine Q – NewCod3r

+0

können Sie dies überprüfen [Demo] (http://fiddle.jshell.net/8bJUc/815/) ist das, was erwartet wird? – guradio

Antwort

1

Ihre Logik ist etwas falsch, wenn :first-child verwenden. Das Targeting der div innerhalb .owl-item mit :first-child führt dazu, dass alle div s ausgewählt werden, da sie die ersten div innerhalb .owl-item sind.

Was Sie tun müssen, ist :first-child verwenden, um die erste Instanz von .owl-item dann Ziel die div innerhalb dieser zu finden.

Folgende Änderungen sind erforderlich:

  • ändern #owl-demo .owl-item > div:first-child zu #owl-demo .owl-item:first-child div

$(document).ready(function() { 
 
    $("#owl-demo").owlCarousel({ 
 
    navigation: true, 
 
    pagination: true, 
 
    lazyLoad: true 
 
    }); 
 
});
#owl-demo .owl-item > div img { 
 
    display: block; 
 
    width: 100%; 
 
    height: auto; 
 
    -webkit-border-radius: 3px; 
 
    -moz-border-radius: 3px; 
 
    border-radius: 3px; 
 
    margin-bottom: 4px; 
 
} 
 
#owl-demo .owl-item > div { 
 
    padding: 0px 2px 
 
} 
 
#owl-demo .owl-item:first-child div { 
 
    border: 6px solid #e1e1e1; 
 
}
<div id="owl-demo" class="owl-carousel"> 
 
    <div> 
 
    <img class='lazyOwl' data-src="http://placehold.it/200x200/42bdc2/FFFFFF&text=1st Row" alt="" /> 
 
    </div> 
 
    <div> 
 
    <img class='lazyOwl' data-src="http://placehold.it/200x200/42bdc2/FFFFFF&text=1st Row" alt="" /> 
 
    </div> 
 
    <div> 
 
    <img class='lazyOwl' data-src="http://placehold.it/200x200/42bdc2/FFFFFF&text=1st Row" alt="" /> 
 
    </div> 
 
</div> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
 
<script src="http://owlgraphic.com/owlcarousel/owl-carousel/owl.carousel.min.js"></script> 
 
<link href="http://owlgraphic.com/owlcarousel/owl-carousel/owl.carousel.css" rel="stylesheet"/> 
 
<link href="http://owlgraphic.com/owlcarousel/owl-carousel/owl.theme.css" rel="stylesheet"/>

http://fiddle.jshell.net/wkh1mx2e/

+0

Das funktionierte Aber wenn ich Mehr 'div' mit' Klasse' hinzufüge nicht funktioniert siehe Demo: http://fiddle.jshell.net/wkh1mx2e/1/ – NewCod3r

+0

@ NewCod3r Dies wird auch mit Klassen arbeiten, Sie müssen nur sicherstellen, dass Sie wenden Sie ': first-child' auf' .owl-item' an. Also '# owl-demo .owl-item.info: first-child' sollte' # owl-demo.owl-item: first-child.info' sein. Sie müssen das erste Kind von '.owl-wrapper 'finden, welches das' .owl-item' 'div' ist, und dann den Stil auf das' .info' 'div' hinein anwenden. http://fiddle.jshell.net/2s4LLoeo/ –

Verwandte Themen