我想模仿本网站的一些内容 - http://worldwildlife.org/species
当我将鼠标悬停在动物照片上时,它会变得非常酷。这只是一个普通的HOVER还是更多的东西?不知怎的,它看起来有点花哨和动画给我,所以我想知道它是一个jQuery效果而不是。无论如何,一个比另一个好吗?对不起,如果问题很愚蠢,就这部分了解不多。
制作移动版时,处理悬停类型效果的最佳方法是什么?
非常感谢!
答案 0 :(得分:1)
这可以仅使用CSS来完成,或者您可以使用jQuery来获得更多花哨的效果。但CSS转换和动画非常好,并且可以完成很多,而不需要javascript。
答案 1 :(得分:1)
正如凯尔所说,有很多方法可以完成这项任务。最简单(也是最符合浏览器)的方式可能是做一个简单的jQuery悬停效果 - 当图像悬停在上面时,另一个图像出现并在其上方淡入淡出。当然,第二个图像很可能是透明的PNG,这使得它看起来像是原始图像变形。
jQuery中有很多这样的实现 - 快速谷歌搜索产生了几个结果。以下是一些SO帖子,例如:
糟糕,我发布了交换链接,而不是叠加。叠加层也很简单,这里有一个链接:
JQuery mouseover image overlay
This StackOverflow answer使用CSS3而不是jQuery。但是,正如评论者指出的那样,根据您的要求,这可能不适用于您需要支持的浏览器。
关于您的第二个问题,关于移动环境 - 我建议您忽略网站的任何移动版本的悬停效果。这样,您就专注于提供内容,这比移动设备上的UI效果更重要。如果你想仍然有一些效果,你可以检测到iOS / Android / WP8 / etc用户代理,并将悬停效果改为图像链接的a:active
效果。
答案 2 :(得分:0)
正如其他人所指出的,jQuery
可以用来达到你想要达到的目的。
如果您正在寻找仅CSS解决方案
没有键入任何JavaScript,但费用
不包括对旧浏览器的支持,这是一个解决方案:
http://jsfiddle.net/JtKR5/5/
#img-holder{
position:relative;
display:inline-block;
}
#img-holder:hover:after {
font-family:verdana;
content:"Overlay Content";
color:white;
background-color:rgba(0,0,0,0.5);
top:0;
left:0;
position:absolute;
box-sizing:border-box;
padding-top:150px;
text-align:center;
width:100%;
height:100%;
-webkit-animation:trans 300ms;
transition:trans 300ms;
}
@-webkit-keyframes trans {
from { opacity:0}
to {opacity: 1}
}
@keyframes trans {
from { opacity:0}
to {opacity: 1}
}
回答关于移动设备使用的第二个问题 这些转换是基于悬停的,您有几个选项: