math

L'élément racine de MathML est <math>. Tout objet représenté en MathML doit être encadré de balises <math>. De plus, il est interdit d'imbriquer un autre élément <math> à l'intérieur d'un premier. Il est toutefois possible d'avoir un nombre arbitraire d'éléments fils à l'intérieur d'un élément <math>.

Attributs

En plus des attributs qui suivent, l'élément <math> accepte tous les attributs de l'élément <mstyle>.

class, id, style
Afin d'être utilisés avec les feuilles de style.
dir
 Le sens global de lecture des formules. Les valeurs possibles sont ltr (gauche à droite) ou rtl (droite à gauche).
href
Un hyperlien pointant vers un URI donné.
mathbackground
La couleur de fond. Il est possible d'utiliser les codes au format #rgb, #rrggbb et les noms de couleurs HTML.
mathcolor
La couleur du texte. Il est possible d'utiliser les codes au format #rgb, #rrggbb et les noms de couleurs HTML.
display
Cet attribut à valeur donnée définit la façon dont le balisage MathML doit être rendu. Il peut avoir l'une des valeurs suivantes :
  • block, ce qui signifie que cet élément sera affiché en dehors du fragment de texte courant, comme un bloc qui pourra être positionné n'importe où sans que cela change le sens du texte ;
  • inline, ce qui signifie que cet élément sera affiché au sein du fragment de texte courant et qu'il ne peut pas être déplacé sans que cela change le sens de ce texte.

La valeur par défaut, si l'attribut n'est pas présent, est inline.

mode
Déprécié. L'attribut display doit être utilisé à la place. (Les anciennes valeurs possibles pour cet attribut était display - équivalent à display="block" et inline)
overflow
Définit comment l'affichage de la formule est géré si celle-ci est trop grande pour être insérée dans l'espace alloué.
Les valeurs possible pour cet attribut sont : linebreak (la valeur par défaut), scroll, elide, truncate, scale.

Exemples

Theorem of Pythagoras

Notation HTML5

<!DOCTYPE html>
<html>
  <head>
    <title>MathML en HTML5</title>
  </head>
  <body>

  <math>
    <mrow>
      <mrow>
        <msup>
          <mi>a</mi>
          <mn>2</mn>
        </msup>
        <mo>+</mo>
        <msup>
          <mi>b</mi>
          <mn>2</mn>
        </msup>
      </mrow>
      <mo>=</mo>
      <msup>
        <mi>c</mi>
        <mn>2</mn>
      </msup>
    </mrow>
  </math>

  </body>
</html> 

Notation XHTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>MathML en XHTML</title>
</head>
<body>

  <math xmlns="http://www.w3.org/1998/Math/MathML">
    <mrow>
      <mrow>
        <msup>
          <mi>a</mi>
          <mn>2</mn>
        </msup>
        <mo>+</mo>
        <msup>
          <mi>b</mi>
          <mn>2</mn>
        </msup>
      </mrow>
      <mo>=</mo>
      <msup>
        <mi>c</mi>
        <mn>2</mn>
      </msup>
    </mrow>
  </math>

</body>
</html>

Note : Les documents XHTML avec du MathML doivent être servis en tant que application/xhtml+xml. Ceci est facilement réalisable en ajoutant l'extension .xhtml aux fichiers locaux. Pour les serveurs Apache, il est possible de configurer le fichier .htaccess afin que les extensions correspondent au type MIME correct. Étant donné qu'ici le MathML est utilisé au sein d'un document XML, il faut s'assurer que celui-ci est bien formé.

Spécifications

Spécification Statut Commentaires
MathML 3.0
La définition de 'The Top-Level math Element' dans cette spécification.
Recommendation Spécification actuelle
MathML 2.0
La définition de 'The Top-Level math Element' dans cette spécification.
Recommendation Spécification initiale

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
mathChrome Aucun support 24 — 25Edge Aucun support NonFirefox Support complet 4
Support complet 4
Support partiel 1
Notes
Notes Only supported in XHTML documents.
IE Aucun support NonOpera Aucun support 9.5 — 15
Notes
Aucun support 9.5 — 15
Notes
Notes Only supported in XHTML documents.
Safari Support complet 5.1WebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 4Opera Android Aucun support 10.1 — 14
Notes
Aucun support 10.1 — 14
Notes
Notes Only supported in XHTML documents.
Safari iOS Support complet 5.1Samsung Internet Android Aucun support Non
dirChrome Aucun support NonEdge Aucun support NonFirefox Support complet 12IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 14Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
displayChrome Aucun support 24 — 25Edge Aucun support NonFirefox Support complet 1IE Aucun support NonOpera Aucun support NonSafari Support complet 5.1WebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 4Opera Android Aucun support NonSafari iOS Support complet 5.1Samsung Internet Android Aucun support Non
hrefChrome Aucun support NonEdge Aucun support NonFirefox Support complet 7IE Aucun support NonOpera Aucun support NonSafari Aucun support Non
Notes
Aucun support Non
Notes
Notes See WebKit bug 85733
WebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 7Opera Android Aucun support NonSafari iOS Aucun support Non
Notes
Aucun support Non
Notes
Notes See WebKit bug 85733
Samsung Internet Android Aucun support Non
mathbackgroundChrome Aucun support 24 — 25Edge Aucun support NonFirefox Support complet 4IE Aucun support NonOpera Aucun support NonSafari Support complet 5.1WebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 4Opera Android Aucun support NonSafari iOS Support complet 5.1Samsung Internet Android Aucun support Non
mathcolorChrome Aucun support 24 — 25Edge Aucun support NonFirefox Support complet 4IE Aucun support NonOpera Aucun support NonSafari Support complet 5.1WebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 4Opera Android Aucun support NonSafari iOS Support complet 5.1Samsung Internet Android Aucun support Non
mode
Obsolète
Chrome Aucun support 24 — 25Edge Aucun support NonFirefox Aucun support 1 — 70IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 4Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
overflowChrome Aucun support NonEdge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Notes relatives à Firefox

Firefox 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4) a introduit le support de tous les attributs MathML sur l'élément racine math (c'est à dire le même comportement que l'élément <mstyle>). Cependant, l'attribut displaystyle n'avait pas été pris en compte et a été ajouté dans Firefox 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5).

Un moyen textuel alternatif (alttext) ou une référence à une image alternative utilisant les attributs altimg, altimg-width, altimg-height ou altimg-valign n'est pas encore, à l'heure actuelle, implémentée dans Firefox.

Voir aussi

  • L'élément racine HTML : <html>
  • L'élément racine SVG : <svg>
  • Test MathML pour les navigateurs : en XHTML et HTML5