Установка ширины штриха: 1 в элементе <rect>
в SVG помещает штрих со всех сторон прямоугольника.
Как разместить ширину хода только на трех сторонах прямоугольника SVG?
Установка ширины штриха: 1 в элементе <rect>
в SVG помещает штрих со всех сторон прямоугольника.
Как разместить ширину хода только на трех сторонах прямоугольника SVG?
Если вам нужен инсульт или без штриха, вы также можете использовать stroke-dasharray, чтобы сделать тире и пробелы совпадающими со сторонами прямоугольника.
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>
Вы не можете изменить визуальный стиль различных частей одной фигуры в SVG (отсутствие еще не доступного Vector Effects). Вместо этого вам нужно будет создать отдельные фигуры для каждого штриха или другого визуального стиля, который вы хотите изменить.
В частности, для этого случая вместо использования элемента <rect>
или <polygon>
вы можете создать <path>
или <polyline>
, который охватывает только три стороны прямоугольника:
<!-- 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" />
Здесь вы можете увидеть эффект этих действий: http://jsfiddle.net/b5FrF/3/
Для получения дополнительной информации прочитайте <polyline>
и более-мощный, но более запутанный <path>
формы.
Вы можете использовать полилинию для трех поглаженных сторон и просто не помещать штрих на прямоугольник. Я не думаю, что SVG позволяет применять различные штрихи к различным частям пути/формы, поэтому вам нужно использовать несколько объектов для получения того же эффекта.