草庐IT

svg-edit

全部标签

html - 如何在保持所有区域可点击的同时使不规则形状的 SVG 重叠?

我创建了4个向左浮动的SVG(所有形状相同)。我试图让它们重叠(因为那样看起来更好)但问题是由于它们的形状不规则,某些区域变得不可点击。我用它作为CSS代码:.interact-arrow{float:left;margin-right:-100px;width:24%;position:relative;}这是问题的完整代码笔演示:http://codepen.io/aguerrero/pen/pgvJoa如何正确编写CSS代码以便我可以单击各个箭头的任何区域?我正在使用在里面作为可点击区域。 最佳答案 您需要将CSS类直接应用到

html - 如何在保持所有区域可点击的同时使不规则形状的 SVG 重叠?

我创建了4个向左浮动的SVG(所有形状相同)。我试图让它们重叠(因为那样看起来更好)但问题是由于它们的形状不规则,某些区域变得不可点击。我用它作为CSS代码:.interact-arrow{float:left;margin-right:-100px;width:24%;position:relative;}这是问题的完整代码笔演示:http://codepen.io/aguerrero/pen/pgvJoa如何正确编写CSS代码以便我可以单击各个箭头的任何区域?我正在使用在里面作为可点击区域。 最佳答案 您需要将CSS类直接应用到

javascript - HTML5 SVG vs Canvas 用于大量行?

问题:在下面的情况下,canvas比svg更合适吗?案例:我正在绘制一个与此类似的图表(使用d3js库)(但数据更多):http://mbostock.github.com/d3/talk/20111116/iris-parallel.html它基于svg并且它适用于数千行(最多5000行),添加更多行(svg路径)会显着降低性能(页面滚动变慢)请记住:我需要添加鼠标事件(这在svg中很方便) 最佳答案 通常svg更适合矢量图像,就像您的示例一样。然而canvas在现代浏览器中有很多好处,比如硬件加速,所以对于画线,只要缩放,平移等

javascript - HTML5 SVG vs Canvas 用于大量行?

问题:在下面的情况下,canvas比svg更合适吗?案例:我正在绘制一个与此类似的图表(使用d3js库)(但数据更多):http://mbostock.github.com/d3/talk/20111116/iris-parallel.html它基于svg并且它适用于数千行(最多5000行),添加更多行(svg路径)会显着降低性能(页面滚动变慢)请记住:我需要添加鼠标事件(这在svg中很方便) 最佳答案 通常svg更适合矢量图像,就像您的示例一样。然而canvas在现代浏览器中有很多好处,比如硬件加速,所以对于画线,只要缩放,平移等

html - 在矩形 svg 的左侧和右侧描边

我已经使用d3在svg中绘制了一个矩形,并且只想在左侧和右侧进行描边。 最佳答案 这是另一种hack,但您可以为形状添加一个过滤器,并按笔划宽度裁剪顶部和底部-这里我假设是1个单位。更新:这里是ChristopherChiche创建的答案的d3.js版本(见下方原文):svg.append("defs").append("filter").attr("id","clippy").attr("x","0").attr("y","1").attr("height","248").attr("width""356").append("fe

html - 在矩形 svg 的左侧和右侧描边

我已经使用d3在svg中绘制了一个矩形,并且只想在左侧和右侧进行描边。 最佳答案 这是另一种hack,但您可以为形状添加一个过滤器,并按笔划宽度裁剪顶部和底部-这里我假设是1个单位。更新:这里是ChristopherChiche创建的答案的d3.js版本(见下方原文):svg.append("defs").append("filter").attr("id","clippy").attr("x","0").attr("y","1").attr("height","248").attr("width""356").append("fe

javascript - 单击 <svg> 元素上的处理程序

似乎使用元素在Safari或Chrome中不呈现任何内容,但使用工作正常。但是,添加onclick仅适用于元素。执行此操作的正确方法是什么?Thisjsfiddle演示问题(将Safari/Chrome与Firefox进行比较)。 最佳答案 您甚至不必在SVG周围放置容器。您只需要为SVG本身定义一个position:relative即可解决点击触发问题。这是一个fork的Fiddle展示它:http://jsfiddle.net/jpsirois/xnw1tbL7/ 关于javascr

javascript - 单击 <svg> 元素上的处理程序

似乎使用元素在Safari或Chrome中不呈现任何内容,但使用工作正常。但是,添加onclick仅适用于元素。执行此操作的正确方法是什么?Thisjsfiddle演示问题(将Safari/Chrome与Firefox进行比较)。 最佳答案 您甚至不必在SVG周围放置容器。您只需要为SVG本身定义一个position:relative即可解决点击触发问题。这是一个fork的Fiddle展示它:http://jsfiddle.net/jpsirois/xnw1tbL7/ 关于javascr

html - 像在 HTML Canvas 或 CSS 中一样为 SVG <image> 定义源矩形

在HTML5Canvas中,您可以将图像作为一个整体来绘制,或者只绘制其中的一部分,或者只将其中的一部分绘制到任意矩形(可以缩放)。以下是这三者的示例:下面是用于绘制这三个示例的代码:ctx.drawImage(img,0,0);ctx.drawImage(img,//sourcerect50,50,70,70,//destinationrect0,200,70,70);ctx.drawImage(img,//sourcerect50,50,70,70,//destinationrect0,270,30,30);这在CSS中也相对容易做到。我的问题是,对于给定的图像,如何使用SVG实现

html - 像在 HTML Canvas 或 CSS 中一样为 SVG <image> 定义源矩形

在HTML5Canvas中,您可以将图像作为一个整体来绘制,或者只绘制其中的一部分,或者只将其中的一部分绘制到任意矩形(可以缩放)。以下是这三者的示例:下面是用于绘制这三个示例的代码:ctx.drawImage(img,0,0);ctx.drawImage(img,//sourcerect50,50,70,70,//destinationrect0,200,70,70);ctx.drawImage(img,//sourcerect50,50,70,70,//destinationrect0,270,30,30);这在CSS中也相对容易做到。我的问题是,对于给定的图像,如何使用SVG实现