• [翻译]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

  • 相关阅读:
    某个账号微信的微信朋友圈内容抓取 部分好友内容抓取
    密钥登录
    CPU处理器架构和工作原理浅析
    perl 安装Net::ZooKeeper
    perl 安装Net::ZooKeeper
    thinkphp 常用的查询
    thinkphp 常用的查询
    ThinkPHP 3.1.2 模板中的基本语法<2>
    ThinkPHP 3.1.2 模板中的基本语法<2>
    perl post 带上请求头
  • 原文地址:https://www.cnblogs.com/mingle/p/1585651.html
Copyright © 2020-2023  润新知