HTML/CSS layout number to the power of expression (a^x)
css, html
Solution
HTML is rather limited when it comes to mathematical expressions. In principle, HTML specifications suggest that you use `sup` element for superscripts, so the sample expression would be
(<i>a</i> + <i>b</i> + √<i>c</i>)<sup>2<i>x</i> + <i>b</i></sup>
However, the implementations of `sup` in browsers are inconsistent and generally poor (causing e.g. uneven line spacing), so it is pragmatically better to use the `span` element with a class instead:
(<i>a</i> + <i>b</i> + √<i>c</i>)<span class=sup>2<i>x</i> + <i>b</i></span>
with CSS code like
.sup {
position: relative;
bottom: 1ex;
font-size: 80%;
}
Some reasons are explained on my page Math in HTML (and CSS). Also consider JavaScript-based libraries for pages containing complicated math expressions:
- KaTeX
- MathJax
- jqMath
The sample expression is a borderline case; it would look mathematically more correct if the square root were represented using a square root symbol with vinculum and not just √c, and trying to construct a vinculum using HTML and CSS gets rather dirty, but otherwise it can be reasonably handled with HTML and CSS.
Problem
I need to layout some math expressions in a web page, cant use latex or mathML, just plain HTML (not HTML5) I have an expression to the power of a different expression, for example (a+b+sqrt(c))^(2x+b) The second expression should be to the right of the first expression a bit smaller and above it. Sound simple enough but I can't seem to get it right. Any help is the styling and layout would be great, thanks.