MathML 表格
一旦掌握所有基本数学符号,就需要考虑表格布局,它可用于矩阵式表达式和其他高级数学布局。
MathML 表格元素
MathML 表格元素与HTML 表格元素类似:<mtable>
元素代表数学表格,它的子元素是 <mtr>
元素(代表行),每个 <mtr>
元素都有 <mtd>
元素作为子元素(代表单元格)。<mtable>
元素可以插入 MathML 公式中的任何位置。<mtd>
元素可以包含任意数量的 MathML 子元素,并将它们作为 <mrow>
容器进行布局。
表格通常用于矩阵式表达式(包括向量)。以下是一个来自CSS matrix()
函数文章的基本示例
<math display="block">
<mrow>
<mo>(</mo>
<mtable>
<mtr>
<mtd>
<mi>a</mi>
</mtd>
<mtd>
<mi>c</mi>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>x</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>b</mi>
</mtd>
<mtd>
<mi>d</mi>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>y</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</math>
允许单元格跨越多个行和列
这再次类似于HTML 表格。<mtd>
元素接受 columnspan
和 rowspan
属性,用于指示单元格跨越多行和多列。在下面的示例中,内部矩阵跨越外部矩阵的两列
注意:出于历史原因,MathML 中用于跨列的属性称为 columnspan
,而不是 colspan
。
用于高级布局的用法
除了表示矩阵式对象,MathML 表格有时还用于数学公式中的高级布局,例如在维基百科对勒让德符号的定义中。在这里,不同的情况写在了三行上,而值和条件则放置在两列上。
警告:<mtable>
文章提供了更多高级布局选项,通过特殊属性(如对齐或间距)。这些属性在 CSS 等效属性出现之前就已经存在,最初设计并用于不了解 CSS 的渲染器。但是,并非所有浏览器都实现了这些属性。将来,<mtable>
用于仅布局目的(即非实际矩阵式对象)的使用可能被基于 CSS 的替代方案所取代。
总结
在本文中,我们回顾了 <mtable>
、<mtr>
和 <mtd>
元素,它们等同于用于表格的 HTML 元素。我们已经了解了如何使用它们来表示矩阵式对象,以及它们如何有时用于高级布局。
您已经快完成本模块了——我们只需要做一件事。在三个著名的数学公式评估中,您将使用新学到的知识用 HTML 和 MathML 重写一篇简短的数学文章。