こんにちは。
いろいろ勘違いされているかと思います。
margin-auto
というプロパティはありません。おそらくmargin-left: auto
の間違いではないかと思います。
text-align
はその要素の内部にあるテキストに効きます。
ですので、<div style={{display: 'inline-block'}}> 閉じる </div>
にtext-align: right
を適用すると、その内部のテキストである「 閉じる 」が<div style={{display: 'inline-block'}}></div>
に対して右寄せされる、ということです。
<div style={{display: 'inline-block'}}></div>
自体は右寄せされません。
inline-blockの水平方向はこのように決められています。
If 'width' is 'auto', the used value is the shrink-to-fit width as for floating elements.
A computed value of 'auto' for 'margin-left' or 'margin-right' becomes a used value of '0'.
10.3.9 'Inline-block', non-replaced elements in normal flow | Visual formatting model details
(勝手訳)もし'width' が 'auto' である場合、フロート要素のように、内容物に合わせて縮みます。'margin-left' や 'margin-right' が 'auto' である場合、0が用いられます。
ですので、マージンについては、autoは0になってしまうため意味がありません。
また、<div style={{display: 'inline-block'}}></div>
は「 閉じる 」というテキストと同じ幅を持ちます。
文字列と同じ幅の中で右寄せしようと左寄せしようと、何も変わらないのはご理解いただけるかと思います。
text-align:right
に意味を持たせるためには、widthを指定する必要があります。
とりあえず、float:right
をお試しになってはいかがですか?