text-underline-position

Baseline 廣泛可用 *

此特性已經十分成熟,可在許多裝置和瀏覽器版本上使用。自 2020 年 7 月以來,它已在各大瀏覽器中可用。

* 此特性的某些部分可能存在不同級別的支援。

text-underline-position CSS 屬性指定了使用 text-decoration 屬性的 underline 值設定的下劃線的位置。

試一試

text-underline-position: auto;
text-underline-position: under;
<section id="default-example">
  <p>
    <span class="transition-all" id="example-element"
      >C<sub>8</sub>H<sub>10</sub>N<sub>4</sub>O<sub>2</sub></span
    >
    is the chemical formula for caffeine.
  </p>
</section>
p {
  font: 1.5em sans-serif;
}

#example-element {
  text-decoration-line: underline;
}

語法

css
/* Single keyword */
text-underline-position: auto;
text-underline-position: under;
text-underline-position: left;
text-underline-position: right;

/* Multiple keywords */
text-underline-position: under left;
text-underline-position: right under;

/* Global values */
text-underline-position: inherit;
text-underline-position: initial;
text-underline-position: revert;
text-underline-position: revert-layer;
text-underline-position: unset;

auto

使用者代理使用其自身的演算法將下劃線放置在字母基線處或其下方。

from-font

如果字型檔案包含首選位置的資訊,則使用該值。如果字型檔案不包含此資訊,則表現為設定了 auto,瀏覽器選擇一個合適的位置。

強制將下劃線設定在字母基線下方,位於不會穿過任何下行字母的位置。這對於確保包含大量下標的化學和數學公式的易讀性很有用。

left

在垂直書寫模式下,此關鍵字強制下劃線位於文字的左側。在水平書寫模式下,它是 auto 的同義詞。

在垂直書寫模式下,此關鍵字強制下劃線位於文字的右側。在水平書寫模式下,它是 auto 的同義詞。

正式定義

初始值auto
應用於所有元素
繼承性
計算值同指定值
動畫型別離散

正式語法

text-underline-position = 
auto |
[ from-font | under ] || [ left | right ]

示例

一個基本示例

我們建立了兩個示例文字段落。

html
<p class="horizontal">
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam consectetur ac
  turpis vel laoreet. Nullam volutpat pharetra lorem, sit amet feugiat tortor
  volutpat quis. Nam eget sodales quam. Aliquam accumsan tellus ac erat posuere.
</p>

<p class="vertical">
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam consectetur ac
  turpis vel laoreet. Nullam volutpat pharetra lorem, sit amet feugiat tortor
  volutpat quis. Nam eget sodales quam. Aliquam accumsan tellus ac erat posuere.
</p>

我們的 CSS 如下所示:

css
p {
  font-size: 1.5rem;
  text-transform: capitalize;
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.horizontal {
  text-underline-position: under;
}

.vertical {
  writing-mode: vertical-rl;
  text-underline-position: left;
}

在此示例中,我們將兩個段落都設定為粗下劃線。在水平文字中,我們使用 text-underline-position: under; 將下劃線置於所有下行字母下方。

在設定了垂直 writing-mode 的文字中,我們可以使用 leftright 值,根據需要使下劃線出現在文字的左側或右側。

即時示例如下:

全域性設定 text-underline-position

由於 text-underline-position 屬性是繼承的,並且不會被 text-decoration 簡寫屬性重置,因此在全域性級別設定其值可能是合適的。例如,under 值可能適用於包含大量下標的化學和數學公式的文件。

css
:root {
  text-underline-position: under;
}

規範

規範
CSS 文字裝飾模組級別 3
# text-underline-position 屬性

瀏覽器相容性

另見