页面缩放兼容性处理方法(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 相关文章推荐
读jQuery之八 包装事件对象
Jun 21 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
Dec 17 Javascript
js日期、星座的级联显示代码
Jan 23 Javascript
js防止页面被iframe调用的方法
Oct 30 Javascript
javascript中in运算符用法分析
Apr 28 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
Nov 22 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
Jan 20 Javascript
jQuery仿IOS弹出框插件
Feb 18 Javascript
Node.js编写CLI的实例详解
May 17 Javascript
vue.js评论发布信息可插入QQ表情功能
Aug 08 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
jQuery中DOM操作原则实例分析
Aug 01 jQuery
详谈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
Terran魔法科技
2020/03/14 星际争霸
PHP实用函数分享之去除多余的0
2015/02/06 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
vue实现引入本地json的方法分析
2018/07/12 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python完全新手教程
2007/02/08 Python
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
Python对字符串实现去重操作的方法示例
2017/08/11 Python
Python+OpenCV实现实时眼动追踪的示例代码
2019/11/11 Python
python实现飞机大战项目
2020/03/11 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
python操作redis数据库的三种方法
2020/09/10 Python
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
农业项目建议书
2014/08/25 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
英文感谢信格式
2015/01/21 职场文书
东京审判观后感
2015/06/01 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
简单聊聊Golang中defer预计算参数
2022/03/25 Golang