Немного неясно, как вы хотите, чтобы все это действовало вместе, но когда дело доходит до SVS и отзывчивости, я рекомендую вам взглянуть на следующие атрибуты:
- viewBox
- preserveAspectRatio
- вектор-эффект
Пример:
SVG будет реагировать по горизонтали, занимая 50% ширины экрана, при этом он будет зафиксирован на высоте 1 пикселя. ViewBox позволяет масштабировать SVG, а preserveAspectRatio позволяет масштабировать без блокировки ширины и высоты. Эффект вектора предотвращает масштабирование обводки (удерживая линию на высоте 1 пикселя). Я надеюсь, что это может указать вам правильное направление :)
<svg height="1" width="50%" viewBox="0 0 12 1" preserveAspectRatio="none">
<path d="M0 0 l12 0"
stroke="black"
stroke-width="1"
stroke-dasharray="6,6"
vector-effect="non-scaling-stroke"
/>
</svg>
Обновление
Пример использования простых чисел с плавающей запятой, двух реагирующих и одного фиксированного размера SVS
svg, div {
float: left;
clear: left;
}
.dia {
position:relative;
left: 25%;
}
<svg class="top" height="1" width="50%" viewBox="0 0 12 1" preserveAspectRatio="none">
<path d="M0 0 l12 0"
stroke="black"
stroke-width="1"
stroke-dasharray="6,6"
vector-effect="non-scaling-stroke"
/>
</svg>
<div>
CONTENT
</div>
<svg class="bot" height="1" width="50%" viewBox="0 0 12 1" preserveAspectRatio="none">
<path d="M0 0 l12 0"
stroke="black"
stroke-width="1"
stroke-dasharray="6,6"
vector-effect="non-scaling-stroke"
/>
</svg>
<svg class="dia" height="24" width="24">
<path d="M0 0 l18 24"
stroke="black"
stroke-width="1"
stroke-dasharray="6,6"
vector-effect="non-scaling-stroke"
/>
</svg>