This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The ruby-position CSS property defines the position of a ruby element relatives to its base element. It can be position over the element (over), under it (under), or between the characters, on their right side (inter-character).

/* Keyword values */
ruby-position: over;
ruby-position: under;
ruby-position: inter-character;

/* Global values */
ruby-position: inherit;
ruby-position: initial;
ruby-position: unset;

Initial valueover
Applies toruby annotations containers
Inheritedyes
Mediavisual
Computed valueas specified
Animation typediscrete
Canonical orderthe unique non-ambiguous order defined by the formal grammar

Syntax

Values

over
Over exampleIs a keyword indicating that the ruby has to be placed over the main text for horizontal scripts and right to it for vertical scripts.
under
Under exampleIs a keyword indicating that the ruby has to be placed under the main text for horizontal scripts and left to it for vertical scripts.
inter-character
Is a keyword indicating that the ruby has to be placed between the different characters.

Formal syntax

over | under | inter-character

Examples

This HTML will render differently with each value of ruby-position:

<ruby>
  <rb>超電磁砲</rb>
  <rp>(</rp><rt>レールガン</rt><rp>)</rp>
</ruby>

Ruby positioned over the text

ruby {
    ruby-position:over;
}

This gives the following result:

Ruby positioned under the text

ruby {
    ruby-position:under;
}

This gives the following result:

Specifications

Specification Status Comment
CSS Ruby Layout Module Level 1
The definition of 'ruby-position' in that specification.
Working Draft Initial definition

Browser compatibility

 

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic support
Experimental
Chrome No support NoEdge Full support 12Firefox Full support 38IE No support No
Notes
No support No
Notes
Notes Internet Explorer 9 and later support an old draft values: inline (equivalent of having display: inline on the ruby), and above (synonym of the modern over).
Opera ? Safari No support No
Notes
No support No
Notes
Notes Safari implements a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).
WebView Android No support NoChrome Android ? Edge Mobile Full support YesFirefox Android Full support 38Opera Android No support NoSafari iOS No support No
Notes
No support No
Notes
Notes Safari implements a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).
Samsung Internet Android No support No
inter-character
Experimental
Chrome No support NoEdge ? Firefox No support NoIE No support NoOpera ? Safari No support NoWebView Android No support NoChrome Android ? Edge Mobile No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.

 

See also

Document Tags and Contributors

Contributors to this page: chrisdavidmills, Siilwyn, fscholz, mfluehr, erikadoyle, Sebastianz, teoli
Last updated by: chrisdavidmills,