我正在使用FontAwesome 3.1.0,这个简单的代码无法正常工作:
<a href="/">
<!-- other html content -->
<i class="icon-spinner icon-spin"></i>
</a>
只需将a
代码更改为div
,即可生效。
如何让CSS3动画有效?或者这不可能吗?我宁愿不将其更改为div
并通过JS建立类似链接的行为。
更新
上面的代码实际上有效,就像在jsfiddle上一样。但它在我的页面上不起作用。必定存在一些我无法弄清楚的潜在冲突。
示例:http://www.iroquote.com/games/Udws8uZWCgAH6vfM/gta-5-gameplay-video-released
尝试编辑a.post-agree-amount:first
,其中有<i class="icon-thumbs-up"></i>
。当我将其更改为<i class="icon-spinner icon-spin"></i>
时,它不会生成动画。如果使用浏览器代码检查器在DOM周围移动此<a>
,它仍然不会设置动画。但是,一旦我将<a>
更改为<div>
,它就会动画。
我正在使用Google Chrome 28.0,但在Firefox 22.0中也看到了这种行为。
答案 0 :(得分:15)
发现问题和解决方案。
CSS3动画显然不适用于display: inline
元素,而Bootstrap的css有一条规则使<i>
图标元素具有display: inline
。除了<i>
图标元素 a.btn
之外,Bootstrap的css有一条规则可以将display: inline-block
应用于它们。
所以我们需要做的就是将display: inline-block
应用于链接中的i.icon-spinner.icon-spin
。
(感谢Praveen提供有用的评论)
答案 1 :(得分:0)
您的代码有效,fiddle。但是您应该在<i>
标记之外添加图标标记anchor
,否则它会超链接。
改变你的喜欢
<i class="icon-spinner icon-spin"></i>
<a href="http://google.com">Google</a>