text-decoration-inset

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Thuộc tính CSS text-decoration-inset cho phép điều chỉnh điểm bắt đầu và điểm kết thúc của trang trí văn bản của một phần tử, để có thể rút ngắn, kéo dài hoặc thay đổi vị trí của trang trí đó so với văn bản được hiển thị.

Try it

text-decoration-inset: 20px;
text-decoration-inset: -0.5em;
text-decoration-inset: 20px 1em;
text-decoration-inset: -0.5rem -1.5rem;
text-decoration-inset: -2ex 10vw;
<section id="default-example">
  <p id="example-element">Karmadrome</p>
</section>
#example-element {
  font: 2.5em sans-serif;
  text-decoration: underline 0.3em limegreen;
}

Cú pháp

css
/* Từ khóa auto */
text-decoration-inset: auto;

/* Một giá trị <length> */
text-decoration-inset: 20px;
text-decoration-inset: -2rem;

/* Hai giá trị <length> */
text-decoration-inset: 20px 1em;
text-decoration-inset: -0.5rem -1.5rem;
text-decoration-inset: -2ex 1vw;

/* Giá trị toàn cục */
text-decoration-inset: inherit;
text-decoration-inset: initial;
text-decoration-inset: revert;
text-decoration-inset: revert-layer;
text-decoration-inset: unset;

Giá trị

Một hoặc hai giá trị <length> hoặc từ khóa auto.

<length>

Chỉ định lượng điều chỉnh vị trí trang trí văn bản. Giá trị dương thu ngắn trang trí văn bản (inset) trong khi giá trị âm kéo dài trang trí văn bản (outset). Nếu chỉ định một giá trị, nó áp dụng cho cả điểm bắt đầu và kết thúc của trang trí văn bản. Nếu chỉ định hai giá trị, giá trị đầu tiên áp dụng cho điểm bắt đầu và giá trị thứ hai áp dụng cho điểm kết thúc của trang trí văn bản.

auto

Trình duyệt chọn lượng inset bắt đầu và kết thúc để đảm bảo rằng, nếu hai hộp văn bản được trang trí xuất hiện cạnh nhau, một khoảng cách sẽ được tạo ra giữa các trang trí văn bản của chúng để chúng không có vẻ như là một trang trí văn bản duy nhất.

Mô tả

Mặc định, trang trí văn bản của một phần tử, được đặt bởi thuộc tính viết tắt text-decoration và các thuộc tính longhand liên quan, có cùng kích thước với văn bản được hiển thị.

Thuộc tính text-decoration-inset cho phép bạn điều chỉnh điểm bắt đầu và/hoặc điểm kết thúc của trang trí văn bản trong một vùng chứa văn bản. Điều này hữu ích để tạo ra các hiệu ứng mà bạn muốn trang trí văn bản được thu vào hoặc kéo ra từ chính văn bản, hoặc thay đổi vị trí. Xem Các trường hợp sử dụng cơ bản để xem ví dụ cho mỗi trường hợp.

Một giá trị <length> đơn sẽ đặt inset (nếu dương) hoặc outset (nếu âm) ở cả vị trí bắt đầu và kết thúc của trang trí văn bản. Để đặt vị trí bắt đầu và kết thúc riêng biệt, bạn có thể dùng hai giá trị <length> — giá trị đầu tiên áp dụng cho vị trí bắt đầu và giá trị thứ hai áp dụng cho vị trí kết thúc.

Thuộc tính text-decoration-inset cũng có thể nhận từ khóa auto. Điều này khiến trình duyệt thu nhỏ điểm bắt đầu và kết thúc của trang trí văn bản để đảm bảo rằng, nếu hai hộp văn bản được trang trí xuất hiện cạnh nhau, chúng không có vẻ như có một trang trí văn bản duy nhất. Giá trị auto đặc biệt quan trọng khi hiển thị văn bản tiếng Trung, nơi gạch chân được dùng để dấu câu danh từ riêng, và các danh từ riêng liền kề phải có các gạch chân riêng biệt. Xem Tác dụng của giá trị auto để xem ví dụ.

Giá trị auto không có tác dụng giống như giá trị ban đầu 0. Đặt text-decoration-inset0 sẽ không tạo ra khoảng cách giữa các trang trí.

Thuộc tính text-decoration-inset không được kế thừa và không phải là thuộc tính thành phần của thuộc tính viết tắt text-decoration.

Định nghĩa hình thức

Initial value0
Applies toall elements. It also applies to ::first-letter and ::first-line.
Inheritedno
Computed valuefor percentage and length values, the absolute length, otherwise the keyword as specified
Animation typeby computed value

Cú pháp hình thức

text-decoration-inset = 
<length>{1,2} |
auto

Ví dụ

Các trường hợp sử dụng cơ bản

Trong ví dụ này, chúng ta minh họa các trường hợp sử dụng outset, inset và "dịch chuyển".

HTML

Chúng ta định nghĩa một danh sách không có thứ tự với ba mục danh sách, mỗi mục có một id riêng.

html
<ul>
  <li id="one">Outset decoration</li>
  <li id="two">Inset decoration</li>
  <li id="three">Shifted decoration</li>
</ul>

CSS

Chúng ta đặt text-decorationtext-decoration-inset khác nhau cho mỗi mục danh sách:

  • Mục đầu tiên có gạch chân màu xanh lá cây dày, được kéo ra đều 10px trên cả hai phía.
  • Mục thứ hai có gạch ngang trắng dày vừa, được thu vào đều 0.5em trên cả hai phía.
  • Mục thứ ba có gạch chân lượn sóng màu xanh mỏng, được dịch chuyển sang phải 1em.
css
#one {
  text-decoration: underline 0.3em limegreen;
  text-decoration-inset: -10px;
}

#two {
  text-decoration: line-through 5px white;
  text-decoration-inset: 0.5em;
}

#three {
  text-decoration: underline wavy 2px blue;
  text-decoration-inset: 1em -1em;
}

Kết quả

Kết quả hiển thị như sau:

Tác dụng của giá trị auto

Ví dụ này minh họa tác dụng của giá trị text-decoration-inset: auto.

HTML

Chúng ta định nghĩa hai nhóm các phần tử <u> cạnh nhau:

html
<p lang="zh" id="one"><u>石井</u><u>艾俐俐</u></p>

<p lang="zh" id="two"><u>石井</u><u>艾俐俐</u></p>

CSS

Mỗi phần tử <u> có màu red và độ dày 3px được đặt trên gạch chân của nó. Nhóm <u> đầu tiên có giá trị text-decoration-insetauto, trong khi nhóm thứ hai có giá trị text-decoration-inset ban đầu là 0 được đặt rõ ràng, để so sánh:

css
u {
  text-decoration-color: red;
  text-decoration-thickness: 3px;
}

#one u {
  text-decoration-inset: auto;
}

#two u {
  text-decoration-inset: 0;
}

Kết quả

Kết quả hiển thị như sau:

Lưu ý cách giá trị auto thu nhỏ trang trí văn bản một cách tinh tế trên cả hai phía, tạo ra khoảng cách giữa các gạch chân của hai phần tử (không có khoảng cách nào được thêm giữa hai phần tử). Giá trị 0 dẫn đến không có khoảng cách.

Đặc tả kỹ thuật

Specification
CSS Text Decoration Module Level 4
# propdef-text-decoration-inset

Tương thích trình duyệt

Xem thêm