Festlegen einer Strichbreite: 1 für ein <rect>
Element in SVG platziert einen Strich auf jeder Seite des Rechtecks.
Wie platziert man eine Strichbreite auf nur drei Seiten eines SVG-Rechtecks?
Festlegen einer Strichbreite: 1 für ein <rect>
Element in SVG platziert einen Strich auf jeder Seite des Rechtecks.
Wie platziert man eine Strichbreite auf nur drei Seiten eines SVG-Rechtecks?
Antworten:
Wenn Sie einen Strich oder keinen Strich benötigen, können Sie dazu auch Strich-Dasharray verwenden, indem Sie die Striche und Lücken an die Seiten des Rechtecks anpassen .
rect { fill: none; stroke: black; }
.top { stroke-dasharray: 0,50,150 }
.left { stroke-dasharray: 150,50 }
.bottom { stroke-dasharray: 100,50 }
.right { stroke-dasharray: 50,50,100 }
<svg height="300">
<rect x="0.5" y="0.5" width="50" height="50" class="top"/>
<rect x="0.5" y="60.5" width="50" height="50" class="left"/>
<rect x="0.5" y="120.5" width="50" height="50" class="bottom"/>
<rect x="0.5" y="180.5" width="50" height="50" class="right"/>
</svg>
Siehe jsfiddle .
stroke-dasharray
die ein bestimmtes Objekt generiert, das definiert, welche Ränder angezeigt werden sollen. Das Lesen des Codes kann Ihnen helfen, die Funktionsweise zu verstehen: codepen.io/lazd/pen/WNweNwy?editors=1010
Sie können den visuellen Stil verschiedener Teile einer einzelnen Form in SVG nicht ändern (ohne das noch nicht verfügbare Vektoreffektmodul ). Stattdessen müssen Sie für jeden Strich oder jeden anderen visuellen Stil, den Sie variieren möchten, separate Formen erstellen.
Speziell für diesen Fall stattdessen eine der Verwendung <rect>
oder <polygon>
Element können Sie eine erstellen <path>
oder <polyline>
dass deckt nur drei Seiten des Rechtecks:
<!-- Move to 50,50 then draw a line to 150,50, to 150,150, and then to 50,150 -->
<path d="M50,50 L150,50 150,150 50,150" />
<polyline points="50,50 150,50 150,150 50,150" />
Sie können die Wirkung dieser in Aktion hier sehen: http://jsfiddle.net/b5FrF/3/
Weitere Informationen finden Sie in den <polyline>
leistungsstärkeren, aber verwirrenderen <path>
Formen.
Sie könnten eine Polylinie für die drei gestrichenen Seiten verwenden und den Strich überhaupt nicht auf das Rechteck setzen. Ich glaube nicht, dass Sie mit SVG unterschiedliche Striche auf verschiedene Teile eines Pfads / einer Form anwenden können. Sie müssen also mehrere Objekte verwenden, um den gleichen Effekt zu erzielen.