CSS旋转与翻转

一个项目中要画一个图,有横坐标和纵坐标,纵坐标需要文字转过来竖排,baidu了一圈,找到一篇文章,有用,转载过来备查

 

css 2.0还是没有翻转的,3.0里面有rotate属性,这个可以把元素进行任意角度旋转,灰常强大。除了这个rotate,还有一个scale,一般用法格式是

-moz-transform:scale(1,1);

括弧里面(1,1)前者表示X轴,后者表示Y轴,当数字大于1时放大,大于0并小于1时缩小,很好理解,那么负数是怎样的效果?答案是 翻转

-moz-transform:scale(-1,1);
 
表示水平翻转;
 
-moz-transform:scale(1,-1); 
 
表示垂直翻转。
 
不过这些都是moz或者webkit的,万恶的IE怎么办? 
于是我们想到滤镜,滤镜里面有这么一堆东西:
 
顺时针旋转图片90度
picID.style.filter="progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
旋转180度
picID.style.filter="progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; 
逆时针旋转90度
picID.style.filter="progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
 
有没有想问“rotation=4”什么效果? 面壁去...90、180、270都出来了,还要rotation=4实现360干嘛,感觉这个很费呢。不过这个是静态费,如果动态的话,这个就是必须的了。假如用js控制元素旋转,从0顺时针旋到270的时候,如果没有360的话,那么270会快速的逆时针回到0,这样就2了,所以要给个360过渡,让270自然到360,然后再循环,这样就流畅了……
 
这跟css3的rotate差不多,不过只能固定角度的旋转,来个顺时针15度就没折了,css确实很轻松的transform:rotate(15deg);
 
不过这样也只是实现了“旋转”,还有“翻转”没实现。IE的翻转就需要用到这个:
 
水平翻转:filter:FlipH; 
垂直翻转:filter:FlipV; 

这样就齐全了
 
具体代码:
1、水平翻转
-moz-transform:scale(-1,1);
-webkit-transform:scale(-1,1);
-o-transform:scale(-1,1);
transform:scale(-1,1);
filter:FlipH; 
 
2、垂直翻转
-moz-transform:scale(1,-1);
-webkit-transform:scale(1,-1);
-o-transform:scale(1,-1);
transform:scale(1,-1);
filter:FlipV; 
 
3、顺时针旋转90度
-moz-transform:rotate(90deg);
-webkit-transform:rotate(90deg);
-o-transform:rotate(90deg);
transform:rotate(90deg); 
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);

原文地址:http://blog.sina.com.cn/s/blog_74d6cedd0100v9bk.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值