我有一个元素:after伪元素。点击后,这将以平滑过渡旋转。
这是我的代码笔http://codepen.io/maxwbailey/pen/ABgJq - 这适用于Mac上的Chrome,Firefox和Opera,但不适用于Safari。
我的代码......
HTML
<div class="expand"></div>
CSS
.expand:after {
content:"";
display:block;
width:200px;
height:200px;
background-color:red;
cursor:pointer;
-webkit-transition: -webkit-transform 1s ease;
-moz-transition: -moz-transform 1s ease;
transition: transform 1s ease;
}
.expanded:after {
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
的jQuery
$('.expand').click(function(e) {
$(this).toggleClass('expanded');
});
想知道我做错了什么。
我在这个网站上看到它在Safari http://www.barrelny.com/blog/中正常工作(单击“按类别查看”下拉列表,看到箭头随着转换而旋转。我在这里意识到它们不使用伪选择器,但是有没有办法用伪类来做?因为它在其他浏览器中工作而不是Safari?
此外,这需要在:之后我给出的例子是问题的简化版本
答案 0 :(得分:5)
伪元素的转换是一种慢慢进入浏览器的修复方法。
我正在运行最新的safari beta:v6.1(8537.54.1) - 它对我来说很好。看起来你很快就会看到修复土地。
CSS-Tricks有一个帖子正在修复时更新:Transitions and Animations on CSS Generated Content
目前显示为不支持Safari 6.0.2及以下版本:Bug report