Моя проблема взята в следующей скрипте: https://jsfiddle.net/byer5pfq/ Я пытаюсь реализовать рендеринг математических выражений с чистым html/css, и мне нужно, чтобы квадратный корень растягивался вертикально в зависимости от аргумента - поэтому я прибегал к SVG для авто -растягивающий. Однако, когда аргумент квадратного корня не достаточно высок, SVG все еще растягивается до 150 пикселей (Why does 100% equal 150 pixels?). Я использую таблицу, потому что макет таблицы обычно позволяет вам соответствовать высотам контента.Как заставить элемент SVG растягиваться вертикально вправо?
Любые предложения о том, как достичь нашей цели, будем очень благодарны!
<span class="equation" style="display:inline">
<table class="root" cellspacing="0">
<tr>
<td>
<svg class="root-symbol" viewBox="0 0 5 6.5" preserveAspectRatio="none">
<text x="0" y="6.5" font-size="9px">√</text>
</svg>
</td>
<td>
<span class="root-argument">
<span class="variables">Ax</span>
</span>
</td>
</tr>
</table>
</span>
.equation {
font-size: 30px;
}
svg {
display: inline-block;
}
span.variables {
vertical-align: middle;
}
span {
display: inline-block;
vertical-align: middle;
}
tr {
margin: 0;
padding: 0;
}
td {
margin: 0;
padding: 0;
border: none;
outline: none;
}
span.root-exponent {
height: calc(70% + .6em);
font-size: .6em;
vertical-align: bottom;
text-align: right;
margin-right: -1em;
width: 1em;
}
table.root {
/* position: relative; */
display: inline-block;
vertical-align: middle;
border: 0;
border-spacing: 0;
border-collapse: collapse;
}
svg.root-symbol {
vertical-align: middle;
width: .9em;
height: 100%; /* Need it to strech when .root-argument is tall!!! */
}
span.root-argument {
margin-left: -1px;
padding-top: .05em;
/* Clearance for the bar */
padding-left: .1em;
/* A little space on the left */
padding-right: .2em;
/* A little more on the right */
border-top: 0.073em solid black;
/* that's the bar */
height: 100%;
}
1. Использование Javascript для определения высоты вам нужно. 2. Используйте javascript, чтобы установить SVG на эту высоту. –
Спасибо! У нас есть решение для javascript, но мы чувствуем, что это может быть червь, если мы надеемся взять этот проект, поэтому мы ищем чистое решение html/css. – Wynne