我想要获得一个图像(加号)旋转45度以创建交叉符号。我到目前为止使用下面的代码来实现这一点,但是它的工作在悬停,我想让它旋转点击。
有没有一个简单的方法来使用CSS?
我的代码是:
CSS
img { display: block; margin: 20px; } .crossRotate { -webkit-transition-duration: 1s; -moz-transition-duration: 1s; -o-transition-duration: 1s; transition-duration: 1s; -webkit-transition-property: -webkit-transform; -moz-transition-property: -moz-transform; -o-transition-property: -o-transform; transition-property: transform; } .crossRotate:hover { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
HTML
<body> <img class="crossRotate" src="images/cross.png" alt="Cross Menu button" /> </body>
这是jsfiddle演示。
解决方法
如果你想要一个只有CSS的解决方案,你可以使用
active
.crossRotate:active { transform: rotate(45deg); -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); }
但是,当活动移动时,转换将不会持续。为此,您需要javascript(jquery click和css是最干净的IMO)。
$( ".crossRotate" ).click(function() { if ( $( this ).css( "transform" ) == 'none' ){ $(this).css("transform","rotate(45deg)"); } else { $(this).css("transform","" ); } });