📅  最后修改于: 2023-12-03 15:14:19.683000             🧑  作者: Mango
CSS 的 stroke-linejoin 属性用于设置描边的两条线段相交时的形状。stroke-linejoin 属性只能用于矢量图形的描边上。
常用的取值有 miter(默认值)、round 和 bevel 三种。
stroke-linejoin: miter | round | bevel;
默认值,表示尖角相交。具体来说,如果两条线段相交的内角小于 180 度,那么两条线段的中心点之间就会出现一个尖角。尖角相交的情况下,line-join 的值为 miterlimit 时,两条线段的交点会被延伸直至某个限制点。
.stroke {
stroke-linejoin: miter;
}
表示圆角相交。当两条线段相交时,会在交点处形成一个圆角。其他部分的描边线条仍然是直的线段。
.stroke {
stroke-linejoin: round;
}
表示平角相交。当两条线段相交时,它们以交点处的平坦面相接。如果线条的宽度较大,相交的部分会形成一个锐角而不是平角。
.stroke {
stroke-linejoin: bevel;
}
下面是一个示例,展示了不同 stroke-linejoin 值的效果:
<!DOCTYPE html>
<html>
<head>
<style>
.stroke {
stroke-width: 10;
fill:none;
}
.miter {
stroke-linejoin: miter;
}
.round {
stroke-linejoin: round;
}
.bevel {
stroke-linejoin: bevel;
}
</style>
</head>
<body>
<svg width="400" height="200">
<path class="stroke miter" d="M50,50 L150,50 L150,150 L50,150Z" />
<path class="stroke round" d="M200,50 L300,50 L300,150 L200,150Z" />
<path class="stroke bevel" d="M100,100 L300,100 L200,200 Z" />
</svg>
</body>
</html>
该示例会生成一个带三个形状的 SVG 元素,每个形状的 stroke-linejoin 值不同。结果如下图所示: