Я знаю, что есть объекты HTML для 1/2, 1/4 и 3/4, но есть ли другие? Как 1/3 или 1/8? Есть ли хороший способ кодировать произвольные дроби?






Разве не достаточно 15/16? Или даже 15 / 16ths (15/16<sup>ths</sup>)?
Нет необходимости объяснять "ths". 15/16 произносится как «пятнадцать шестнадцатых».
как насчет 15⁄16? (<sup> 15 </sup> & frasl; <sub> 16 </sub>)
В идеале использовать ⁄ для косой черты
1/2 → ½ or ½
1/4 → ¼ or ¼
3/4 → ¾ or ¾
1/8 → ⅛ or ⅛
3/8 → ⅜ or ⅜
5/8 → ⅝ or ⅝
7/8 → ⅞ or ⅞
1/3 → ⅓
2/3 → ⅔
1/5 → ⅕
2/5 → ⅖
3/5 → ⅗
4/5 → ⅘
1/6 → ⅙
5/6 → ⅚
... но вы также можете закодировать их как десятичные: 15/16 = 0,9375;)
Однако эквивалентные десятичные коды работают для for - ⅛ в IE. Я обновлю свой ответ, включив их.
Это будет зависеть от ваших конкретных потребностей и аудитории. Для большинства целей подходят многие методы. 15/16, 15 частей от 16, 93,75%, 15 / 16 все означают одно и то же, вы даже можете использовать такие символы, как ++++++++++++++ -
Для некоторых более сложных сценариев вам понадобятся более сложные решения, больше похожие на LaTeX, чем на html. Я считаю, что есть также серверные компоненты, которые принимают описания LaTeX и создают изображения, совместимые с браузером, например, как описано здесь: http://www.fauskes.net/nb/htmleqII/
Для более сложных сценариев есть также MathML. Поддержка этого постепенно улучшается. Internet Explorer, похоже, тоже отстает.
Также существует стандарт под названием MathML. Но, к сожалению, для XML. Однако, если у вас больше выражений, вы можете подумать о переходе на базовый XML.
Для существующих дробей в виде кодовых точек Unicode (которые отображаются в HTML-объектах) выполните поиск «вульгарной дроби» в Указатель имен символов Юникода.
Теперь для общих дробей, которые работают в HTML, но также работают с обычным текстом, используйте цифры надстрочного и подстрочного индекса (см. Таблица кодовых точек Юникода, поиск «Надстрочные индексы»), разделенные символом дробная косая черта.
Ваш пример реализован, как указано выше:
Запрос горизонтальной линии: stackoverflow.com/questions/13878772/…