Ich habe eine Anwendung, die das Tag <mark>
verwendet, um Text interaktiv hervorzuheben. Wenn der Benutzer die Maus zieht, werden die Textknoten im Dokument ein- und ausgeklappt, um dem Benutzer die Auswahl anzuzeigen. Wenn der ausgewählte Bereich in der Mitte eines Wortes endet, umgibt die Markierung nur einen Teil des Wortes. Wenn die Grenze zwischen einem gekernten Paar liegt, ist das Kerning deaktiviert.Kerning an Taggrenzen fortsetzen
Hier ist ein Beispiel:
p { font-size: 30pt; margin: 0; line-height: 26pt; }
<p>There <mark>are 1</mark>1 entries.</p>
<p>There are 11 entries.</p>
Im ersten Absatz, die < Marke> Tag endet zwischen den beiden "1" Ziffern. Der zweite Absatz hat den gleichen Text, ohne die < Markierung>. Die Schriftgröße, der Rand und der Zeilenabstand werden angepasst, um die Absätze näher zusammenzuführen, um die Unterschiede besser sichtbar zu machen.
Es gibt mehr Platz zwischen den 1s mit der < Marke als ohne. Da dies interaktiv in der Anwendung passiert, wenn der Benutzer die Maus über die 1s zieht, verschiebt sich der nachfolgende Text nach rechts, wenn er zwischen den 1en liegt, und zurück, wenn sie das nächste Zeichen überschreiten. Das "Wackeln" des Textes kann ärgerlich sein.
Gibt es eine Möglichkeit, dem Browser nicht mitzuteilen, dass die Markierungs-Tags als Kerning-Grenze behandelt werden? Vielleicht eine Font-Feature-Einstellung?
Ich vermute, du hast Recht, dass dies das Beste sein wird, was ich tun kann. Ich hatte gehofft, dass es vielleicht eine dieser weniger bekannten CSS-Eigenschaften geben würde (wie font-feature-setting, die ein paar kleine komplizierte Optionen hat), die den Browser anweisen würde, die Grenze für das Kerning zu ignorieren. Es ist klar, dass der Browser dies tun kann, da die eigene Hervorhebung des Browsers es tut (benutze deine Maus, um den gleichen Bereich auszuwählen, der im Beispiel markiert ist, keine Änderung im Kerning), also dachte ich, dass ich mich ausstrecken würde. – scottb