我遵循了本教程(http://mattbango.com/notebook/code/hover-zoom-effect-with-jquery-and-css/)并构建了一个我想在我的网站上使用的图像悬停插件。
我唯一的问题是我希望它能够起作用,根据我的960gs缩放图像。
这是我到目前为止的小提琴:http://jsfiddle.net/Ak94R/6/
.viewport {
float: left;
height: 360px;
margin: 0 9px 9px 0;
overflow: hidden;
position: relative;
width: 360px;
}
我没有将图像从730px / 730px缩小到360px / 360px,而是将其从200%缩小到100%。我还需要将主剪辑div(.viewport)的大小设置为100%。任何帮助将不胜感激!
答案 0 :(得分:1)
好的,我只花了几分钟时间来CSS only solution。是否需要相同的东西和JS。完全响应,因为它适用于百分比。 HTML看起来像这样:
<div class="viewport_css">
// I have to use a dummy image to force dimensions
<img class="dummy" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />
<a class="imgwrapper" href="#">
<img src="http://www.lorempixel.com/730/730/" alt="More Info" />
</a>
</div>
CSS部分:
.viewport_css {
position: relative;
max-width: 360px;
height: auto;
overflow: hidden;
}
// make sure viewport_css always is square shaped
.viewport_css .dummy {
width: 100%;
height: auto;
display: block;
}
.viewport_css a,
.viewport_css a:hover:before,
.viewport_css a:hover:after {
position: absolute;
left: 0;
right: 0;
}
.viewport_css a,
.viewport_css a:hover:after {
top: 0;
bottom: 0;
}
.viewport_css a:hover:after {
content: '';
display: block;
z-index: 100;
background-color: rgba(255, 0, 0, .5);
}
.viewport_css a:hover:before {
content: 'View';
color: #fff;
top: 50%;
text-align: center;
z-index: 200;
margin-top: -0.5em;
}
.viewport_css .imgwrapper {
width: 200%;
height: 200%;
margin-left: -50%;
margin-top: -50%;
transition: all 1s ease-in;
}
.viewport_css .imgwrapper img {
width: 100%;
height: auto;
display: block;
}
.viewport_css .imgwrapper:hover {
width: 100%;
height: 100%;
margin-left: 0;
margin-top: 0;
}
答案 1 :(得分:0)
我在每个断点处使用媒体查询更改了background-size: 70px 80px;
- 这解决了我的问题