diff --git a/ts/adaptors/HTMLAdaptor.ts b/ts/adaptors/HTMLAdaptor.ts index 774a2d2e5..c4a20e411 100644 --- a/ts/adaptors/HTMLAdaptor.ts +++ b/ts/adaptors/HTMLAdaptor.ts @@ -69,7 +69,7 @@ export interface MinHTMLElement { className: string; classList: DOMTokenList; style: OptionList; - sheet?: {insertRule: (rule: string) => void}; + sheet?: {insertRule: (rule: string, index?: number) => void}; childNodes: (N | T)[] | NodeList; firstChild: N | T | Node; @@ -518,7 +518,11 @@ AbstractDOMAdaptor implements MinHTMLAdaptor { */ public insertRules(node: N, rules: string[]) { for (const rule of rules.reverse()) { - node.sheet.insertRule(rule); + try { + node.sheet.insertRule(rule, 0); + } catch (e) { + console.warn(`MathJax: can't insert css rule '${rule}': ${e.message}`); + } } } diff --git a/ts/output/chtml/Wrappers/mo.ts b/ts/output/chtml/Wrappers/mo.ts index d8c80ae22..99e9b5f49 100644 --- a/ts/output/chtml/Wrappers/mo.ts +++ b/ts/output/chtml/Wrappers/mo.ts @@ -65,7 +65,8 @@ CommonMoMixin>(CHTMLWrapper) { width: 'initial' }, 'mjx-stretchy-h > mjx-ext': { - overflow: 'hidden', + '/* IE */ overflow': 'hidden', + '/* others */ overflow': 'clip visible', width: '100%' }, 'mjx-stretchy-h > mjx-ext > mjx-c::before': { @@ -103,7 +104,8 @@ CommonMoMixin>(CHTMLWrapper) { height: '100%', 'box-sizing': 'border-box', border: '0px solid transparent', - overflow: 'hidden' + '/* IE */ overflow': 'hidden', + '/* others */ overflow': 'visible clip', }, 'mjx-stretchy-v > mjx-ext > mjx-c::before': { width: 'initial',