2017-01-03 1 views
0

Ich versuche, einen Hover Zoom-Effekt mit mehreren Bildern zu machen:Hoover Zoom-Effekt mit mehreren Bildern und halte Bild Dimension

  • Bilder auf der Seite zentriert sind
  • Dimensionen zu halten, während in
  • Bild zoomen Breite eingestellt ist inline bei img-Tag

Hier ist, was ich bisher versucht:

.img-zoom { 
 
display: inline-block; 
 
width: 100%; 
 
height: 100%; 
 
position: relative; 
 
overflow: hidden; 
 
} 
 
.img-zoom img { 
 
-webkit-transform: scale(1.04); 
 
-ms-transform: scale(1.04); 
 
transform: scale(1.04); 
 
-webkit-transition: 0.4s ease; 
 
transition: 0.4s ease; 
 
margin: 0px 20px; 
 
} 
 
.img-zoom img:hover { 
 
-webkit-transform: scale(1.21); 
 
-ms-transform: scale(1.21); 
 
transform: scale(1.21); 
 
}
<div style="text-align: center;padding: 5px;"> 
 
    <div class="img-zoom"> 
 
     <img src="http://lorempixel.com/600/210" width="300" /> 
 
     <img src="http://lorempixel.com/600/210" width="300"/> 
 
    </div> 
 
</div>

... aber die Bilder erstrecken sich auf Maus schweben.

+1

Was meinst du mit "... aber die Bilder auf Maus schweben erweitern."? Kannst du es ausarbeiten? –

+0

Warum legen Sie Ihre Bilder nicht in divs mit fester Größe? –

+0

Ich versuche diesen Effekt zu erreichen: https://www.philowen.co/blog/image-zoom-hover-pure-css/ - aber mit mehreren Bildern in einem DIV. – Adrian

Antwort

1

Es klingt, als ob die Bilder vergrößert werden sollen, ohne dass sich ihre Breite/Höhe ändert. Ich habe Ihren HTML-Code etwas modifiziert und den Inline-Parameter width auf das Element .img-zoom gesetzt. Ich denke, das schafft, was Sie brauchen.

.img-zoom { 
 
    display: inline-block; 
 
    position: relative; 
 
    overflow: hidden; 
 
} 
 
.img-zoom img { 
 
    display: block; 
 
    width: 100%; 
 
    transition: 0.4s ease; 
 
    transform-origin: 50% 50%; /* center zoom */ 
 
} 
 
.img-zoom img:hover { 
 
    transform: scale(1.21); 
 
}
<div style="padding: 5px; text-align: center;"> 
 
    <div class="img-zoom" style="width: 300px;"> 
 
    <img src="http://lorempixel.com/600/210" /> 
 
    </div> 
 
    <div class="img-zoom" style="width: 300px;"> 
 
    <img src="http://lorempixel.com/600/210"/> 
 
    </div> 
 
</div>

+1

Dies funktioniert einwandfrei, es sei denn, die Bilder sind nicht nebeneinander. Ich habe deinen Code bearbeitet, ich hoffe, ich habe es richtig gemacht, lass mich wissen, was du denkst. – Adrian

+1

@Adrian Danke! Mein schlechter Gedanke, du wolltest die Bilder von oben nach unten gestapelt haben; Ich habe deinen Schnipsel nur in dem winzigen Fenster gesehen, in dem sie so lagen und angenommen, dass es das ist, was du wolltest. –

Verwandte Themen