MathML 指「數學標記語言」是 XML 語言的一個子集,用來在 Web 網頁,甚至部分軟體或 APP 應用程式,顯示數學公式之用,這次使用 Math 標記,寫出分數公式,如分子、分母及帶分數等算式。
在 N 年前,我們一般在網站打分數會以符號表示,或使用 sup 及 sub 標籤,模仿分數。
如: ⅟ ½ ↉ ⅓ ⅔ ¼ ¾ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅐ ⅛ ⅜ ⅝ ⅞ ⅑ ⅒
或 1⁄2 1⁄3 1⁄4 1⁄5 1⁄6
代碼:
<sup>1</sup>⁄<sub>2</sub>
用以上的方法打出分數,中間的橫線,不是直線而是斜線。
這樣我們需要借助 "Math" 打出正確的分子和分母。
MathML 元素分類:
Presentation Markup 呈現標記用於描述數學公式的視覺佈局和排版。
主要元素包括:
<mi>: 表示單個字母、數位或其他孤立的數學字元作為標識碼(Identifier)。
<mn>: 表示數位(Number)。
<mo>: 表示運算子(Operator),如加減乘除、等於號、括弧等。
<mrow>: 用來組合其他MathML元素,形成一個行(Row)。
<mfrac>: 建立分數結構。
<msqrt>: 建立根式(平方根)。
<msup>: 建立上標(Superscript)。
<msub>: 建立下標(Subscript)。
<msubsup>: 同時建立上標和下標。
<munder>: 建立下橫線(Underline)。
<mover>: 建立上橫線(Overline)。
<munderover>: 同時建立下橫線和上橫線。
<mfenced>: 用括弧、方括弧等包圍數學運算式。
<mtext>: 在數學公式中插入普通文字。
Content Markup
內容標記用於描述數學公式的語義和邏輯結構,便於機器處理和理解。
內容標記主要包括:
<ci>: 表示數學變數或識別碼的語義內容。
<cn>: 表示數字的語義內容。
<apply>: 應用一個函數或運算子到一組參數。
<csymbol>: 引入自定義或外部定義的數學符號。
Mixed Markup 在實際使用中,MathML文檔通常混合使用呈現標記和內容標記,以兼顧視覺呈現和語義解釋。
<mfrac> 與 <mfrac bevelled="true"> 的分別!
bevelled - 指定分數是垂直顯示還是內嵌顯示。通常值是 true 或 false。
numalign - 指定分子的對齊方式。值是左、右或中心。
denomalign - 指定分母的對齊方式。值是左、右或中心。
linethick - 指定分數條的筆畫寬度。值以 px、pt、em 等為單位進行測量。
詳解:MathML-分數
Mfrac 打出不同的分數:
備註:分數的字體大小,建議設定在: 25px ~ 30px
math {
font-size: 30px;
font-weight: bold;
}
01. 分數
版本一:
<math>
<mfrac>
<mn>2</mn>
<mn>3</mn>
</mfrac>
</math>
版本二:
<math>
<mfrac bevelled="true">
<mfrac>
<mn>3</mn>
<mn>6</mn>
</mfrac>
</mfrac>
</math>
02. 帶分數
版本一:
<math>
<mi>1</mi>
<mfrac>
<mn>2</mn>
<mn>3</mn>
</mfrac>
</math>
版本二:
<math>
<mfrac bevelled="true">
<mfrac>
<mi>3</mi>
</mfrac>
</mfrac>
<mfrac bevelled="true">
<mfrac>
<mn>1</mn>
<mn>5</mn>
</mfrac>
</mfrac>
</math>
03. 假分數 除以 分數
<math>
<mfrac bevelled="true">
<mfrac>
<mn>5</mn>
<mn>3</mn>
</mfrac>
<mrow>
<mo>÷</mo>
</mrow>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mfrac>
</math>
04. 帶分數 乘以 帶分數
<math>
<mfrac bevelled="true">
<mrow>
<mi>2</mi>
</mrow>
<mfrac>
<mn>6</mn>
<mn>7</mn>
</mfrac>
<mrow>
<mo>×</mo>
</mrow>
<mrow>
<mi>3</mi>
</mrow>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
</mfrac>
</math>
05. 帶分數 減 分數
<math>
<mfrac bevelled="true">
<mrow>
<mi>3</mi>
</mrow>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
<mrow>
<mo>-</mo>
</mrow>
<mfrac>
<mn>2</mn>
<mn>6</mn>
</mfrac>
</mfrac>
</math>
06. 分數 加 帶分數 等於 整數
<math>
<mfrac bevelled="true">
<mfrac>
<mn>2</mn>
<mn>6</mn>
</mfrac>
<mrow>
<mo>+</mo>
</mrow>
<mrow>
<mi>3</mi>
</mrow>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
<mrow>
<mo>=</mo>
</mrow>
<mrow>
<mi>2026</mi>
</mrow>
</mfrac>
</math>
07. 不同數字組合
<math>
<mfrac bevelled="true">
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mrow>
<mi>a</mi>
<mo>+</mo>
<mn>3</mn>
</mrow>
<mfrac bevelled="true">
<mn>1</mn>
<mn>2</mn>
</mfrac>
</math>
08. 分數 Table 表格
CSS:
hr {
margin: 0;
border: none;
height: 2px;
background: #000000;
}
Html:
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td bgcolor="#E6E6F2"><table width="100%" border="0" cellspacing="1" cellpadding="1"> <!-- 1 改 0 無線條 -->
<tr align="center" bgcolor="#FFFFFF">
<td> </td>
<td><input type="text" name="a2" value="2" /></td>
<td> </td>
<td> </td>
<td><input type="text" name="a5" value="5" /></td>
</tr>
<tr align="center" bgcolor="#FFFFFF">
<td><input type="text" name="a1" placeholder="如:1" /></td>
<td><hr /></td>
<td>
<select name="en">
<option value="+" selected="selected">+</option>
<option value="-">-</option>
<option value="×">×</option>
<option value="÷">÷</option>
</select>
</td>
<td><input type="text" name="a4" placeholder="e.g., 4" /></td>
<td><hr /></td>
</tr>
<tr align="center" bgcolor="#FFFFFF">
<td> </td>
<td><input type="text" name="a3" value="3" /></td>
<td> </td>
<td> </td>
<td><input type="text" name="a6" value="6" /></td>
</tr>
<tr align="center" bgcolor="#FFFFFF">
<td colspan="5"><input type="reset" value="清除" /> <input type="button" name="bt" value="=" onclick="cal" /></td>
</tr>
<tr align="center" bgcolor="#FFFFFF">
<td> </td>
<td></td>
<td><input type="text" maxlength="5" name="a8" value="8" readonly="readonly" /></td>
<td> </td>
<td> </td>
</tr>
<tr align="center" bgcolor="#FFFFFF">
<td></td>
<td><input type="text" name="a7" value="7" readonly="readonly" /></td>
<td><hr /></td>
<td> </td>
<td> </td>
</tr>
<tr align="center" bgcolor="#FFFFFF">
<td> </td>
<td></td>
<td><input type="text" name="a9" value="9" readonly="readonly" /></td>
<td> </td>
<td> </td>
</tr>
<tr align="center" bgcolor="#FFFFFF">
<td colspan="5"> </td>
</tr>
<tr bgcolor="#FFFFFF">
<td align="center">小數值:</td>
<td align="left" colspan="4"><input type="text" name="suuchi" value="0.99999" readonly="readonly" /></td>
</tr>
</table></td>
</tr>
</table>
代碼測試︰ ifreesite.com/runcode.htm
圖片預覧:

放大圖片:按此>>
技術文檔:
01. 數學標記語言MathML簡介
02. HTML5 MathML用法詳解
03. 等號分母分數的HTML特殊字符
04. MathML分數和根號
05. 有用但用處不多的html的屬性
01. 走路及跑步和行山(登山)公里分數計算器