display ='inline'和style =“ display:'inline';”之间有区别吗?在MathML数学元素上?

贾斯汀

之间有什么区别

<math display="inline"></math>

<math style="display: inline;"></math>

谢谢!

彼得·克劳茨伯格(Peter Krautzberger)

虽然display="inline"并且style="display:inline"通常具有相似的行为,但MathML的display属性和CSS的display属性是非常不同的东西。

虽然两者都应类似地影响“外部”布局(即MathML表达式如何适应其周围的上下文),但它们最终是无关的,并且在发生冲突时可能以意外的方式进行交互。这也许不足为奇,因为它们是在完全不同的标准中指定的,并且它们的交互作用在任何地方都没有指定。有关某些示例,请参见最后的代码段。SVG(HTML5中包含的另一种XML语言)正在寻求SVG和CSS工作组的积极开发来协调一致,而MathML不再处于积极开发中,因此将来不会与CSS保持一致。

重要区别可能如下:

  • MathML的属性只有两个值(inlineblock),而CSS提供了多种display属性这主要是由于MathML与其上下文无关(因为它是XML语言)。这意味着您通常必须同时设置两个值,这可能会导致维护问题。

  • MathML的display属性会影响表达式的内部布局。这是因为它会影响MathML的displaystyle属性,从而导致对可移动限制进行不同的排版;例如,有关更多信息,请参见https://www.w3.org/Math/draft-spec/mathml.html#chapter2_interf.toplevel.atts

此外,对MathML的polyfill的需求进一步复杂化,因为它们可能会以不同的方式处理交互(如在下面的示例中使用按钮加载MathJax时所见)。由于未指定任何内容,因此这里当然没有对与错。

var button = document.getElementById('button');
var loadMathJax = function() {
 script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=MML_CHTML-full';
  document.head.appendChild(script); 
}
button.onclick = loadMathJax;
<button id="button">Render with MathJax</button>

<h1>MathML inline, CSS inline</h1>

Hello <math xmlns="http://www.w3.org/1998/Math/MathML">
  <msup>
    <mrow>
      <mo>(</mo>
      <mrow>
        <munderover>
          <mo>&#x2211;<!-- ∑ --></mo>
          <mrow class="MJX-TeXAtom-ORD">
            <mi>k</mi>
            <mo>=</mo>
            <mn>1</mn>
          </mrow>
          <mi>n</mi>
        </munderover>
        <msub>
          <mi>a</mi>
          <mi>k</mi>
        </msub>
        <msub>
          <mi>b</mi>
          <mi>k</mi>
        </msub>
      </mrow>
      <mo>)</mo>
    </mrow>
    <mrow class="MJX-TeXAtom-ORD">
      <mn>2</mn>
    </mrow>
  </msup>
</math>
World.

<h1>MathML inline, CSS block</h1>
Hello.
<math style="display:block" xmlns="http://www.w3.org/1998/Math/MathML">
  <msup>
    <mrow>
      <mo>(</mo>
      <mrow>
        <munderover>
          <mo>&#x2211;<!-- ∑ --></mo>
          <mrow class="MJX-TeXAtom-ORD">
            <mi>k</mi>
            <mo>=</mo>
            <mn>1</mn>
          </mrow>
          <mi>n</mi>
        </munderover>
        <msub>
          <mi>a</mi>
          <mi>k</mi>
        </msub>
        <msub>
          <mi>b</mi>
          <mi>k</mi>
        </msub>
      </mrow>
      <mo>)</mo>
    </mrow>
    <mrow class="MJX-TeXAtom-ORD">
      <mn>2</mn>
    </mrow>
  </msup>
</math>
World.

<h1>MathML block, CSS inline</h1>

