最早接触zoom是在清除浮动的时候,原因就是zoom能触发IE的haslayout,当时也没深究其原理,今天,在查看张鑫旭的对overflow与zoom”清除浮动”的一些认识时,其中提到zoom是比例缩放,比较诧异,遂去查找资料(可惜,中文全介绍它是IE私有属性,用于清除浮动,人云亦云,造成就这一个简陋的版本可查询),发现其中大有乾坤,记下测试过程,其中有错误的,望大家指正,也希望大家去研究下这个东西,不能总是说它就能清除个浮动,是IE私有的……

一.zoom原本是IE的私有属性,但谷歌,opera,safari也是支持它的(火狐到现在的版本也不支持它),只不过其中有一些差异,容我后面道来

(截图来自:http://www.browsersupport.net/CSS/zoom

二.zoom在各浏览器不同的差异表现

 1. zoom就是缩放属性,没有继承,它是非标准的,它是不被推荐的(在W3CHTML上,它被写成css3 zoom属性,但我去w3c官网上没找到,不知道是我找错了地方还是别人,望有人找到知会我一下,不胜感谢)其语法如下:

zoom: normal | <number> | <percentage>

2.支持的浏览器对于zoom有两种不同的表现,一种是以chrome opera safari为主的现在标准浏览器(以下称标准浏览器),另一种是IE为主的浏览器(以下称ie)

注:(block与inline-block类的元素 统称为block类,inline类的元素统称为inline类,测试代码全在jsfiddle.net   测试代码地址:上,有兴趣的可以看看,我只截图敲结果)

a: 一个block类元素,给它加一个样式,zoom: 2

IE中不会去缩放当前block类元素(本身)的margin,定位中的top,left值,padding,其余的都会缩放,比如width,height,font-size,line-height等

标准浏览器中则会缩放margin,定位中的top,left,但也不会缩放padding,这个值,

截图如下:  

标准浏览器与ie对block类元素内部的所有元素属性都会进行缩放,(不包括padding)

b.针对内联元素,标准浏览器zoom有效,但IE8及以上的IE浏览器不支持这个属性,其余表现和它们各自阵营的表现一样,

如果想要IE8以上的内联元素也支持zoom,可以把内联元素转换成block类元素,或者,给它加个属性position: absolute,加不加top,left都一样,

c.  标准浏览器中的zoom加一个值  reset,相当于在一个有zoom的元素中不进行缩放

表述不清,望大家都自己做下实验。。。。,关于它的应用及与transforms的区别,有待进一步研究

资料引用:zoom介绍(FQ吧,骚年!!)

资料引用:zoom的浏览器支持

关于"zoom“ 的一点小认识的更多相关文章

  1. 关于win8开发的一点小总结

    我今天做画面的时候,发现了一点小问题. 我在xmal文件里面加了一个CheckBox控件,设置IsChecked属性为True,并添加了Checked事件.Checked事件里面有对另外一个TextB ...

  2. 关于PHP魔术方法__call的一点小发现

    好久没有上博客园写文章了,今晚终于有点空了,就来写一下昨天的一点小发现. 我自己所知,C++,Java的面向对象都有多态的特点,而PHP没有,但PHP可以通过继承链方法的重写来实现多态的属性.而魔术方 ...

  3. net core体系-web应用程序-4net core2.0大白话带你入门-8asp.net core 内置DI容器(DependencyInjection,控制翻转)的一点小理解

    asp.net core 内置DI容器的一点小理解   DI容器本质上是一个工厂,负责提供向它请求的类型的实例. .net core内置了一个轻量级的DI容器,方便开发人员面向接口编程和依赖倒置(IO ...

  4. C与C++在形參的一点小差别

    先看一下以下的代码: int fun(a,b) int a; int b; { return 10; } void main(int argc, char ** argv) { fun(10); re ...

  5. BUI Webapp用于项目中的一点小心得

    接触BUI也有一段时间,也用在了移动端的项目开发中,总的来说,该框架用起来也挺灵活的,控件可以自由定制,前提是自己能认真地学习该框架的api,因为api里面说的东西比较详细,如果没有仔细看的,可能有些 ...

  6. 这几天帮一个朋友解决了一点小问题(RF的有些小问题及解决过程)

    最近涉猎自动化太少了,以至于都不经常更新了.最近一个朋友在做移动端自动化的时候遇到了一些小问题来找我解决.本人也不是很精通,只是接触的时间长了一点了.下面就是一些问题和解决过程: 1.她刚过来的时候, ...

  7. 深入剖析Nginx一点小笔记

    前几天在图书馆看书,恰好看到这本<深入剖析nginx>,花了快一周的时间看完了这本书,写点笔记心得便于以后复习. 以前对nginx的认识就只是停留在一个反向代理服务器上.百度了一下ngin ...

  8. ssm开发的一点小技巧

    一般使用反转工作生成基础bean如Items然后我们使用的实体类一般是基础bean的拓展类ItemsCustomer,继承自基础类,这个是为了方便对于表字段的更改生成的bean影响减低我们查询一般是使 ...

  9. 模仿下拉框datalist的jquery插件的一点小经验

    原本项目里是用h5的新属性data-list,但是这个下拉框的数据太多,而data-list似乎没有设置高度的地方,所以写了个小插件,期间也发现了一些bug,目前这个版本算是可以一用的版本,故写一下这 ...

随机推荐

  1. shell中的type命令

    type [-aftpP] name [name,...] -a 打印name的所有可能情况,比如type -a ls,会打印ls is aliased to 'ls --color=auto'和ls ...

  2. Python多线程,threading的用法

    虫师的文章: 需要注意的是: threads = [ ] t1 = threading.Thread(target=music,args=(u'爱情买卖',)) threads.append(t1) ...

  3. Android平台上使用气压传感器计算海拔高度

    气压传感器两年前已经开始被手机制造商运用在其设备上,但貌似没有引起开发者足够的重视.像Galaxy S III .Galaxy Note 2和小米2手机上都有,不过大家对于气压传感器比较陌生.其实大气 ...

  4. boostrap 弹出模态对话框,点击黑色区域不会关闭

    $('#ID_ReformDetail').modal({ backdrop: 'static', keyboard: false }); 弹出模态对话框且点击黑色部分不会关闭. <div cl ...

  5. 配色问题lingo实现

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang !调配颜色 要依次调配红.兰.白.黑.黄五种颜色 红  兰  白  黑  黄 红  0  6  1 ...

  6. python安装setuptools和pip

    今天需要写一个python导出excel的小程序.这里需要用到XlsxWriter模块,但是这个模块并没有安装,所以需要先下载该模块,然后才能在程序中使用.这里就需要安装模块,我选择使用pip.以下就 ...

  7. unity3D射线检测敌人是否在前方

    //发射一条射线,去检测玩家是否在自己面前,用来随后的发射炮弹 bool isForward = false; var TranformShootPoint = ai.WorkingMemory.Ge ...

  8. 开心菜鸟系列学习笔记------javascript(5)

    一.this的关系    1)全局代码中的this    2)函数代码中的this在函数代码中使用this时很有趣,这种情况很难且会导致很多问题. 这种类型的代码中,this值的首要特点(或许是最主要 ...

  9. Powershell变量的类型和强类型

    Powershell变量的类型和强类型12 12月, 2011  在 Powershell  tagged Powershell教程 / 变量 / 存储 / 数据 / 类型 by Mooser Lee ...

  10. sort详解

    一. 简介 sort命令是帮我们依据不同的数据类型进行排序. 二. 语法 sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序(默认为 ...