Tôi đã có một ứng dụng sử dụng thẻ <mark>
để đánh dấu tương tác văn bản. Khi người dùng kéo chuột, nó kết thúc tốt đẹp và unwraps các nút văn bản trong tài liệu để hiển thị cho người dùng lựa chọn. Khi phạm vi được chọn kết thúc ở giữa một từ, dấu bao quanh chỉ là một phần của từ đó. Nếu ranh giới nằm giữa cặp kerned, kerning bị vô hiệu hóa.Tiếp tục kerning tại ranh giới thẻ
Dưới đây là một ví dụ:
p { font-size: 30pt; margin: 0; line-height: 26pt; }
<p>There <mark>are 1</mark>1 entries.</p>
<p>There are 11 entries.</p>
Trong đoạn đầu tiên, < mark> tag kết thúc giữa hai "1" chữ số. Đoạn thứ hai có cùng văn bản, không có dấu <>. Kích thước phông chữ, lề và khoảng cách dòng được điều chỉnh để đưa các đoạn gần nhau hơn để tạo sự khác biệt rõ hơn.
Có nhiều khoảng trống hơn giữa các số 1 với dấu <> không có. Vì điều này xảy ra tương tác trong ứng dụng, khi người dùng kéo chuột qua 1s, văn bản tiếp theo sẽ dịch sang phải khi chúng nằm trong khoảng từ 1 giây và sau đó quay lại khi chúng vượt qua ký tự tiếp theo. Các "jiggling" của văn bản có thể gây phiền nhiễu.
Có cách nào để thông báo cho trình duyệt không để coi thẻ đánh dấu là ranh giới kerning không? Có thể cài đặt phông chữ-tính năng?
Tôi nghi ngờ bạn đúng rằng đây sẽ là điều tốt nhất tôi có thể làm. Tôi đã hy vọng rằng có lẽ sẽ có một trong những thuộc tính CSS ít nổi tiếng hơn (như font-feature-setting, có một vài tùy chọn phức tạp nhỏ) sẽ cho trình duyệt bỏ qua ranh giới cho mục đích của kerning. Rõ ràng trình duyệt có thể _do_ điều này, vì đánh dấu của riêng trình duyệt hiện nó (sử dụng chuột để chọn cùng một khu vực được đánh dấu trong ví dụ, không thay đổi trong kerning), vì vậy tôi figured tôi muốn tiếp cận. – scottb