现代浏览器中CSS3的transform:rotate在IE中的实现
编程技术  /  houtizong 发布于 3年前   66
// UA.core为浏览器核心,取值为trident,webkit,gecko,presto或undefined// UA.ie为ie浏览器版本号,取值5,6,7,8,9...// 如何判断浏览器本文不再描述,可以参考https://github.com/kissyteam/kissy/blob/master/src/ua/base.js// 或者也可采用其他特征来区分浏览器var rotate = (function() {switch (UA.core) {case 'trident' :return UA.ie < 9 ? return function(dom, angle) {var rad = angle * (Math.PI / 180),filter = dom.filters.item('DXImageTransform.Microsoft.Matrix');filter.Dx = (1 - Math.cos(Math.PI / 4 + rad) / Math.cos(Math.PI / 4)) * 0.5 * (dom.offsetWidth - 1);filter.Dy = (1 - Math.sin(Math.PI / 4 + rad) / Math.cos(Math.PI / 4)) * 0.5 * (dom.offsetHeight - 1);filter.M11 = Math.cos(rad);filter.M12 = -1 * Math.sin(rad);filter.M21 = Math.sin(rad);filter.M22 = filter.M11;filter.Enabled = true;} : return function(dom, angle) {dom.style.msTransform = 'rotate(' + angle + 'deg)';};case 'webkit' :return function(dom, angle) {dom.style.webkitTransform = 'rotate(' + angle + 'deg)';};case 'gecko' :return function(dom, angle) {dom.style.MozTransform = 'rotate(' + angle + 'deg)';};case 'presto' :return function(dom, angle) {dom.style.OTransform = 'rotate(' + angle + 'deg)';};default:return function(dom, angle) {dom.style.transform = 'rotate(' + angle + 'deg)';};}})();// 使用方法:/** * 跨浏览器绕中心旋转 * @param dom HTMLElement * @param angle 旋转的角度(顺时针方向) */rotate(dom, angle);
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接