旋转伪元素,转换在Safari中不起作用

时间:2013-08-18 15:29:46

标签: css pseudo-class

我有一个元素: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?

此外,这需要在:之后我给出的例子是问题的简化版本

1 个答案:

答案 0 :(得分:5)

伪元素的转换是一种慢慢进入浏览器的修复方法。

我正在运行最新的safari beta:v6.1(8537.54.1) - 它对我来说很好。看起来你很快就会看到修复土地。

CSS-Tricks有一个帖子正在修复时更新:Transitions and Animations on CSS Generated Content

目前显示为不支持Safari 6.0.2及以下版本:Bug report