Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用CSS(或SVG)部分剪裁边框?_Css_Svg_Border_Clip - Fatal编程技术网

如何使用CSS(或SVG)部分剪裁边框?

如何使用CSS(或SVG)部分剪裁边框?,css,svg,border,clip,Css,Svg,Border,Clip,我想剪辑div的边框,它有一些边框半径,以模拟计时器如何过期。 但是除了像使用剪辑路径:多边形(…) 但构建自定义多边形似乎很难控制边界长度 是否有更简单/更优雅的方式来使用CSS(或者SVG)? 这是一个理想结果的图像,几乎没有状态⇩⇩ 纯svg 绘制线条的效果是使用线条的属性笔划dashoffset,该属性是从线条开始的缩进 当stroke dashoffset具有最大值时,该行隐藏,当stroke dashoffset=“0” 因此,将stroke dashoffset的值从最大值更改为零

我想剪辑
div
的边框,它有一些
边框半径
,以模拟计时器如何过期。
但是除了像使用
剪辑路径:多边形(…)

但构建自定义多边形似乎很难控制边界长度

是否有更简单/更优雅的方式来使用CSS(或者SVG)?
这是一个理想结果的图像,几乎没有状态⇩⇩

纯svg 绘制线条的效果是使用线条的属性
笔划dashoffset
,该属性是从线条开始的缩进

stroke dashoffset
具有最大值时,该行隐藏,当
stroke dashoffset=“0”

因此,将
stroke dashoffset
的值从最大值更改为零,可以获得绘制直线的效果


pure svg 绘制线条的效果是使用线条的属性
笔划dashoffset
,该属性是从线条开始的缩进

stroke dashoffset
具有最大值时,该行隐藏,当
stroke dashoffset=“0”

因此,将
stroke dashoffset
的值从最大值更改为零,可以获得绘制直线的效果


CSS+SVG 此示例与第一个示例完全相同,但显示样式的样式被传输到外部样式表。有关绘图技术的更多信息,请参见此处-Chris Coyier-

您正确地注意到,可以使用JS方法计算行的长度-
getTotalLength()

下面是一个脚本示例,用于打印使用
path
绘制的图形的路径长度:


函数总长度(){
var path=document.querySelector('#check');
var len=Math.round(path.getTotalLength());
警报(“路径长度-”+len);
};
CSS+SVG 此示例与第一个示例完全相同,但显示样式的样式被传输到外部样式表。有关绘图技术的更多信息,请参见此处-Chris Coyier-

您正确地注意到,可以使用JS方法计算行的长度-
getTotalLength()

下面是一个脚本示例,用于打印使用
path
绘制的图形的路径长度:


函数总长度(){
var path=document.querySelector('#check');
var len=Math.round(path.getTotalLength());
警报(“路径长度-”+len);
};

我认为在这种情况下不需要设置偏移动画。在通过零点的情况下,以及如果你不想从零点开始,可能会出现问题。 我将使用两个参数-笔划长度和笔划空间,如:

<animate attributeName="stroke-dasharray" from="0 600" to="600 0" />

我认为在这种情况下不需要设置偏移动画。在通过零点的情况下,以及如果你不想从零点开始,可能会出现问题。 我将使用两个参数-笔划长度和笔划空间,如:

<animate attributeName="stroke-dasharray" from="0 600" to="600 0" />


SVG-和
stroke-dash-array
@Paulie\u感谢您的指导!似乎将
stroke dasharray
stroke dashoffset
组合起来就可以了。我会试试它的VG和
笔划仪表板阵列
@Paulie\u D谢谢你的指导!似乎将
stroke dasharray
stroke dashoffset
组合起来就可以了。我要试试汉克斯!这正是我想要的。此外,我发现了解
笔划数组
长度也很有用。它可以通过js函数
rect.getTotalLength()
@Jamland获得,谢谢!如果您稍等一下,我将制作第二个版本的CSS,其中包含更详细的描述在React中实现相同功能的任何方法?如何找到SVG的长度?@georgekrax计算路径长度@Alexandr_TT感谢您的帮助!谢谢这正是我想要的。此外,我发现了解
笔划数组
长度也很有用。它可以通过js函数
rect.getTotalLength()
@Jamland获得,谢谢!如果您稍等一下,我将制作第二个版本的CSS,其中包含更详细的描述在React中实现相同功能的任何方法?如何找到SVG的长度?@georgekrax计算路径长度@Alexandr_TT感谢您的帮助!