我在 :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?
此外,这需要在 :after 中,因为我给出的示例是问题的简化版本