Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 将字体堆栈设置为悬停时旋转图标的动画_Css_Css Animations_Font Awesome - Fatal编程技术网

Css 将字体堆栈设置为悬停时旋转图标的动画

Css 将字体堆栈设置为悬停时旋转图标的动画,css,css-animations,font-awesome,Css,Css Animations,Font Awesome,我有一个简单的字体图标堆栈: <span class="icon-stack"> <i class="icon-circle icon-stack-base"></i> <i class="icon-flag icon-light"></i> </span> 我正试图想出一种方法来制作悬停图标的动画,只使用css。我试图达到的效果类似于此处的“社会共享”图像: . (抱歉,您需要滚动,因为没有锚) 这个网站在p

我有一个简单的字体图标堆栈:

<span class="icon-stack">
  <i class="icon-circle icon-stack-base"></i>
  <i class="icon-flag icon-light"></i>
</span>

我正试图想出一种方法来制作悬停图标的动画,只使用css。我试图达到的效果类似于此处的“社会共享”图像: . (抱歉,您需要滚动,因为没有锚)

这个网站在png图像上使用了偏移量,但我想尝试一下字体真棒和一些CSS3。有什么想法吗

编辑


尝试在此处实现(失败!):

基本上,在
图标堆栈上有一个固定的高度/宽度。在两个子元素上具有完全相同的高度。这将导致子元素在彼此下方浮动。从那以后,只需在悬停状态下设置动画即可。我在悬停时使用了负上边距使其向上“滚动”。负上边距必须等于子元素的高度。最重要的是,我只是使用CSS转换来设置动画


切换
溢出:隐藏以查看它如何更好地工作。

基本上,在
图标堆栈上有一个固定的高度/宽度。在两个子元素上具有完全相同的高度。这将导致子元素在彼此下方浮动。从那以后,只需在悬停状态下设置动画即可。我在悬停时使用了负上边距使其向上“滚动”。负上边距必须等于子元素的高度。最重要的是,我只是使用CSS转换来设置动画


切换
溢出:隐藏打开/关闭,看看它是如何更好地工作的。

也许这就是您要寻找的


也许这就是你要找的


你试过实现什么吗?你试过实现什么吗?我很难将其应用到字体堆栈中,你能看出我做错了什么吗?@RobM我在codepen上写的CSS语法更少,我不相信bootply支持更少的编译。您可以通过单击CSS框的标题(其中显示CSS(更少))从codepen复制原始CSS。复制它,再试一次。@RobM我修复了一个框:从那以后,你可能会发现它。我很难将它应用到字体很棒的堆栈中;,你能看到我做错了什么吗?@RobM我在codepen上写的CSS语法更少,我不相信bootply支持更少的编译。你可以通过点击CSS框的标题(上面写着CSS(更少)。复制它,再试一次。@RobM我修复了一个框:你可能可以从那里找到它。
<span class="icon-stack">
<i class="icon-circle icon-stack-base"></i>
<i class="icon-flag icon-light first"></i>
<i class="icon-flag icon-light second"></i>
</span>
span {
    font-size: 50px;
    color: #fff;
}
.icon-stack-base {
    color: white;
}
.icon-light {
    color: black;
}
.icon-stack, .icon-stack-base, .icon-flag {
    -webkit-transition: all 0.2s ease 0s;
    -moz-transition: all 0.2s ease 0s;
    -o-transition: all 0.2s ease 0s;
    transition: all 0.2s ease 0s;
    overflow: hidden;
}
i {
    height: 60px;
    width: 60px;
}
.icon-stack:hover {
    color: black;
    cursor: pointer;
}
.icon-stack:hover .icon-stack-base {
    color: #5b9a68;
}
.icon-stack:hover .first {
    margin-top: -80px;
}
.icon-stack:hover .second {
    color: white;
}