我有一个MathML脚本,它显示了一个等式及其用法,我想要的最大宽度为600 PX。
<span style="color: red;max-width: 600px;">
<math>
<mn>2</mn>
<mfenced>
<mrow><mi>l</mi><mi>b</mi><mo>+</mo><mi>b</mi><mi>h</mi><mo>+</mo><mi>h</mi><mi>l</mi></mrow>
</mfenced>
<mo>=</mo>
<mn>2</mn><mo mathvariant="sans-serif">x</mo><mfenced>
<mrow><mn>26</mn><mtext>cm</mtext><mo mathvariant="sans-serif">x</mo><mn>32</mn><mtext>cm</mtext><mo>+</mo><mn>28</mn><mtext>cm</mtext><mo mathvariant="sans-serif">x</mo><mn>58</mn><mtext>cm</mtext><mo>+</mo><mn>69</mn><mtext>cm</mtext><mo mathvariant="sans-serif">x</mo><mn>98</mn><mtext>cm</mtext></mrow>
</mfenced>
</math>
</span>
如果它不适合600PX,我不想从'='符号将该行划分为新行。
并且还需要右侧的碎片
感谢名单
答案 0 :(得分:1)
您可以使用
<mo linebreak="goodbreak" indentalign="right">=</mo>
使等号成为首选断点,第二行右对齐。但这是否有效将取决于您正在使用的MathML渲染器的功能(并非所有渲染器都实现MathML3的断行功能)。它应该与MathJax一起使用,但不能在Firefox的原生MathML渲染中使用。
但请注意,公式缩进仅适用于块级数学;即,您需要使用<math display="block">
才能进行右对齐。
另请注意,max-width
仅适用于块级元素,因此它对<span>
无效。您需要使用类似<div>
的内容。
您还应该使用“时间”而不是“x”的正确符号。如,
<mo>×</mo>
应该这样做。这将获得正确的间距,并为乘法提供适当的语义。
答案 1 :(得分:0)
内联元素将忽略max-width
属性。您需要在display: block
元素上设置span
(或者更合乎逻辑地,使用div
或p
而不是span
)来强制执行最大宽度。< / p>
如果您希望仅在等号后允许换行,则需要额外的标记。然后,您可以在不允许中断的任何元素上设置white-space: nowrap
。或者,如果没有其他字符允许在它们之后换行,则可以使用不间断空格。
我认为如果你使用MathML,你也应该得到正确的数学符号;具体地说,字母“x”不是乘法符号,正确的符号“×”和“⋅”需要它们周围的空格。这与主题相关,因为当您使用空格时,您需要考虑它们是破坏还是不破坏。