Mam aplikację, która używa znacznika <mark>
do interaktywnego zaznaczania tekstu. Gdy użytkownik przeciąga mysz, zawija i rozpakowuje węzły tekstowe w dokumencie, aby pokazać użytkownikowi wybór. Gdy wybrany zakres kończy się w środku słowa, znaczek otacza tylko część słowa. Jeśli granica jest pomiędzy kernedami, kerning jest wyłączony.Kontynuuj kerning na granicach znaczników
Oto przykład:
p { font-size: 30pt; margin: 0; line-height: 26pt; }
<p>There <mark>are 1</mark>1 entries.</p>
<p>There are 11 entries.</p>
W akapicie pierwszym < znak> tag kończy się pomiędzy dwiema cyframi "1". Drugi akapit ma ten sam tekst, bez znaku <>. Rozmiar czcionki, margines i odstępy między wierszami są dostosowywane, aby zbliżyć akapity do siebie, aby różnice były bardziej widoczne.
Jest więcej miejsca między 1s a znacznikiem <> niż bez. Ponieważ dzieje się to interaktywnie w aplikacji, ponieważ użytkownik przeciąga myszą ponad 1, następny tekst przesuwa się w prawo, gdy są pomiędzy 1 a powrotem, gdy minie kolejną postać. "Jiggling" tekstu może być denerwujący.
Czy istnieje sposób, aby powiedzieć przeglądarce , a nie, aby traktować znaczniki jako granicę kerningu? Może ustawienie czcionek?
Podejrzewam, że masz rację, że to będzie najlepsze, co mogę zrobić. Miałem nadzieję, że może będzie jedna z tych mniej znanych właściwości CSS (takich jak font-feature-setting, która ma trochę skomplikowane opcje), która nakazuje przeglądarce zignorować granicę dla celów kerningu. Oczywiste jest, że przeglądarka może to zrobić, ponieważ robi to samo podświetlenie przeglądarki (użyj myszki, aby wybrać ten sam obszar, który jest zaznaczony w przykładzie, bez zmian w kerningu), więc pomyślałem, że sięgnę. – scottb