I have a problem with Safari/Chrome. On these browsers ( on hover ) my rounded corners make a square and then go back to be rounded.Here is the code
CSS
div.img-cont {
float:left;
position:relative;
margin:10px 20px 0 0px;
width:180px;
height:160px;
border:0px solid #FFF;
overflow:hidden !important;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-ms-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
}
div.img-zoom {
float:left;
position:relative;
margin:-20px 0 0 -20px;
width:220px;
height:200px;
background-position:center center !important;
-webkit-transition: all 0.25s ease-in-out;
-moz-transition: all 0.25s ease-in-out;
-ms-transition: all 0.25s ease-in-out;
-o-transition: all 0.25s ease-in-out;
transition: all 0.25s ease-in-out;
}
.transition {
-webkit-transform: scale(0.93,0.93);
-moz-transform: scale(0.93,0.93);
-ms-transform: scale(0.93,0.93);
-o-transform: scale(0.93,0.93);
transform: scale(0.93,0.93);
}
.f_border{
-webkit-border-radius:5px;
-moz-border-radius:5px;
-ms-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
}
HTML
<div class="Box_1x1_front" style="height:180px; background:#eaeaea; ">
<a class="leftAllPlace" rel="thumb" title="" href="http://bonavestis.pl/image/cache/data/Produkty/Sukienki/Sukienka%20JUST%20UNIQUE%20Bandażowa%20W%20Beżu%20+Złoto/Image001-885x885.jpg">
<div class="img-cont f_border">
<div class="img-zoom img_2">
<div style="float:left; width:100%; height:100%; background-image:url('http://bonavestis.pl/image/cache/data/Produkty/Sukienki/Sukienka%20JUST%20UNIQUE%20Bandażowa%20W%20Beżu%20+Złoto/Image001-372x372.jpg');"></div>
</div>
</div>
</a>
</div>
JAVASCRIPT HERE
<script>
$(document).ready(function(){
$('.img_2').hover(function() {
$(this).addClass('transition');
}, function() {
$(this).removeClass('transition');
});
});
</script>
Its like zoom out div with background-image inside div with rounded corners Any ideas how to fix this...
[1]: http://jsfiddle.net/Lqfmdah5/6/
1)
As @Squideyes mentioned there is an only-CSS approach how to add a transition.
Just add CSS selector:
.img_2:hover {
}
instead of .transition
2)
Also I recommend using <img>
instead of background-images
of <div>
in your case because from my point of view image here is a content-part element and assumes using <img>
.
More info: IMG vs background-image
3)
And about the scale
problem in Chrome. Seems that there is a glitch with transition
and border-radious
in Webkit. Try to change width
and height
instead as a workaround.
Check out https://jsfiddle.net/Lqfmdah5/7/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With