页面缩放兼容性处理方法(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插件集合
Jan 12 Javascript
JavaScript设计模式之单例模式实例
Sep 24 Javascript
escape函数解决js中ajax传递中文出现乱码问题
Oct 30 Javascript
JS获取当前页面名称的简单实例
Aug 19 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
Dec 12 Javascript
ES6学习笔记之Set和Map数据结构详解
Apr 07 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
Apr 27 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
Oct 25 Javascript
微信小程序实现商品属性联动选择
Feb 15 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
May 16 Javascript
小程序实现分类页
Jul 12 Javascript
JS函数基本定义与用法示例
Jan 15 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
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
php常用的url处理函数总结
2014/11/19 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
php实现URL加密解密的方法
2016/11/17 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
js里怎么取select标签里的值并修改
2012/12/10 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
vue 调用 RESTful风格接口操作
2020/08/11 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
Python合并字符串的3种方法
2015/05/21 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
实例讲解Python3中abs()函数
2019/02/19 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
更新修改后的Python模块方法
2019/03/03 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
简述数据库的设计过程
2015/06/22 面试题
南京软件公司的.net程序员笔试题
2014/08/31 面试题
文明风采获奖感言
2014/02/18 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers