dominant-baseline
dominant-baseline 屬性指定主基線,它是用於對齊框的文字和內聯級內容的基線。它還指示框的對齊上下文中參與基線對齊的任何框的預設對齊基線。
它用於確定或重新確定縮放基線表。縮放基線表是一個具有三個元件的複合值
- 主基線的基線識別符號,
- 基線表,以及
- 基線表字體大小。
該屬性的一些值會重新確定所有三個值。其他值僅重新建立基線表字體大小。當初始值 auto 會產生不希望的結果時,可以使用此屬性顯式設定所需的縮放基線表。
如果標稱字型中沒有基線表,或者如果基線表缺少所需基線的條目,則瀏覽器可能會使用啟發式方法來確定所需基線的位置。
注意:作為表示屬性,dominant-baseline 可以用作 CSS 屬性。有關更多資訊,請參閱 dominant-baseline。
您可以將此屬性與以下 SVG 元素一起使用
示例
<svg viewBox="0 0 200 120" xmlns="http://www.w3.org/2000/svg">
<path d="M20,20 L180,20 M20,50 L180,50 M20,80 L180,80" stroke="grey" />
<text dominant-baseline="auto" x="30" y="20">Auto</text>
<text dominant-baseline="middle" x="30" y="50">Middle</text>
<text dominant-baseline="hanging" x="30" y="80">Hanging</text>
</svg>
用法說明
| 值 |
auto | text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top |
|---|---|
| 預設值 | auto |
| 可動畫 | 離散 |
auto-
如果此屬性出現在
<text>元素上,則計算出的值取決於writing-mode屬性的值。如果
writing-mode為水平,則主基線元件的值為alphabetic。否則,如果writing-mode為垂直,則主基線元件的值為central。如果此屬性出現在
<tspan>、<tref>或<textPath>元素上,則主基線和基線表元件保持與父文字內容元素的元件相同。如果計算出的
baseline-shift值實際上會移動基線,則基線表字體大小元件設定為dominant-baseline屬性所在的元素的font-size屬性的值,否則基線表字體大小保持與該元素的字型大小相同。如果沒有父文字內容元素,則縮放基線表值將如上所述為
<text>元素構建。 use-script已棄用-
主基線和基線表元件透過確定字元資料內容的主要指令碼進行設定。
writing-mode(無論是水平還是垂直)都用於選擇合適的基線表集,並且主基線用於選擇對應於該基線的基線表。基線表字體大小元件設定為dominant-baseline屬性所在的元素的font-size屬性的值。 no-change已棄用-
主基線、基線表和基線表字體大小保持與父文字內容元素的相同。
reset-size已棄用-
主基線和基線表保持不變,但基線表字體大小更改為此元素的
font-size屬性的值。這會根據當前的font-size重新縮放基線表。 ideographic-
主基線的基線識別符號設定為
ideographic,派生基線表使用字型中的ideographic基線表構建,並且基線表字體大小更改為此元素的font-size屬性的值。 alphabetic-
主基線的基線識別符號設定為
alphabetic,派生基線表使用字型中的alphabetic基線表構建,並且基線表字體大小更改為此元素的font-size屬性的值。 hanging-
主基線的基線識別符號設定為
hanging,派生基線表使用字型中的hanging基線表構建,並且基線表字體大小更改為此元素的font-size屬性的值。 mathematical-
主基線的基線識別符號設定為
mathematical,派生基線表使用字型中的mathematical基線表構建,並且基線表字體大小更改為此元素的font-size屬性的值。 central-
主基線的基線識別符號設定為
central。派生基線表根據字型中基線表中定義的基線構建。該字型基線表是使用以下基線表名稱優先順序順序選擇的:ideographic、alphabetic、hanging、mathematical。基線表字體大小更改為此元素的font-size屬性的值。 middle-
主基線識別符號設定為
middle。派生基線表是從字型中基線表中定義的基線構建的。使用以下基線表名稱優先順序順序選擇該字型基線表:alphabetic、ideographic、hanging、mathematical。基線表字體大小更改為此元素的font-size屬性的值。 text-after-edge-
主基線識別符號設定為
text-after-edge。派生基線表是從字型中基線表中定義的基線構建的。從字型中的基線表中選擇哪個字型基線表取決於瀏覽器。基線表字體大小更改為此元素的font-size屬性的值。 text-before-edge-
主基線識別符號設定為
text-before-edge。派生基線表是從字型中基線表中定義的基線構建的。從字型中的基線表中選擇哪個基線表取決於瀏覽器。基線表字體大小更改為此元素的font-size屬性的值。 text-top-
此值使用 em 方框的頂部作為基線。
SVG
<svg
width="400"
height="300"
viewBox="0 0 300 300"
xmlns="http://www.w3.org/2000/svg">
<!-- Materialization of anchors -->
<path
d="M60,20 L60,270
M30,20 L400,20
M30,70 L400,70
M30,120 L400,120
M30,170 L400,170
M30,220 L400,220
M30,270 L400,270"
stroke="grey" />
<!-- Anchors in action -->
<text dominant-baseline="auto" x="70" y="20">auto</text>
<text dominant-baseline="middle" x="70" y="70">middle</text>
<text dominant-baseline="hanging" x="70" y="170">hanging</text>
<text dominant-baseline="mathematical" x="70" y="220">mathematical</text>
<text dominant-baseline="text-top" x="70" y="270">text-top</text>
<!-- Materialization of anchors -->
<circle cx="60" cy="20" r="3" fill="red" />
<circle cx="60" cy="70" r="3" fill="red" />
<circle cx="60" cy="120" r="3" fill="red" />
<circle cx="60" cy="170" r="3" fill="red" />
<circle cx="60" cy="220" r="3" fill="red" />
<circle cx="60" cy="270" r="3" fill="red" />
<style>
<![CDATA[
text {
font: bold 30px Verdana, Helvetica, Arial, sans-serif;
}
]]>
</style>
</svg>
結果
規範
| 規範 |
|---|
| 可縮放向量圖形 (SVG) 2 # DominantBaselineProperty |
| CSS 內聯佈局模組第 3 級 # dominant-baseline 屬性 |
瀏覽器相容性
BCD 表格僅在瀏覽器中載入
另請參閱
- CSS
dominant-baseline屬性