zoukankan      html  css  js  c++  java
  • [翻译]IE8下VML的变化

    新的excanvans继续得到IE8的支持。尽管自VML于1998年发布以来,从没有经历过任何变更和改进。微软
    开发团队倾向于对他们的标准做些变动。
    1、命名空间的声明函数增加了第三个参数。
    原来的方式:
    document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML");
    取而代之的最新的方式:
    document.namespaces.add('v', 'urn:schemas-microsoft-com:vml');
    2、行为规则选择器做了细微的变动。
    3、出于朝标准靠拢,当设置元素的维度或位置的时候,应该明确的指定计量单位,默认的单位不在是px。
    4、在DOM元素外部创建VML元素将是无效的。
    var myFragment = document.createDocumentFragment();
    myFragment.insertAdjacentHTML('beforeEnd',
    '<v:rect id="myRect" fillcolor="blue" style="top:10px;left:15px;50px;height:30px;position:absolute;"></biv:rect>'
    );
    document.body.appendChild(myFragment);
    上面的代码我们发现rect元素没有显示。我们尝试着修改它的css属性,甚至会以为tab标签选项卡或整个浏览器出了问题。其实不然,我们
    有好的办法来修复这个bug:拷贝元素的outHTML给它本身。
    var myRect = document.getElementById('myRect');
    myRect.outerHTML = myRect.outerHTML;
    5、使用%单位无用了。向量图形的优点是按比例调整大小不会有质量丢失。当所有部件的维度和位置使用pixels来设置
    时,我们应该如何来测量图形呢?你不得不借助onpropertychange事件来重新计算一次你打算重新定制大小的图形的尺寸。
    很多实例中我们不能简单的修复这个bug。比如:在div中放置个正方形:这个div的内容没有维度和比例,你希望正方形的高度随div的显示比例
    变化而变化。你可以通过设置正方形的高度为100%即可(前提是div的位置是相对的)。

    原文地址:http://ajaxian.com/archives/the-vml-changes-in-ie-8

  • 相关阅读:
    error while loading shared libraries: libhwloc.so.5: cannot open shared object file: No such file or directory
    Mac刷新DNS,修改/etc/hosts立即生效
    zxing生成识别二维码
    电脑M2接口不是磁盘0问题
    WSL
    Ubuntu安装Docker
    Win10关闭自动更新和防护
    Mysql的5种日志
    开发常用工具Windows
    log4j2高危漏洞
  • 原文地址:https://www.cnblogs.com/mingle/p/1585651.html
Copyright © 2011-2022 走看看