首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现,或者HTML5 / CSS3是否支持图标挤压效果?

如何实现,或者HTML5 / CSS3是否支持图标挤压效果?
EN

Stack Overflow用户
提问于 2014-11-14 23:43:12
回答 4查看 344关注 0票数 2

我在当前的Google Chrome38.0.x上查看网页http://www.cuttherope.net时,看到页面中间有4个图标。当鼠标移到它上面时,它就会产生一种图标挤压效果:就好像这个图标是用手挤在一边的布丁或果冻,然后又弹回原来的大小。

我想知道它是如何完成的:是由HTML5 / CSS3完成的,还是其他方式完成的。我看到了这个div

代码语言:javascript
复制
<div class="game-icon resize"></div>

如果我使用developer tool在它上面设置display: none,那么图标将消失,没有显示,所以这应该是显示效果的div,但如果我检查计算的值,我确实看到一个图标作为背景,但当鼠标放在它上面或离开它时,所有计算的值都不会改变。这是如何实现的,它是HTML5 /css3新特性的一部分吗?

(如果我禁用JavaScript并重新加载页面,效果仍然有效,因此显然这不是由JavaScript完成的)。

EN

回答 4

Stack Overflow用户

发布于 2014-11-14 23:53:52

是的,这是CSS3功能的一部分(主要是transform )

如果您希望在不必手动编写代码的情况下获得类似的效果,可以查看以下内容:http://daneden.github.io/animate.css/

只需向元素添加两个类,就可以轻松地为元素添加动画效果。

票数 1
EN

Stack Overflow用户

发布于 2014-11-14 23:56:54

找到了!是的,它是CSS3,特别是[-webkit-]animation: resize 0.2s linear;属性。禁用那个,效果就会停止。

票数 1
EN

Stack Overflow用户

发布于 2014-11-15 00:35:54

我猜大概是这样的:

代码语言:javascript
复制
img:hover {
    -webkit-animation: squeeze 0.5s;
    animation: squeeze 0.5s;
}

@-webkit-keyframes squeeze{
  0%   { transform: scale(1, 1); }
  50%  { transform: scale(1.1, 0.9); }
  100% { transform: scale(1, 1); }
}

@keyframes squeeze{
  0%   { transform: scale(1, 1); }
  50%  { transform: scale(1.1, 0.9); }
  100% { transform: scale(1, 1); }
}
代码语言:javascript
复制
<img src="http://placehold.it/100x100">

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26933647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档