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

  • 相关阅读:
    让php更快提供文件下载
    设计模式 03 设计模式分类
    针对配置文件操作 PHP最常用的四个ini函数
    查找算法
    排序算法
    设计模式 01 统一建模语言基础知识
    关于div和css的一些好习惯
    数据结构的基本概念
    HTML特殊转义字符对照列表
    .htaccess 详解
  • 原文地址:https://www.cnblogs.com/mingle/p/1585651.html
Copyright © 2011-2022 走看看