[翻译]IE8下VML的变化
新的excanvans繼續(xù)得到IE8的支持。盡管自VML于1998年發(fā)布以來,從沒有經歷過任何變更和改進。微軟
開發(fā)團隊傾向于對他們的標準做些變動。
1、命名空間的聲明函數增加了第三個參數。
原來的方式:
document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML");
取而代之的最新的方式:
document.namespaces.add('v', 'urn:schemas-microsoft-com:vml');
2、行為規(guī)則選擇器做了細微的變動。
3、出于朝標準靠攏,當設置元素的維度或位置的時候,應該明確的指定計量單位,默認的單位不在是px。
4、在DOM元素外部創(chuàng)建VML元素將是無效的。
var myFragment = document.createDocumentFragment();
myFragment.insertAdjacentHTML('beforeEnd',
'<v:rect id="myRect" fillcolor="blue" style="top:10px;left:15px;width:50px;height:30px;position:absolute;"></biv:rect>'
);
document.body.appendChild(myFragment);
上面的代碼我們發(fā)現rect元素沒有顯示。我們嘗試著修改它的css屬性,甚至會以為tab標簽選項卡或整個瀏覽器出了問題。其實不然,我們
有好的辦法來修復這個bug:拷貝元素的outHTML給它本身。
var myRect = document.getElementById('myRect');
myRect.outerHTML = myRect.outerHTML;
5、使用%單位無用了。向量圖形的優(yōu)點是按比例調整大小不會有質量丟失。當所有部件的維度和位置使用pixels來設置
時,我們應該如何來測量圖形呢?你不得不借助onpropertychange事件來重新計算一次你打算重新定制大小的圖形的尺寸。
很多實例中我們不能簡單的修復這個bug。比如:在div中放置個正方形:這個div的內容沒有維度和比例,你希望正方形的高度隨div的顯示比例
變化而變化。你可以通過設置正方形的高度為100%即可(前提是div的位置是相對的)。
原文地址:http://ajaxian.com/archives/the-vml-changes-in-ie-8
轉載于:https://www.cnblogs.com/mingle/archive/2009/10/18/1585651.html
總結
以上是生活随笔為你收集整理的[翻译]IE8下VML的变化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建行龙卡热购卡还款日是什么时候
- 下一篇: 通用存储过程分页---(测试能用的请放心