页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)


Posted in Javascript onAugust 29, 2017

1、页面缩放用到的技术点

(1)zoom

zoom:normal | <number> | <percentage>
默认值:normal
适用于:所有元素
继承性:有

可以使用用浮点数和百分比来定义缩放比例。

zoom的浏览器兼容性:http://caniuse.com/#search=zoom

页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)

zoom的兼容性:firefox 全系列不支持

(2)transform

transform:scale(1.1,1.1);

scale(x,y) 定义 2D 缩放转换

兼容性:http://caniuse.com/#search=transform

页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)

transform 属于CSS3属于,其兼容性:IE6-8不支持

2、页面缩放示例代码

<!DOCTYPE html>
<html>

 <head>
  <meta charset="utf-8" />
  <title>页面缩放兼容性处理(zoom,Firefox火狐浏览器)</title>
  <style>
   * {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-family: "microsoft yahei";
    box-sizing: border-box;
   }
   
   p {
    text-indent: 2em;
    line-height: 25px;
   }
   
   .btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
   }
  </style>
 </head>

 <body>
  <button type="button" id="pageBig" class="btn">页面放大</button>
  <button type="button" id="pageSmall" class="btn">页面缩小</button>
  <p>
   前端对于网站来说,通常是指,网站的前台部分包括网站的表现层和结构层。因此前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,现在最新的高级版本HTML5、CSS3,以及SVG等。
  </p>
  <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>

  <script type="text/javascript">
   $(function() {
    //初始化默认缩放级别
    var zoomNum = 1;
    var $body = $('body');
    //页面放大函数
    function PageBig() {
     zoomNum += 0.1;
     //兼容firefox浏览器代码
     //需要transform-origin:center top设置,否则页面顶部看不到了
     $body.css({
      '-moz-transform': 'scale(' + zoomNum + ')',
      'transform-origin': 'center top'
     });
     $body.css('zoom', zoomNum)
    }
    //页面缩小函数
    function PageSmall() {
     zoomNum -= 0.1;
     //兼容firefox浏览器代码
     //需要transform-origin:center top设置,否则页面顶部看不到了
     $body.css({
      '-moz-transform': 'scale(' + zoomNum + ')',
      'transform-origin': 'center top'
     });
     $body.css('zoom', zoomNum);
    }
    $('#pageBig').click(function() {
     PageBig();
    });
    $('#pageSmall').click(function() {
     PageSmall();
    });
   })
  </script>
 </body>

</html>

效果:

页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)

注意:

transform转换的基准位置属性为transform-origin,transform-origin属性默认值为上下左右中间位置,即:

transform-origin:50% 50% 0

防止页面顶部看不到,可以对transform-origin进行重新设置:

transform-origin: center top;

以上这篇页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 原型模式实现OOP的再研究
Apr 09 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
Sep 04 Javascript
禁止页面刷新让F5快捷键及右键都无效
Jan 22 Javascript
深入分析js的冒泡事件
Dec 05 Javascript
javascript实现在网页中运行本地程序的方法
Feb 03 Javascript
AngularJS ng-mousedown 指令
Aug 02 Javascript
JavaScript 闭包详细介绍
Sep 28 Javascript
完美实现js拖拽效果 return false用法详解
Jul 28 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
Oct 14 Javascript
构建大型 Vue.js 项目的10条建议(小结)
Nov 14 Javascript
jquery向后台提交数组的代码分析
Feb 20 jQuery
详解基于element的区间选择组件校验(交易金额)
Jan 07 Javascript
详谈Node.js之操作文件系统
Aug 29 #Javascript
js链表操作(实例讲解)
Aug 29 #Javascript
在页面中引入js的两种方法(推荐)
Aug 29 #Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
Aug 29 #Javascript
使用canvas进行图像编辑的实例
Aug 29 #Javascript
jQuery实现锚点向下平滑滚动特效示例
Aug 29 #jQuery
js使用html2canvas实现屏幕截取的示例代码
Aug 28 #Javascript
You might like
PHP的FTP学习(一)
2006/10/09 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
php compact 通过变量创建数组
2016/11/15 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
Firefox getBoxObjectFor getBoundingClientRect联系
2008/10/26 Javascript
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
2019/04/30 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
python创建文件备份的脚本
2018/09/11 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
担保书怎么写
2014/04/01 职场文书
中班幼儿评语大全
2014/04/30 职场文书
保护环境建议书400字
2014/05/13 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
火锅店的活动方案
2014/08/15 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
2014司机年终工作总结
2014/12/05 职场文书
社区母亲节活动总结
2015/02/10 职场文书
用php如何解决大文件分片上传问题
2021/07/07 PHP
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang