Ustawienie szerokości obrysu: 1 na <rect>
elemencie w SVG powoduje umieszczenie obrysu z każdej strony prostokąta.
Jak umieścić szerokość obrysu tylko na trzech bokach prostokąta SVG?
html
svg
vector-graphics
inkscape
user782860
źródło
źródło
stroke-dasharray
dany obiekt definiujący, które granice powinny być pokazane. Czytanie kodu może pomóc ci zrozumieć, jak to działa: codepen.io/lazd/pen/WNweNwy?editors=1010Nie można zmienić stylu wizualnego różnych części jednego kształtu w SVG (brak niedostępnego jeszcze modułu Vector Effects ). Zamiast tego musisz utworzyć osobne kształty dla każdego pociągnięcia lub innego stylu wizualnego, który chcesz zmieniać.
W tym przypadku zamiast używać elementu
<rect>
lub<polygon>
można utworzyć znak<path>
lub<polyline>
obejmujący tylko trzy boki prostokąta:<!-- 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" />
Możesz zobaczyć ich efekt w akcji tutaj: http://jsfiddle.net/b5FrF/3/
Aby uzyskać więcej informacji, przeczytaj o
<polyline>
i potężniejszych, ale bardziej zagmatwanych<path>
kształtach.źródło
Możesz użyć polilinii dla trzech obrysowanych boków i po prostu w ogóle nie umieszczać kreski na prostokącie. Wydaje mi się, że SVG nie pozwala na stosowanie różnych pociągnięć do różnych części ścieżki / kształtu, więc aby uzyskać ten sam efekt, musisz użyć wielu obiektów.
źródło