Клавиша / esc

ruby-position

Управляем размещением аннотаций (руби-текста) относительно основного текста: над ним, под ним, между символами или в чередующемся порядке.

Время чтения: меньше 5 мин

Кратко

Скопировано

Свойство ruby-position задаёт положение аннотаций <rt> относительно основного текста внутри элемента <ruby>. Это свойство особенно полезно при работе с восточноазиатскими языками, где часто используются руби-аннотации — например, фуригана в японском.

Пример

Скопировано
        
          
          <ruby>  火山  <rp> (</rp>  <rt>Огонь и гора</rt>  <rp>) </rp></ruby><ruby>  花鳥  <rp> (</rp>  <rt>Цветы и птицы</rt>  <rp>) </rp></ruby><ruby>  日月  <rp> (</rp>  <rt>Солнце и луна</rt>  <rp>) </rp></ruby>
          <ruby>
  火山
  <rp> (</rp>
  <rt>Огонь и гора</rt>
  <rp>) </rp>
</ruby>
<ruby>
  花鳥
  <rp> (</rp>
  <rt>Цветы и птицы</rt>
  <rp>) </rp>
</ruby>
<ruby>
  日月
  <rp> (</rp>
  <rt>Солнце и луна</rt>
  <rp>) </rp>
</ruby>

        
        
          
        
      
        
          
          ruby {  ruby-position: under;}
          ruby {
  ruby-position: under;
}

        
        
          
        
      
Открыть демо в новой вкладке

Как пишется

Скопировано
        
          
          .element {  ruby-position: over;}
          .element {
  ruby-position: over;
}

        
        
          
        
      
  • over — аннотация над текстом (или справа, если используется вертикальное письмо).
  • under — аннотация под текстом (или слева при вертикальном письме).
  • inter-character — аннотация располагается между символами базового текста, на правой стороне. Работает только при определённой структуре и может принудительно включать вертикальное направление у аннотаций.
  • alternate — значение по умолчанию, аннотации могут чередоваться между положениями over и under, если их несколько. Это значение используется, например, с элементом <rtc>, где есть аннотации разного уровня.
  • alternate over / alternate under — уточняют порядок чередования при использовании alternate.

Как понять

Скопировано

В языках вроде японского или китайского аннотации нужны, чтобы пояснять произношение или значение символов. Иногда их размещают над символами, иногда — под, особенно в учебных текстах. А если аннотации многоуровневые, их можно чередовать. ruby-position позволяет точно управлять этим расположением.

Открыть демо в новой вкладке

Подсказки

Скопировано

💡 В горизонтальном тексте over = над строкой, under = под строкой.
💡 В вертикальном тексте (writing-mode: vertical-rl) over = справа, under = слева.
💡 inter-character размещает аннотацию между символами базового текста.
💡 Значение alternate позволяет использовать несколько уровней аннотаций, автоматически распределяя их. Поддерживается не во всех браузерах!

Поддержка в браузерах:
  • Chrome 84, поддерживается
  • Edge 84, поддерживается
  • Firefox 38, поддерживается
  • Safari 18.2, поддерживается
О Baseline