admin 发布时间:2015-06-02 分类:Web 阅读:19027次 8 条评论

CSS3特性图片或者DIV旋转90度180度,经常可看到博客评论系统里面评论者头像旋转180度的效果。可以将下面代码保存为html文档运行。运行的图片效果(实际效果请将下面代码保存为html文件并且引入jQuery文件):

<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:75px;
background-color:yellow;
border:1px solid black;
}
.rptare
{
transform:rotate(90deg);
-ms-transform:rotate(90deg); /* IE 9 */
-moz-transform:rotate(90deg); /* Firefox */
-webkit-transform:rotate(90deg); /* Safari and Chrome */
-o-transform:rotate(90deg); /* Opera */
}
.animated_div
{
width:60px;
height:40px;
color:#ffffff;
position:relative;
font-weight:bold;
padding:20px 10px 0px 10px;
float:left;
margin:20px;
margin-right:50px;
border:1px solid #888888;
-webkit-border-radius:5px;
-moz-border-radius:5px;
border-radius:5px;
font:12px Verdana, Arial, Helvetica, sans-serif;
text-align:center;
vertical-align:middle;
background:red;
}
</style>
<script>
var x,y,n=0,ny=0,rotINT,rotYINT
function rotateDIV()
{
x=document.getElementById("rotate1")
clearInterval(rotINT)
rotINT=setInterval("startRotate()",10)
}
function rotateYDIV()
{
y=document.getElementById("rotatey1")
clearInterval(rotYINT)
rotYINT=setInterval("startYRotate()",10)
}
function startRotate()
{
n=n+1
x.style.transform="rotate(" + n + "deg)"
x.style.webkitTransform="rotate(" + n + "deg)"
x.style.OTransform="rotate(" + n + "deg)"
x.style.MozTransform="rotate(" + n + "deg)"
if (n==180 || n==360)
{
clearInterval(rotINT)
if (n==360){n=0}
}
}
function startYRotate()
{
ny=ny+1
y.style.transform="rotateY(" + ny + "deg)"
y.style.webkitTransform="rotateY(" + ny + "deg)"
y.style.OTransform="rotateY(" + ny + "deg)"
y.style.MozTransform="rotateY(" + ny + "deg)"
if (ny==180 || ny>=360)
{
clearInterval(rotYINT)
if (ny>=360){ny=0}
}
}
</script>
</head>
<body>
<div id="panel" onclick="$('#panel').addClass('rptare');">直接旋转90度无过渡</div>
<p onclick="rotateDIV()" id="rotate1" class="animated_div" style="transform: rotate(180deg); -webkit-transform: rotate(180deg);">旋转180度有过渡</p>
</body>
</html>备注:IE10以上及Chrome、Firefox等现代浏览器支持,IE10以下不支持。
更简单的写法,代码如下:
<!DOCTYPE html>
<html>
<head>
<style>
div
{
-webkit-border-radius:30px;
-moz-border-radius:30px;
border-radius:30px;
width:100px;
height:100px;
background:blue;
transition:1s;
-moz-transition:1s; /* Firefox 4 */
-webkit-transition: 1s; /* Safari and Chrome */
-o-transition:1s; /* Opera */
}
div:hover
{
transform:rotate(360deg);
}
</style>
</head>
<body>
<div></div>
<p>请把鼠标指针移动到蓝色的 div 元素上</p>
<p><b>注释:</b>本例在 Internet Explorer 中无效。</p>
</body>
</html>
发布于 2015-07-11 15:28:07 回复该评论
发布于 2015-07-06 16:18:31 回复该评论
发布于 2015-06-03 14:21:02 回复该评论
发布于 2015-06-04 08:33:30 回复该评论
发布于 2014-08-29 09:31:53 回复该评论
发布于 2014-08-29 19:20:27 回复该评论
发布于 2014-08-20 20:34:59 回复该评论
发布于 2014-08-20 10:28:43 回复该评论
发表评论:
◎欢迎您的参与讨论。