dominant-baseline
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.
Thuộc tính dominant-baseline chỉ định đường cơ sở trội, là đường cơ sở được dùng để căn chỉnh văn bản và nội dung mức nội tuyến của hộp. Nó cũng chỉ ra đường cơ sở căn chỉnh mặc định của mọi hộp tham gia vào việc căn chỉnh theo đường cơ sở trong ngữ cảnh căn chỉnh của hộp.
Thuộc tính này được dùng để xác định hoặc xác định lại một scaled-baseline-table. Một scaled-baseline-table là một giá trị tổ hợp gồm ba thành phần:
- một baseline-identifier cho dominant-baseline,
- một baseline-table, và
- một baseline-table font-size.
Một số giá trị của thuộc tính sẽ xác định lại cả ba giá trị. Một số khác chỉ thiết lập lại baseline-table font-size. Khi giá trị ban đầu, auto, tạo ra kết quả không mong muốn, thuộc tính này có thể được dùng để đặt rõ ràng scaled-baseline-table mong muốn.
Nếu không có baseline table trong phông chữ danh nghĩa, hoặc baseline table không có mục nhập cho baseline mong muốn, thì trình duyệt có thể dùng heuristic để xác định vị trí của baseline mong muốn.
Note:
Là một thuộc tính trình bày, dominant-baseline cũng có một thuộc tính CSS tương ứng: dominant-baseline. Khi cả hai được chỉ định, thuộc tính CSS sẽ được ưu tiên.
Bạn có thể dùng thuộc tính này với các phần tử SVG sau:
Ví dụ
<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>
Ghi chú sử dụng
| Giá trị |
auto
|
text-bottom | alphabetic |
ideographic | middle | central |
mathematical | hanging | text-top
|
|---|---|
| Giá trị mặc định | auto |
| Có thể hoạt ảnh | discrete |
auto-
Nếu thuộc tính này xuất hiện trên phần tử
<text>, thì giá trị tính toán phụ thuộc vào giá trị của thuộc tínhwriting-mode.Nếu
writing-modelà horizontal, thì giá trị của thành phần dominant-baseline làalphabetic. Ngược lại, nếuwriting-modelà vertical, thì giá trị của thành phần dominant-baseline làcentral.Nếu thuộc tính này xuất hiện trên phần tử
<tspan>hoặc<textPath>, thì các thành phần dominant-baseline và baseline-table vẫn giữ nguyên như của phần tử nội dung văn bản cha.Nếu giá trị
baseline-shiftđược tính toán thực sự dịch chuyển baseline, thì thành phần baseline-table font-size được đặt thành giá trị của thuộc tínhfont-sizetrên phần tử nơi thuộc tínhdominant-baselinexuất hiện, ngược lại baseline-table font-size vẫn giữ nguyên như của phần tử đó.Nếu không có phần tử nội dung văn bản cha, giá trị scaled-baseline-table sẽ được xây dựng như trên đối với các phần tử
<text>. use-scriptDeprecated-
Các thành phần dominant-baseline và baseline-table được đặt bằng cách xác định script chiếm ưu thế của nội dung dữ liệu ký tự.
writing-mode, dù là horizontal hay vertical, được dùng để chọn bộ baseline-table phù hợp và dominant baseline được dùng để chọn baseline-table tương ứng với baseline đó. Thành phần baseline-table font-size được đặt thành giá trị của thuộc tínhfont-sizetrên phần tử nơi thuộc tínhdominant-baselinexuất hiện. no-changeDeprecated-
Các thành phần dominant-baseline, baseline-table, và baseline-table font-size vẫn giữ nguyên như của phần tử nội dung văn bản cha.
reset-sizeDeprecated-
Các thành phần dominant-baseline và baseline-table vẫn giữ nguyên, nhưng baseline-table font-size được đổi thành giá trị của thuộc tính
font-sizetrên phần tử này. Điều này sẽ co giãn lại baseline-table chofont-sizehiện tại. ideographic-
Baseline-identifier cho dominant-baseline được đặt thành
ideographic, baseline-table suy ra được xây dựng bằng cách dùng baseline-tableideographictrong phông chữ, và baseline-table font-size được đổi thành giá trị của thuộc tínhfont-sizetrên phần tử này. alphabetic-
Baseline-identifier cho dominant-baseline được đặt thành
alphabetic, baseline-table suy ra được xây dựng bằng cách dùng baseline-tablealphabetictrong phông chữ, và baseline-table font-size được đổi thành giá trị của thuộc tínhfont-sizetrên phần tử này. hanging-
Baseline-identifier cho dominant-baseline được đặt thành
hanging, baseline-table suy ra được xây dựng bằng cách dùng baseline-tablehangingtrong phông chữ, và baseline-table font-size được đổi thành giá trị của thuộc tínhfont-sizetrên phần tử này. mathematical-
Baseline-identifier cho dominant-baseline được đặt thành
mathematical, baseline-table suy ra được xây dựng bằng cách dùng baseline-tablemathematicaltrong phông chữ, và baseline-table font-size được đổi thành giá trị của thuộc tínhfont-sizetrên phần tử này. central-
Baseline-identifier cho dominant-baseline được đặt thành
central. Baseline-table suy ra được xây dựng từ các baseline đã định nghĩa trong một baseline-table trong phông chữ. Bảng baseline của phông chữ đó được chọn theo thứ tự ưu tiên sau:ideographic,alphabetic,hanging,mathematical. Baseline-table font-size được đổi thành giá trị của thuộc tínhfont-sizetrên phần tử này. middle-
Baseline-identifier cho dominant-baseline được đặt thành
middle. Baseline-table suy ra được xây dựng từ các baseline đã định nghĩa trong một baseline-table trong phông chữ. Bảng baseline của phông chữ đó được chọn theo thứ tự ưu tiên sau:alphabetic,ideographic,hanging,mathematical. Baseline-table font-size được đổi thành giá trị của thuộc tínhfont-sizetrên phần tử này. text-after-edge-
Baseline-identifier cho dominant-baseline được đặt thành
text-after-edge. Baseline-table suy ra được xây dựng từ các baseline đã định nghĩa trong một baseline-table trong phông chữ. Việc chọn baseline-table nào trong các baseline-table của phông chữ là tùy thuộc trình duyệt. Baseline-table font-size được đổi thành giá trị của thuộc tínhfont-sizetrên phần tử này. text-before-edge-
Baseline-identifier cho dominant-baseline được đặt thành
text-before-edge. Baseline-table suy ra được xây dựng từ các baseline đã định nghĩa trong một baseline-table trong phông chữ. Việc chọn baseline-table nào trong các baseline-table của phông chữ là tùy thuộc trình duyệt. Baseline-table font-size được đổi thành giá trị của thuộc tínhfont-sizetrên phần tử này. text-top-
Giá trị này dùng đỉnh của hộp em làm baseline.
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>
Kết quả
Thông số kỹ thuật
| Specification |
|---|
| CSS Inline Layout Module Level 3> # dominant-baseline-property> |
| Scalable Vector Graphics (SVG) 2> # DominantBaselineProperty> |
Khả năng tương thích trình duyệt
Xem thêm
- Thuộc tính CSS
dominant-baseline