ruby-overhang
试一试
ruby-overhang: auto;
ruby-overhang: none;
<section id="default-example">
<p id="example-element">
あの<ruby>表<rp>(</rp><rt>ひょう</rt><rp>)</rp></ruby
><ruby>現<rp>(</rp><rt>げん</rt><rp>)</rp></ruby>は面白い。
</p>
</section>
#default-example {
font-size: 2em;
}
语法
css
/* Keyword values */
ruby-overhang: auto;
ruby-overhang: none;
/* Global values */
ruby-overhang: inherit;
ruby-overhang: initial;
ruby-overhang: revert;
ruby-overhang: revert-layer;
ruby-overhang: unset;
值
描述
ruby-overhang
属性控制 Ruby 注释文本框(<rt>
)是否可以重叠 <ruby>
容器框之外的相邻文本。
当不允许 Ruby 注释文本悬挂时——当 <ruby>
元素上设置 ruby-overhang: none
时——该元素表现得像一个内联框,就像它的 display
属性设置为 inline
,只有它自己的内容在其边界内渲染,相邻元素不跨越边界框。
默认情况下,允许 <rt>
元素的内容悬挂,因此内容可能会重叠 <ruby>
容器框,部分渲染在周围的内联级别内容之上或之下。对于默认值 auto
,内容可能会悬挂,但如果这样做会重叠相邻的 <rt>
元素或 display
值解析为 ruby-base
或 ruby-text
的元素,则不会悬挂。
正式定义
正式语法
ruby-overhang =
auto |
none
示例
Ruby 悬挂基本文本
此示例演示了 ruby-overhang
属性的两个值。
HTML
我们包含两个段落,它们除了类名之外,具有相同的 <ruby>
内容和结构。
html
<p class="auto">
あの<ruby>表<rp>(</rp><rt>ひょう</rt><rp>)</rp></ruby
><ruby>現<rp>(</rp><rt>げん</rt><rp>)</rp></ruby>は面白い。
</p>
<p class="none">
あの<ruby>表<rp>(</rp><rt>ひょう</rt><rp>)</rp></ruby
><ruby>現<rp>(</rp><rt>げん</rt><rp>)</rp></ruby>は面白い。
</p>
CSS
一个 1px
的红色 outline
有助于突出显示 <rt>
元素的文本注释。第一段的 ruby-overhang: auto
,第二段的 ruby-overhang: none
。
css
p {
font-size: 40px;
display: block;
margin: 0.5rem;
}
rt {
font-size: 28px;
outline: 1px solid red;
}
.auto {
ruby-overhang: auto;
}
.none {
ruby-overhang: none;
}
结果
当 ruby-overhang
设置为 none
时,注释文本不允许重叠基本 Ruby 文本的相邻框。如果你仔细观察,你可能会注意到在第一段中,包含 Ruby 文本的红色框略微重叠了不相关的 <ruby>
内容的一部分,而在支持的浏览器中,在 none
示例中,Ruby 内容和不相关的 Ruby 文本之间没有重叠。
规范
规范 |
---|
CSS Ruby 注释布局模块级别 1 # propdef-ruby-overhang |
浏览器兼容性
加载中…
另见
ruby-align
text-transform
: full-size-kana<ruby>
<rt>
<rp>