当前位置: 首页 > 知识库问答 >
问题:

IE浏览器中的SVG渲染不正确

方子安
2023-03-14

我正在尝试为mathml呈现SVG。它在chrome上看起来不错,但在IE中,svg的标签有附加属性,我们如何避免添加这些附加属性?请尝试在chrome和IE中将下面的mathml呈现为SVG。您可以看到生成的SVG标记中的差异(两种浏览器中的附加scrrenshots)

MathML是:

<math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn style="font-family: inherit;font-style: inherit;" ID="63201617503163">1</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503164">2</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503165">3</mn><mtable columnalign="right" align="baseline 2" rowspacing="0.0ex" ID="63201617503166"><mtr><mtd><mrow><mn style="font-family: inherit;font-style: inherit;" ID="63201617503167">1</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503168">2</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503169">3</mn></mrow></mtd></mtr><mtr><mtd><menclose notation="longdiv"><mrow><mn style="font-family: inherit;font-style: inherit;" ID="63201617503170">1</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503171">2</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503172">3</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503173">4</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503174">5</mn></mrow></menclose></mtd></mtr><mtr><mtd><munder><mrow><mn style="font-family: inher[enter image description here][2]it;font-style: inherit;" ID="63201617503175">1</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503176">2</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503177">3</mn></mrow><mrow><mo>_</mo></mrow></munder><mphantom><mrow><mn>45</mn></mrow></mphantom></mtd></mtr><mtr><mtd><mrow><mn style="font-family: inherit;font-style: inherit;" ID="63201617503178">1</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503179">2</mn><mn style="font-family: inherit;font-style: inherit;" ID="63201617503180">3</mn></mrow></mtd></mtr></mtable></mrow></math>

共有1个答案

鲁烨熠
2023-03-14

请注意,这些属性也在第一个图形中,但它们更靠右(请注意style=“width:10.751ex;height:12.291ex…”位于包含

这些样式对于获得正确的位置非常重要。如果位置不适合您,页面上可能有其他CSS干扰。您可以尝试修改页面,使其不加载任何CSS,并查看SVG输出是否正确。如果是,那么一次添加一个CSS文件,直到找到问题所在。然后仔细查看,看看可能是什么原因造成的。

否则,就像彼得建议的那样,提供一个实时样本给我们看。此外,你暗示IE输出在视觉上是不正确的,但不要说以何种方式(说属性不同并不等同于说屏幕上的结果是什么样子,或者提供一个屏幕截图)。

 类似资料:
  • 前言 接下来的几篇文章,讲一下二面的内容。 二面的内容: 渲染机制 JS 运行机制 页面性能 错误监控 本文接下来讲渲染机制。 渲染机制包括的内容: 什么是DOCTYPE及作用 浏览器渲染过程 面试经常会问:在浏览器中输入url,发生了哪些事情。其中有一部就是浏览器的渲染过程。 Reflow:重排 面试官问完了渲染机制,一般会紧接着问重排Reflow,你可千万别说你没听过。 Repaint:重绘

  • SVGRenderer被用于使用SVG来渲染几何数据,所产生的矢量图形在以下几个方面十分有用: 动画标志(logo)或者图标(icon) 可交互的2D或3D图表或图形 交互式地图 复杂的或包含动画的用户界面 SVGRenderer具有很多优势。它产生清晰并且锐利的图像输出,它和实际视口分辨率无关。 SVG元素可以通过CSS来控制样式;并且由于它可以添加诸如标题或者描述文字之类的元数据(对于搜索引擎

  • 终端输出 我正在尝试获取存储在mongodb数据库中的图像,以便检索并渲染到浏览器。我已经尝试过一些以前的解决方案,如btoa、Windows。btoa,但它说两者都没有定义。(https://stackoverflow.com/questions/6182315/how-to-do-base64-encoding-in-node-js)(https://stackoverflow.com/que

  • 概览 本章描述了IE在处理自定义的HTML属性和标签时的一些独特之处。如果你要让你的AngularJS应用兼容IE8和IE8以下的版本的话,你需要仔阅读本章。 简易版 要让你的AngularJS应用在IE中正常运行你必须: 确保JSON字符串能被正常解析(IE7需要),你可以使用JSON2或者JSON3来实现。 你不能使用自定义的元素标签,如<ng:view>(你只能使用属性的形式,如<div n

  • 问题内容: 调整浏览器窗口大小时,如何让React重新渲染视图? 背景 我有一些块要在页面上单独布局,但是我还希望它们在浏览器窗口更改时更新。最终结果将类似于Ben Holland的 Pinterest布局,但使用React编写的不仅是jQuery。我还有一段路要走。 码 这是我的应用程序: 然后,我有了组件(相当于上面的Pinterest示例中的): 和的清单/集合: 题 我应该添加jQuery

  • 问题内容: 我正在开发一些脚本来生成SVG文件,我想知道对于Linux有什么好的SVG渲染器。我知道Firefox / Chrome提供了SVG支持(我觉得Chrome渲染速度更快),但也许我缺少其他独立的SVG渲染器。我知道pySVG的存在。 足够好,我的意思是尽可能覆盖SVG 1.1规范。我之所以选择一个独立的库,是因为我的工作流程更快,因为我不必每次都按F5。 问题答案: 由draw.io工