You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MathML三围栏结构浏览器失效?中间竖线无法随内容增高

可伸缩括号示例

MathML可伸缩竖线围栏问题解答

在你提供的可伸缩括号MathML结构中:

<math displaystyle="true">
    <mi>y</mi>
    <mo>=</mo>
    <mrow>
       <mo>⟨</mo>
       <mrow>
         <mfrac><mi>a</mi><mi>b</mi></mfrac>
       </mrow>
       <mo>|</mo>
       <mrow><mi>x</mi></mrow>
       <mo>⟩</mo>
    </mrow>
</math>

中间的竖线围栏在Firefox和Chrome中不随内容增高,这不属于MathML规范的bug,而是使用方式的问题。

原因分析

MathML中,只有部分括号类符号(如⟨、⟩、(、)等)默认开启了stretchy="true"属性,会随内容高度自动伸缩;而普通竖线|默认不具备这个属性,所以只会显示固定高度。

解决方法

给竖线围栏添加stretchy="true"属性,同时可搭配symmetric="true"让它垂直居中对齐,修改后的代码如下:

<math displaystyle="true">
    <mi>y</mi>
    <mo>=</mo>
    <mrow>
       <mo>⟨</mo>
       <mrow>
         <mfrac><mi>a</mi><mi>b</mi></mfrac>
       </mrow>
       <mo stretchy="true" symmetric="true">|</mo>
       <mrow><mi>x</mi></mrow>
       <mo>⟩</mo>
    </mrow>
</math>

类比TeX的处理逻辑

类似TeX中braket*宏的作用,就是自动为围栏符号添加伸缩逻辑;而MathML需要显式声明伸缩属性,才能让浏览器触发对应的伸缩行为。

内容的提问来源于stack exchange,提问作者Sukii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 02:54:55