2017-06-30 6 views
-3

Ich muss ein großes Bild in ein kleineres div anzeigen und horizontal scrollen, um es anzuzeigen. Das äußere div sollte sich bis zur Viewport-Größe erstrecken (die je nach Gerät variieren kann), aber nicht mehr als diese.Zeigen Sie ein großes Bild, das in ein kleineres Ansichtsfenster scrollen kann

ich auf diese Weise versucht haben:

#outer-div { 
 
     max-width:300px; //just a guess, but I need the exact viewport size here 
 
     overflow:auto; \t 
 
    } 
 
    
 
    img { 
 
     position: absolute; 
 
     left: 50%; 
 
     -webkit-transform: translateX(-50%); 
 
    }
<div id="outer-div"> 
 
     <img name="slideImg" src="https://socrates.dyndns-server.com/meteosurf/previsioni/0000.GIF" border=0>' 
 
    </div>

ohne Glück ... Dies ist JSFiddle.

+0

Sie Ihre HTML auch hier enthalten sollte. Eine Geige wäre noch besser. – jmargolisvt

+0

Geben Sie in der Frage das erforderliche HTML ein, um das Problem zu replizieren. Sie können Ihre Frage bearbeiten und das Inline-Snippet-Tool verwenden, um ein ausführbares Snippet bereitzustellen. Ohne dies wird Ihre Frage wahrscheinlich abgelehnt oder geschlossen. @jmargolisvt Angenommen, "Geige" bedeutet JSFiddle - bitte schlagen Sie nicht vor, dass Benutzer ihre Beispiele mit externen Ressourcen bereitstellen. Der Code zum Replizieren des Problems muss in der Frage selbst ** enthalten sein. Dinge wie JSFiddle sollten wirklich nur als Ergänzung verwendet werden. – Santi

+2

@jmargolisvt Noch besser als eine Geige wäre es, hier einen Ausschnitt zu posten. Externe Links können im Laufe der Zeit verloren gehen. –

Antwort

1

Alles, was Sie tun müssen, ist die Größe des Bild-Container-Elements zu beschränken (ich nehme outer-div hier an) und dann den Überlauf dieses Containers festlegen.

Um die max-width auf die Darstellungsbreite festzulegen, verwenden: max-width:100vw;

$(function(){ 
 
    var imgWidth = document.querySelector("#outer-div img").width; 
 
    // Scroll the container 1/2 the width of the image 
 
    $("#outer-div").scrollLeft((imgWidth - $("#outer-div").width())/2); 
 
});
#outer-div { 
 
    max-width:100vw; /* No wider than 100% of the viewport width */ 
 
    overflow-X:scroll; /* show scroll bar for horizontal scrolling */ 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="outer-div"> 
 
    <img src="http://study.com/cimages/videopreview/types-of-weather-maps-imagesscreen_169365.png"> 
 
</div>

+0

Vielen Dank! Wie kann ich (standardmäßig) das Bild bei 50% horizontalem Scrollen anzeigen lassen? –

+0

@FabioMarzocca Meinst du, du willst das Bild nach rechts schieben 50% der Breite des Elternteils? –

+0

Nein, ich wollte das Bild horizontal im div (Ansichtsfenster) zentrieren –

Verwandte Themen