最近一个项目要做一个图片缩放特效,如下:

原始是小图片

点击右下角的加号后变成大图片

再点击大图片右下角的缩小标记,又回到初始状态。

因为这个特效用到的图片大部分不是很大,于是准备利用jquery来改变图片边框的宽高,再用css3的transform属性来改变图片的大小。

html代码如下:

<div class="click_to_zoom"><img src="http://imgstatic.baidu.com/img/image/sheying320s.jpg" alt="" /><a href="#">点击</a></div>

下面的代码即页面加载时获取图片的宽高,除以2.5倍以后再赋给图片的父级,这样父级就变小了。

$(document).ready(function() {//dom加载完成时,变大变小功能$('.click_to_zoom a').toggle(function(e) {e = e || event;e.preventDefault();$(this).siblings('img').addClass('zoom_big');$(this).addClass('tosmall');var img = $(this).siblings('img');var theImage = new Image();theImage.src = img.attr("src");img.parent('.click_to_zoom').animate({'width': theImage.width,'height': theImage.height});},function(e) {e = e || event;e.preventDefault();$(this).siblings('img').removeClass('zoom_big');$(this).removeClass('tosmall');var img = $(this).siblings('img');var theImage = new Image();theImage.src = img.attr("src");img.parent('.click_to_zoom').animate({'width': theImage.width / 2.5,'height': theImage.height / 2.5});});$('.click_to_zoom').fadeIn(500);
});$(window).load(function() {// 图片加载完成后获取图片的宽高var img = $('.click_to_zoom img');var theImage = new Image();for (var i = img.length - 1; i >= 0; i--) {theImage.src = img.eq(i).attr("src");img.eq(i).parent('.click_to_zoom').animate({'width': theImage.width / 2.5,'height': theImage.height / 2.5});};})

css如下:

.click_to_zoom{position: relative;border: 3px double #dcdcdc;margin: 20px auto;clear: both;display: none;width: 0px;overflow: hidden;padding: 5px;-moz-box-shadow: inset 0px 0px 10px #d5d5d5;
-webkit-box-shadow: inset 0px 0px 10px #d5d5d5;
box-shadow: inset 0px 0px 10px #d5d5d5;}
.click_to_zoom a{text-indent: -100px;overflow: hidden;display: block;width: 24px;height: 24px;position: absolute;bottom: 0;right: 0;background: url(tobig.png) 0 0 no-repeat;
}
.click_to_zoom img{zoom:0.4;-moz-transform:scale(0.4);margin: 0 auto;
}
.click_to_zoom img.zoom_big{zoom:1;-moz-transform:scale(1);
}
.click_to_zoom a.tosmall{background: url(tosmall.png) 0 0 no-repeat;
}

用ie,chrome测试都没有问题,但在火狐里测试时,发现小图片的位置总是不对,如下:

后来,google了一下,从stackoverflow里找到了答案,原来还得在css里针对火狐加一句

-moz-transform-origin:0 0;

这句就是对图片位置的修正,加入后,各大大浏览器就兼容了。

转载于:https://www.cnblogs.com/youthdream/p/3593831.html

firefox css3 transform样式 位置偏移问题解决相关推荐

  1. elementUI表格气泡乱串、闪烁、位置偏移问题解决(自制气泡,计算位置,箭头永远指向当前元素)

    elementUI表格中插入气泡,会出现bug"来回切换tab页气泡会乱串",导致这个问题的原因是,elementUI底层是通过js绘制的气泡,挂在到body中,通过display ...

  2. 过渡加载页面时闪烁css,css3 transform过渡抖动问题解决

    transform: scale();缩放在IE浏览器下会有抖动 transform缩放在IE浏览器下会有抖动 可以在缩放的同时添加一个旋转 如: transform: scale(1.2); 换成: ...

  3. vue内解决可视化大屏内百度地图在css transform下缩放位置偏移的问题

    vue内解决可视化大屏内百度地图在css transform下缩放位置偏移的问题* 最近在写可视化大屏的时候发现使用百度地图,在缩放的缩放的时候视角总是往红色框位置缩放,并不在鼠标位置进行视角缩放,查 ...

  4. input添加float样式后位置偏移的解决

    表单中,将input添加flaot:left样式后,在ie6下会出现不能点击的问题,后来才发现是input框的位置偏移了. 解决方法: 在css中加一个背景色 background:#FFF; 具体原 ...

  5. 理解CSS3 transform中的Matrix(矩阵)

    一.哥,我被你吓住了 打架的时候会被块头大的吓住,学习的时候会被奇怪名字吓住(如"拉普拉斯不等式").这与情感化设计本质一致:界面设计好会让人觉得这个软件好用! 所以,当看到上面& ...

  6. CSS/CSS3常用样式与web移动端资源

    CSS/CSS3常用样式与知识点 IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法. ...

  7. 【CSS3】 理解CSS3 transform中的Matrix(矩阵)

    理解CSS3 transform中的Matrix(矩阵) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu ...

  8. [总结]CSS/CSS3常用样式与web移动端资源

    CSS/CSS3常用样式与知识点 IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法. ...

  9. CSS3 属性样式总结记录(图文)

    CSS3 属性样式总结记录 1 .边框-背景 border-image 设置所有边框图像的速记属性. 3 border-radius 一个用于设置所有四个边框- *-半径属性的速记属性 3 box-s ...

最新文章

  1. matlab传递闭包动态聚类图,用SPSS制作3D散点图全方位动态展示K均值聚类效果
  2. LeetCode Interleaving String(动态规划)
  3. MyEclipse 14 设置文件特定的打开方式
  4. Iframe 高度自适应的问题
  5. echarts地图文字重叠解决方案_踩坑日记:在Echarts中国地图踩到的坑
  6. Endnotex8 运行时出现错误 unknown error -0xA84c的解决办法
  7. 土巴兔上市未卜,群核科技换个姿势能否撑起“3D云设计第一股”?
  8. 《我想进大厂》之MQ夺命连环11问
  9. LabVIEW树形控件
  10. android ca证书的安装,如何在Android上以编程方式安装CA证书,无需用户交互
  11. 硬件工程师到底要会多少东西?
  12. python九九乘法口诀_Python打印出九九乘法口诀
  13. 音乐现场的未来将被NFT门票主宰?
  14. 配置数据源(DataSource)
  15. java计算机毕业设计家居门户网站MyBatis+系统+LW文档+源码+调试部署
  16. Python3《机器学习实战》学习笔记(三):决策树实战篇之为自己配个隐形眼镜
  17. 【8086汇编基础】05--常用函数库文件--emu8086.inc
  18. Java实现在线打开word文档并强制留痕/留下痕迹
  19. matlab回归系数 t检验6,MATLAB回归分析如何提取t统计量及其p值
  20. 《数学之美》PPT配套讲稿

热门文章

  1. Windows Mobile 5.0新增API介绍(转自MSDN)
  2. java collection 常用类_分析Collection常用的实现类
  3. arduino接收hmi屏幕_汽车HMI设计中交互设计的发展趋势
  4. ndk-build生成.so
  5. Docker Swarm架构、特性与基本实践
  6. Flex中动态更新List item
  7. 用VC++建立Service服务应用程序
  8. sonar不支持mysql_sonar-iOS的实践
  9. asp.net mvc 压缩html代码,浅谈ASP.NET中MVC 4 的JS/CSS打包压缩功能
  10. php global没用,global php 不起作用怎么办