@@ -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 ) ;
0 commit comments