2017-02-23 14 views
2

Ich versuche, ein Karussell, das als Hintergrundbild Abdeckung für meine Website Art von wie revolutionäre Slider in WordPress, aber kein Plugin fungiert. Ich baue es nur für meine statische Website. Das Problem ist, dass einige meiner Bilder unterschiedliche Höhe und Breite haben, so dass sich das Karussell nicht richtig anpasst. zum Beispiel img nein. 1 ist 2048 * 3072 px 2nd ist 3072 * 2048 px und so weiter. Ich möchte mein Karussell Höhe und Breite zu 100% wie ein Titelbild machen. wenn ich min-width und height auf 100% bzw. 100vh setze, werden die Bilder von unten abgeschnitten. irgendeine Hilfe? Hier ist mein CodeWie Bilder im Bootstrap-Karussell zu verkleinern

<!--carousel--> 
<div id="myCarousel" class="carousel slide" data-ride="carousel"> 
<!-- Indicators --> 
    <ol class="carousel-indicators"> 
    <li data-target="#myCarousel" data-slide-to="0" class="active"></li> 
    <li data-target="#myCarousel" data-slide-to="1"></li> 
    <li data-target="#myCarousel" data-slide-to="2"></li> 
    <li data-target="#myCarousel" data-slide-to="3"></li> 
    </ol> 

    <!-- Wrapper for slides --> 
    <div class="carousel-inner" role="listbox"> 
    <div class="item active"> 
    <img class ="fill"src="img/msp_0409_3522.jpg" alt="Chania"> 
    </div> 

    <div class="item"> 
     <img class ="fill" src="img/msp_0406_1786.jpg" alt="Chania"> 
    </div> 

    <div class="item"> 
     <img class ="fill" src="img/msp_1608_9566.jpg" alt="Flower"> 
    </div> 

    <div class="item"> 
    <img class ="fill" src="img/msp_1605_6918.jpg" alt="Flower"> 
    </div> 
    </div> 

    <!-- Left and right controls --> 
    <a class="left carousel-control" href="#myCarousel" role="button" data-         slide="prev"> 
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> 
    <span class="sr-only">Previous</span> 
    </a> 
    <a class="right carousel-control" href="#myCarousel" role="button" data- slide="next"> 
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"> </span> 
    <span class="sr-only">Next</span> 
    </a> 
    </div> 

css

html,body{ 
    height:100%; 
    } 
    .carousel,.item,.active{ 
height:100%; 
    } 
.carousel-inner{ 
height:100%; 
} 
.fill{ 
    width:100%; 
    height:100%; 
    background-position:center 
    ;background-size:cover; 
    } 
+0

'height' für Körper sollte in Pixel sein und dann können Sie 'height: 100%' verwenden. Weil es eine Bezugshöhe für "Höhe: 100%" benötigt, um richtig zu funktionieren. –

+1

@Tumen_t nicht wirklich. 'height: 100%;' benötigt keinen Pixelwert, von dem er erben kann, obwohl es eine Höhe für sein Elternelement (die von jeder Einheit sein kann) festgelegt wird, so dass es herausfinden kann, was 100% eines bestimmten ist Höhe. Das OP hat 'height: 100%;' set auf 'html' _and_' body'. Dies bewirkt, dass "body" von "html" erbt, von dem "html" vom Ansichtsfenster erbt. Bitte beachten Sie [dieses Arbeitsbeispiel] (https://jsfiddle.net/ymern7h3/). – hungerstar

Antwort

0

In Ihrem Code sieht es aus wie .carousel-inner>.item>img Ihre Füllung Klasse überschreiben wird. Um die Bootstrap-Eigenschaft zu überschreiben, fügen Sie ein! Wichtig für Ihre Klasse hinzu.

.fill { 
    width: 100%; 
    height: 100% !important; 
} 

Sie auch nicht brauchen die background-position oder background-size, da sie nur Stil Hintergrundbilder

Code Pen link

+0

Ich habe das versucht und das Bild wurde nicht von unten abgeschnitten, aber die Breite bleibt nicht 100%. die Höhe funktioniert gut. keine Ahnung warum –

0

für Hintergrundbild, können Sie verwenden:

background-image: url("image.jpg"); 
background-attachment: fixed; 
background-position: center; 
background-repeat: no-repeat; 
background-size: cover; 
Verwandte Themen