Skip to content

Commit 46d5f1c

Browse files
committed
Handle rowalign through attribute and CSS rather than direct style.
1 parent 5aea508 commit 46d5f1c

File tree

3 files changed

+34
-20
lines changed

3 files changed

+34
-20
lines changed

mathjax3-ts/output/chtml/Wrappers/mtable.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -66,21 +66,6 @@ export class CHTMLmtable<N, T, D> extends CHTMLWrapper<N, T, D> {
6666
},
6767
'mjx-mtable[width] > mjx-itable': {
6868
width: '100%'
69-
},
70-
'mjx-mtr[rowalign="top"] > mjx-mtd, mjx-mlabeledtr[rowalign="top"] > mjx-mtd': {
71-
'vertical-align': 'top'
72-
},
73-
'mjx-mtr[rowalign="center"] > mjx-mtd, mjx-mlabeledtr[rowalign="center"] > mjx-mtd': {
74-
'vertical-align': 'middle'
75-
},
76-
'mjx-mtr[rowalign="bottom"] > mjx-mtd, mjx-mlabeledtr[rowalign="bottom"] > mjx-mtd': {
77-
'vertical-align': 'bottom'
78-
},
79-
'mjx-mtr[rowalign="baseline"] > mjx-mtd, mjx-mlabeledtr[rowalign="baseline"] > mjx-mtd': {
80-
'vertical-align': 'baseline'
81-
},
82-
'mjx-mtr[rowalign="axis"] > mjx-mtd, mjx-mlabeledtr[rowalign="axis"] > mjx-mtd': {
83-
'vertical-align': '.25em'
8469
}
8570
};
8671

mathjax3-ts/output/chtml/Wrappers/mtd.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,21 @@ export class CHTMLmtd<N, T, D> extends CHTMLWrapper<N, T, D> {
6060
display: 'inline-block',
6161
height: '1em',
6262
'vertical-align': '-.25em'
63+
},
64+
'mjx-mtr mjx-mtd[rowalign="top"], mjx-mlabeledtr mjx-mtd[rowalign="top"]': {
65+
'vertical-align': 'top'
66+
},
67+
'mjx-mtr mjx-mtd[rowalign="center"], mjx-mlabeledtr mjx-mtd[rowalign="center"]': {
68+
'vertical-align': 'middle'
69+
},
70+
'mjx-mtr mjx-mtd[rowalign="bottom"], mjx-mlabeledtr mjx-mtd[rowalign="bottom"]': {
71+
'vertical-align': 'bottom'
72+
},
73+
'mjx-mtr mjx-mtd[rowalign="baseline"], mjx-mlabeledtr mjx-mtd[rowalign="baseline"]': {
74+
'vertical-align': 'baseline'
75+
},
76+
'mjx-mtr mjx-mtd[rowalign="axis"], mjx-mlabeledtr mjx-mtd[rowalign="axis"]': {
77+
'vertical-align': '.25em'
6378
}
6479
};
6580

@@ -70,8 +85,9 @@ export class CHTMLmtd<N, T, D> extends CHTMLWrapper<N, T, D> {
7085
super.toCHTML(parent);
7186
const ralign = this.node.attributes.get('rowalign') as string;
7287
const calign = this.node.attributes.get('columnalign') as string;
73-
if (ralign !== 'baseline' && ralign !== 'axis') {
74-
this.adaptor.setStyle(this.chtml, 'verticalAlign', (ralign === 'center' ? 'middle' : ralign));
88+
const palign = this.parent.node.attributes.get('rowalign') as string;
89+
if (ralign !== palign) {
90+
this.adaptor.setAttribute(this.chtml, 'rowalign', ralign);
7591
}
7692
if (calign !== 'center') {
7793
this.adaptor.setStyle(this.chtml, 'textAlign', calign);

mathjax3-ts/output/chtml/Wrappers/mtr.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,21 @@ export class CHTMLmtr<N, T, D> extends CHTMLWrapper<N, T, D> {
4444
public static styles: StyleList = {
4545
'mjx-mtr': {
4646
display: 'table-row',
47+
},
48+
'mjx-mtr[rowalign="top"] > mjx-mtd, mjx-mlabeledtr[rowalign="top"] > mjx-mtd': {
49+
'vertical-align': 'top'
50+
},
51+
'mjx-mtr[rowalign="center"] > mjx-mtd, mjx-mlabeledtr[rowalign="center"] > mjx-mtd': {
52+
'vertical-align': 'middle'
53+
},
54+
'mjx-mtr[rowalign="bottom"] > mjx-mtd, mjx-mlabeledtr[rowalign="bottom"] > mjx-mtd': {
55+
'vertical-align': 'bottom'
56+
},
57+
'mjx-mtr[rowalign="baseline"] > mjx-mtd, mjx-mlabeledtr[rowalign="baseline"] > mjx-mtd': {
58+
'vertical-align': 'baseline'
59+
},
60+
'mjx-mtr[rowalign="axis"] > mjx-mtd, mjx-mlabeledtr[rowalign="axis"] > mjx-mtd': {
61+
'vertical-align': '.25em'
4762
}
4863
};
4964

@@ -83,9 +98,7 @@ export class CHTMLmtr<N, T, D> extends CHTMLWrapper<N, T, D> {
8398
public toCHTML(parent: N) {
8499
super.toCHTML(parent);
85100
const align = this.node.attributes.get('rowalign') as string;
86-
if (align !== 'baseline' && align !== 'axis') {
87-
this.adaptor.setStyle(this.chtml, 'verticalAlign', (align === 'center' ? 'middle' : align));
88-
}
101+
this.adaptor.setAttribute(this.chtml, 'rowalign', align);
89102
}
90103

91104
/*

0 commit comments

Comments
 (0)