Hello <math display="block" style="display:inline" xmlns="http://www.w3.org/1998/Math/MathML">
  <msup>
    <mrow>
      <mo>(</mo>
      <mrow>
        <munderover>
          <mo>&#x2211;<!-- ∑ --></mo>
          <mrow class="MJX-TeXAtom-ORD">
            <mi>k</mi>
            <mo>=</mo>
            <mn>1</mn>
          </mrow>
          <mi>n</mi>
        </munderover>
        <msub>
          <mi>a</mi>
          <mi>k</mi>
        </msub>
        <msub>
          <mi>b</mi>
          <mi>k</mi>
        </msub>
      </mrow>
      <mo>)</mo>
    </mrow>
    <mrow class="MJX-TeXAtom-ORD">
      <mn>2</mn>
    </mrow>
  </msup>
</math>
World.



<h1>MathML inline with displaystyle, CSS inline</h1>

Hello <math xmlns="http://www.w3.org/1998/Math/MathML" displaystyle="true">
  <msup>
    <mrow>
      <mo>(</mo>
      <mrow>
        <munderover>
          <mo>&#x2211;<!-- ∑ --></mo>
          <mrow class="MJX-TeXAtom-ORD">
            <mi>k</mi>
            <mo>=</mo>
            <mn>1</mn>
          </mrow>
          <mi>n</mi>
        </munderover>
        <msub>
          <mi>a</mi>
          <mi>k</mi>
        </msub>
        <msub>
          <mi>b</mi>
          <mi>k</mi>
        </msub>
      </mrow>
      <mo>)</mo>
    </mrow>
    <mrow class="MJX-TeXAtom-ORD">
      <mn>2</mn>
    </mrow>
  </msup>
</math>
World.

<h1>MathML inline with displaystyle, CSS block</h1>
Hello.
<math style="display:block" displaystyle="true" xmlns="http://www.w3.org/1998/Math/MathML">
  <msup>
    <mrow>
      <mo>(</mo>
      <mrow>
        <munderover>
          <mo>&#x2211;<!-- ∑ --></mo>
          <mrow class="MJX-TeXAtom-ORD">
            <mi>k</mi>
            <mo>=</mo>
            <mn>1</mn>
          </mrow>
          <mi>n</mi>
        </munderover>
        <msub>
          <mi>a</mi>
          <mi>k</mi>
        </msub>
        <msub>
          <mi>b</mi>
          <mi>k</mi>
        </msub>
      </mrow>
      <mo>)</mo>
    </mrow>
    <mrow class="MJX-TeXAtom-ORD">
      <mn>2</mn>
    </mrow>
  </msup>
</math>
World.

<h1>MathML block without displaystyle, CSS inline</h1>

Hello <math display="block" displaystyle="false" style="display:inline" xmlns="http://www.w3.org/1998/Math/MathML">
  <msup>
    <mrow>
      <mo>(</mo>
      <mrow>
        <munderover>
          <mo>&#x2211;<!-- ∑ --></mo>
          <mrow class="MJX-TeXAtom-ORD">
            <mi>k</mi>
            <mo>=</mo>
            <mn>1</mn>
          </mrow>
          <mi>n</mi>
        </munderover>
        <msub>
          <mi>a</mi>
          <mi>k</mi>
        </msub>
        <msub>
          <mi>b</mi>
          <mi>k</mi>
        </msub>
      </mrow>
      <mo>)</mo>
    </mrow>
    <mrow class="MJX-TeXAtom-ORD">
      <mn>2</mn>
    </mrow>
  </msup>
</math>
World.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

display:<p>和<div>中的inline-block

来自分类Dev

为什么使用display时div之间的间距:inline-block

来自分类Dev

说出element1,element2 {display:inline block;}和element1 + element2(display:inline block;)有什么区别?

来自分类Dev

CSS display:inline-table = div右边有1px的奇怪空白

来自分类Dev

Media Query Not Working display:none to display:inline

来自分类Dev

如何使用display:inline box固定宽度

来自分类Dev

CSS宽度和高度不适用于带有display:inline的div

来自分类Dev

IE9完全不支持display:inline-flex吗?

来自分类Dev

'display:block;之间的区别 float:left'vs.'display:inline-block; 向左飘浮'?

来自分类Dev

为什么将display:none设置为inline-block div中的一个元素,会使inline-block不呈现为inline-block;

