http://hi.baidu.com/greatmaster/blog/item/5e8b4a8d61ea511fb21bba50.html
最近发现使用VML绘制的图形在IE8下不见了,需要将IE8的Document Mode改为IE7 Standard才可以,或者你需要在页面添加这个信息:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
修改IE的Document Mode是用户行为,开发者不能干预,使用meta头信息也只能针对那些可完全控制的页面,对于像API开发包一类的东西,就不能指望使用者在自己的页面添加这个meta了。那还有办法解决吗?请看下面内容。
IE8对VML的支持发生了哪些变化,导致其消失了呢?网上查了一些资料,只要注意以下三点就可以让VML重新在IE8中展现出来。
1. 不要使用全局选择符*对VML元素添加样式。
v\:*{behavior:url(#default#VML)}
需要修改为:
v\:shape{b ehavior:url(#default#VML)}
你使用了哪些VML元素就要添加相应的样式规则
2. 为VML元素样式的非0属性添加单位。
在IE8之前,浏览器会为没有单位的属性添加默认单位,IE8就不行了。
<v:shape style="position:absolute;z-index:1;left:0;width:1;top:0;height:1" filled="t" fillcolor="white" >
需要修改为:
<v:shape style="position:absolute;z-index:1;left:0;width:1px;top:0;height:1px" filled="t" fillcolor="white" >
3. 不要使用setAttribute为VML对象添加属性。
rect.setAttribute("fillcolor", "black")
需要修改为:
rect.fillcolor = "black";
参考:
1. Changes in VML for IE8, or "what feature can the IE dev team break for you today?"
2. The VML changes in IE8
分享到:
相关推荐
VML,全称为Vector Markup Language,是一种用于在网页上呈现矢量图形的标记语言,...虽然现在随着现代浏览器对SVG的广泛支持,VML的重要性已经下降,但在处理旧项目或需要兼容旧版IE的场景下,这种技术仍然有价值。
这篇博客文章“vml圆角,箭头(IE)”显然探讨了如何利用VML来创建圆角和箭头效果,特别是在IE浏览器中的应用。 一、VML简介 VML是一种XML格式,可以用于描述二维图形,包括线条、曲线、矩形、圆形等。由于IE浏览器...
由于VML是为IE设计的,因此在其他浏览器如Firefox、Chrome或Safari中并不原生支持,这限制了其跨平台的兼容性。 VML的核心概念包括以下几个方面: 1. **元素**:VML中的图形由不同的元素组成,如`<v:rect>`(矩形...
VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的,在我认为, VML其实是Word和HTML结合的产物。可以将Word文档另存为HTML,其中的文本...
2. **坐标系统**:VML使用笛卡尔坐标系统,其中(0,0)是图形的左上角,X轴向右延伸,Y轴向下延伸。 3. **属性**:每个VML元素都有多种属性来控制其外观和行为,如`fill`(填充颜色)、`stroke`(边框颜色)、`stroke...
2. **兼容性**:尽管SVG(Scalable Vector Graphics)在现代浏览器中已经成为矢量图形的标准,但VML主要为了解决IE浏览器(尤其是早期版本)对SVG不支持的问题。 3. **应用场景**:在CSS3和SVG普及之前,VML常用于...
VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的,在我认为, VML其实是Word和HTML结合的产物。可以将Word文档另存为HTML,其中的文本和...
其次,ECharts在渲染上使用了VML(Vector Markup Language)作为在IE8下的图形渲染引擎,因为IE8不支持SVG(Scalable Vector Graphics)。VML是一种微软提出的矢量图形标准,虽然现在已经很少使用,但在IE8时代它是...
这个问题在描述中已经提到,即ECharts的仪表盘功能在IE8下无法正常工作。 IE8的兼容性问题主要源于以下几个方面: 1. **ES5 支持**:ECharts 基于 ES5 特性构建,而IE8仅支持部分ES3特性,不包含像数组的`forEach`...
使用vML时,开发者需要注意兼容性问题,因为只有较旧的IE浏览器支持vML。为了确保跨浏览器兼容性,开发者可能需要结合使用像`ExplorerCanvas`这样的库,它可以让非IE浏览器理解并渲染vML代码。此外,CSS和JavaScript...
8. **最佳实践与提示**:分享一些使用VML时的技巧和最佳实践,帮助开发者提高效率并避免常见错误。 尽管现代Web开发更多地倾向于使用SVG和CSS3来创建图形,但对于仍然需要支持旧版IE的项目,VML仍然是一门有价值的...
VML是为了在Internet Explorer浏览器中提供矢量图形支持而开发的,它允许开发者创建清晰、可缩放的图形,这些图形在任何分辨率下都能保持高质量。由于VML是基于XML的,所以它具有良好的结构化和可扩展性,使得图形...
本文将深入探讨如何使用VML来实现圆角表格,这是一种在没有现代CSS3圆角边框支持的情况下实现圆角效果的技术。 首先,我们需要了解VML的基本结构。VML使用XML语法,每个图形元素如矩形、线、弧线等都是一个独立的...
### VML技术简明教程 #### 一、VML简介 VML(Vector Markup Language)是一种用于在Web页面上绘制矢量图形的技术。它是由微软在1999年之前推出的...虽然VML不再是最新的技术,但在某些特定场景下仍然有其独特的价值。
对于Web开发者来说,掌握VML技能可以在一些特定情况下提供优势,尤其是在需要兼容旧版IE浏览器的项目中。 总之,"vml极道教程"是一份全面的学习资料,不仅涵盖VML的基本概念和技术,还涉及到其动态扩展和与其他技术...
VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的,在我认为, VML其实是Word和HTML结合的产物。可以将Word文档另存为HTML,其中的文本和...
VML(Vector Markup Language)是一种矢量图形语言,由微软在1999年随着IE5.0发布,主要针对IE浏览器。VML允许开发者在HTML文档中创建和操纵矢量图形,这些图形可以无损地放大或缩小,特别适合用于地图、图表和其他...
在VML和JavaScript的组合下,开发者可以创建出具有深度感的柱状图,每个柱子在视觉上有前后的层次,从而增加视觉吸引力。实现这种效果通常涉及到计算每个柱子的位置、大小以及阴影效果,以模拟3D空间。 在提供的...
尽管SVG现在已成为W3C标准并被广泛接受,但VML仍然在一些老版本的IE浏览器中被使用,尤其是那些不支持SVG的场景。 VML的核心在于使用XML语法来描述图形元素,如线条、曲线、形状和文本等。通过这种方式,开发者可以...