页面缩放兼容性处理方法(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 相关文章推荐
Highcharts 非常实用的Javascript统计图demo示例
Jul 03 Javascript
jQuery客户端分页实例代码
Nov 18 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
Jun 09 Javascript
javascript带回调函数的异步脚本载入方法实例分析
Jul 02 Javascript
浅谈JavaScript 浏览器对象
Jun 03 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
Jan 08 Javascript
ES6中Proxy代理用法实例浅析
Apr 06 Javascript
前端跨域的几种解决方式总结(推荐)
Aug 16 Javascript
Vue项目查看当前使用的elementUI版本的方法
Sep 27 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
Oct 15 Javascript
vue 实现通过vuex 存储值 在不同界面使用
Nov 11 Javascript
使用typescript快速开发一个cli的实现示例
Dec 09 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 nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
2009/08/21 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
jquery获取css中的选择器(实例讲解)
2013/12/02 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
JavaScript作用域链实例详解
2019/01/21 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
mac下如何将python2.7改为python3
2018/07/13 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
简单分析python的类变量、实例变量
2019/08/23 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
PyTorch中的Variable变量详解
2020/01/07 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
python利用faker库批量生成测试数据
2020/10/15 Python
python3中布局背景颜色代码分析
2020/12/01 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
几道PHP面试题
2013/04/14 面试题
Oracle的内存结构(Memory structures)
2015/06/10 面试题
工程力学硕士生的自我评价范文
2013/11/16 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
门面房租房协议书
2014/12/01 职场文书
家长意见书
2015/06/04 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
教你部署vue项目到docker
2022/04/05 Vue.js
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技