Я хочу отобразить прямоугольный SVG между двумя вертикально выровненными DIV, чтобы SVG занимал как можно больше места (но сохранял соотношение сторон). Поскольку сам SVG генерируется динамически, я должен использовать HTML-тег <svg>
, чтобы включить его (и т. Е. Не могу использовать тег <img>
).
Поэтому я попытался использовать flexbox, ноSVG не придерживается правил и становится слишком большим:
html, body, .parent {
height: 100%;
}
.parent {
display: flex;
flex-flow: column nowrap;
}
.contentSVG {
flex-grow: 1;
}
<div class="parent">
<div class="contentA">
content A
</div>
<div class="contentSVG">
<!-- arbritrary SVG -->
<svg viewBox="0 0 10 10">
<circle cx="5" cy="5" r="5" fill="red" />
</svg>
</div>
<div class="contentB">
content B
</div>
</div>
Если я заменил SVG другим контентом, пример будет работать, как и ожидалось.
У вас есть идеи, как я могу это реализовать безучаствует ли JS?