来自分类Dev

是否可以利用display:none和display:inline取消隐藏嵌套元素的隐藏?

来自分类Dev

<div>元素在使用display:inline或float:left时消失

来自分类Dev

子元素中的display:flex破坏了父元素的display:inline

来自分类Dev

CSS可能会与`display:block'这样的边距重叠,但带有`display:inline-block`的边距

来自分类Dev

为什么空的Display Inline块元素会创建高度,而Display Inline和Display块却不能创建高度?

来自分类Dev

强制<summary>表现为display:inline而不是inline-block

来自分类Dev

display:<p>和<div>中的inline-block

来自分类Dev

CSS display:inline-table = div右边有1px的空白

来自分类Dev

导航被display:inline破坏了

来自分类Dev

CSS宽度和高度不适用于带有display:inline的div

来自分类Dev

使用display:inline-block的CSS问题

来自分类Dev

为什么将display:none设置为inline-block div中的一个元素,会使inline-block不呈现为inline-block;

来自分类Dev

CSS在缩放时会忽略“ display:inline”

来自分类Dev

使用display:inline或float:left时<div>元素消失

来自分类Dev

display:inline不支持边框

来自分类Dev

尝试使div在按钮上按下时随着过渡时间和延迟淡入,但是无法为display:none和display:inline之间的动画设置动画吗?

来自分类Dev

CSS可能会与`display:block'这样的边距重叠,但带有`display:inline-block`的边距

来自分类Dev

style=display: inline-block 时无法输入文本;使用 Webdriver Selenium

来自分类Dev

容器内具有相对位置的元素不会与 display: inline 水平对齐

Related 相关文章

  1. 1

    display:<p>和<div>中的inline-block

  2. 2

    为什么使用display时div之间的间距:inline-block

  3. 3

    说出element1,element2 {display:inline block;}和element1 + element2(display:inline block;)有什么区别?

  4. 4

    CSS display:inline-table = div右边有1px的奇怪空白

  5. 5

    Media Query Not Working display:none to display:inline

  6. 6

    如何使用display:inline box固定宽度

  7. 7

    CSS宽度和高度不适用于带有display:inline的div

  8. 8

    IE9完全不支持display:inline-flex吗?

  9. 9

    'display:block;之间的区别 float:left'vs.'display:inline-block; 向左飘浮'?

  10. 10

    为什么将display:none设置为inline-block div中的一个元素,会使inline-block不呈现为inline-block;

  11. 11

    是否可以利用display:none和display:inline取消隐藏嵌套元素的隐藏?

  12. 12

    <div>元素在使用display:inline或float:left时消失

  13. 13

    子元素中的display:flex破坏了父元素的display:inline

  14. 14

    CSS可能会与`display:block'这样的边距重叠,但带有`display:inline-block`的边距

  15. 15

    为什么空的Display Inline块元素会创建高度,而Display Inline和Display块却不能创建高度?

  16. 16

    强制<summary>表现为display:inline而不是inline-block

  17. 17

    display:<p>和<div>中的inline-block

  18. 18

    CSS display:inline-table = div右边有1px的空白

  19. 19

    导航被display:inline破坏了

  20. 20

    CSS宽度和高度不适用于带有display:inline的div

  21. 21

    使用display:inline-block的CSS问题

  22. 22

    为什么将display:none设置为inline-block div中的一个元素,会使inline-block不呈现为inline-block;

  23. 23

    CSS在缩放时会忽略“ display:inline”

  24. 24

    使用display:inline或float:left时<div>元素消失

  25. 25

    display:inline不支持边框

  26. 26

    尝试使div在按钮上按下时随着过渡时间和延迟淡入,但是无法为display:none和display:inline之间的动画设置动画吗?

  27. 27

    CSS可能会与`display:block'这样的边距重叠,但带有`display:inline-block`的边距

  28. 28

    style=display: inline-block 时无法输入文本;使用 Webdriver Selenium

  29. 29

    容器内具有相对位置的元素不会与 display: inline 水平对齐

热门标签

归档