草庐IT

svg_filedata_cache

全部标签

javascript - 动态呈现的 SVG 未显示

我有以下svg对象,如果我在不使用代码(静态)的情况下直接放入html页面,它会正确呈现。但是如果我使用JavaScript将相同的svg内容插入我的html页面,它不会显示,如果我在firebug中打开它并检查svg并尝试编辑svg标签,它会显示。可能是什么问题我正在使用下面的代码动态添加svg,这里的容器将是我的div,它位于body下方viewPort=document.createElementNS('http://www.w3.org/2000/svg','svg');viewPort.setAttribute('height',100);viewPort.setAttrib

html - 如何在 SVG 中获取滚动条?

我有一个SVG元素,里面有很多元素。SVG元素有一个View框,所以你可以按缩放按钮,元素会变大或变小。效果很好。现在的问题是,当元素溢出父SVG元素时,不会出现滚动条。示例:...S...//hereIsettheviewboxafterclickingthezoomOut-Buttonfloatwidth=svg.getViewBox().getBaseVal().getWidth();floatheight=svg.getViewBox().getBaseVal().getHeight();svg.getViewBox().getBaseVal().setHeight((floa

asp.net - 具有 PNG 后备功能的浏览器中用于图像的 SVG

我想在网站上使用公司Logo的SVG版本。目前,主流浏览器(IE、Safari、Chrome、Firefox、Opera)的所有当前版本都支持SVG,所以这看起来并不疯狂。但是,旧浏览器仍然存在,所以我需要退回到PNG支持。显而易见的解决方案是像这样将SVG内容放在object标记中(请原谅内联样式...):如果可能,理论上应该渲染object,否则渲染img。然而,Chrome不喜欢这样并将height样式应用于对象本身而不是SVG,所以我最终得到一个带有滚动条的类似iframe的小框,显示一个巨大的Logo。另一种解决方案是使用PNG作为img源,然后在渲染时使用javascrip

html - 在调整窗口大小时自动缩放嵌入在 HTML 中的 SVG

我想在HTML页面中嵌入一些SVG,以便在调整页面大小时自动调整大小(使用SVG、CSS或JS),同时仍保留原始纵横比。例如,使用W3School的示例:是否可以将SVG宽度设置为窗口宽度的5%,并按比例缩放高度?我尝试了一些东西,包括preserveAspectRatio="xMinYMinmeet"并在内将尺寸设置为100%容器,但还没有让它工作。有什么建议吗? 最佳答案 您的SVG根元素需要一个viewBox属性,它将定义SVG图像的整体大小:现在您可以通过CSS设置图像的宽度或高度,它会完美缩放。

html - Application Cache 或 Service Worker——在 2016/Q2 中使用哪个?

真正需要讨论的快速问题,因为我想听取不同人的意见。我正在开发一个必须离线可用的网页应用程序。现在要做到这一点,据我所知,您将着手使用应用程序缓存功能或使用服务worker。然而,这是我遇到的难题。在研究应用程序缓存时,theMDNclearlystates:Deprecated:ThisfeaturehasbeenremovedfromtheWebstandards.Thoughsomebrowsersmaystillsupportit,itisintheprocessofbeingdropped.Donotuseitinoldornewprojects.PagesorWebappsu

javascript - 如何获取相对于持有 onclick 监听器的 SVG 元素的点击坐标?

我无法计算相对于触发事件的元素的点击坐标(x和y)。我还没有在网上找到一个简单的例子。我在HTML页面中有一个简单的svg(左边距为100px)。它包含一个group(翻译为30px30px),它附加了一个onclick监听器。在那个group中,我有一个宽度和高度为50px的rect。在我点击group元素的任何部分后,我得到一个事件对象,其坐标相对于HTML页面(evt.clientX和evt.clientY)。我需要知道的是用户在group元素(包含onclick监听器的元素)中单击的确切位置。如何将clientX和clientY坐标转换为group元素坐标。也就是说,如果我点击

html - 如何判断 DOM 元素是 HTML 还是 SVG?

我正在编写一个需要以不同方式应用于HTML元素和SVG元素的基础架构。给定一个DOM节点,我如何判断它是SVG还是HTML元素? 最佳答案 您可以尝试以下操作:if(document.getElementById("el")instanceofSVGElement){console.log("It'sanSVGelement");}ThisisabasicSVGdocument!请注意元素本身实际上是一个HTML元素包含SVG元素-这意味着,也许令人惊讶的是,HTML元素不是SVG元素,因此:console.log(document

javascript - 如何确定 SVG 文本框宽度,或在 'x' 个字符后强制换行?

我正在使用Raphael库创建一个SVG文本框,并用从XML文档中提取的动态字符串填充它。有时,这个字符串比我放置文本框的Canvas长,所以我需要限制框的宽度,这本身会强制换行(我找不到任何证据表明这是可能的)或确保在一定数量的字符后插入'\n'换行符。那么(1)这是最好的选择吗?(2)我该怎么做? 最佳答案 文本换行没有属性,但您可以使用一个简单的技巧。一次向文本对象添加一个单词,当它变得太宽时,添加一个换行符。您可以使用getBBox()函数来确定宽度。基本上,您模拟的是老式打字机。下面是一些可以为您执行此操作的代码示例。您可

html - 如何按视口(viewport)的百分比平移 SVG 组

我有一个svg那是在(组),我想缩放它,然后按视口(viewport)的百分比转换它。svg中的大多数内容都允许通过数量可笑的选项来指定单位;例如px,em,%,ex,pt,pc,...然而,翻译中指定的数字似乎只是像素。问题是,如果我必须返回并重新计算翻译的像素值,那么我的svg将变得依赖于分辨率。然后我,你和每个人都会陷入一个悖论。你可以看出我为什么有点担心。http://jsbin.com/ubeqot/1/edit 最佳答案 贴上内部元素元素并将带有百分比值的x和y属性添加到内部元素来翻译它。如果您希望首先应用比例,您可以将

html - 如何限制或剪辑 SVG 中的文本?

我在SVG中做了一个表格,我想用数据动态填充它。这意味着我不知道文本占用了多少空间,我想剪裁或隐藏重叠的文本。我怎样才能在SVG中做到这一点?我的带有SVG的HTML文档如下所示:Orange12Pear7Banana9Pomegranate2这将呈现为:有什么方法可以剪切我的SVG-“表格”中的文本?已实现的解决方案来自Erik的回答:OrangePearBananaPomegranate12792 最佳答案 您可以使用clip-path剪成你想要的任何形状,参见例如masking-path-01来自svg测试套件。相关部分,定义