页面缩放兼容性处理方法(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入门·对象属性方法大总结
Oct 01 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
Apr 26 Javascript
jquery实现滑动特效代码
Aug 10 Javascript
jquery获取img的src值的简单实例
May 17 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
Jan 11 Javascript
原生js实现电商侧边导航效果
Jan 19 Javascript
JS打开摄像头并截图上传示例
Feb 18 Javascript
layer弹出层中H5播放器全屏出错的解决方法
Feb 21 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
Apr 07 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
Oct 02 Javascript
微信小程序中使用vant框架的具体步骤
Feb 18 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中$this-&amp;gt;含义分析
2009/11/29 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
读jQuery之八 包装事件对象
2011/06/21 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
微信小程序 九宫格实例代码
2017/01/21 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
2020/04/28 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
python实现井字棋游戏
2020/03/30 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
django echarts饼图数据动态加载的实例
2019/08/12 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
如何查找网页漏洞
2016/06/22 面试题
最新教师自我评价分享
2013/11/12 职场文书
群教班子对照检查材料
2014/08/26 职场文书
大学生交通专业求职信
2014/09/01 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
2019年暑期安全广播稿!
2019/07/03 职场文书
python实现简单石头剪刀布游戏
2021/10/24 Python
Golang流模式之grpc的四种数据流
2022/04/13 Golang