CSS-tekstomloop: mooi

Opt-in geoptimaliseerde tekstomloop, voor schoonheid boven snelheid.

Adam Argyle
Adam Argyle

Vanaf Chrome 117 kun je een nieuwe functie voor tekstterugloop gebruiken text-wrap: pretty uit CSS-tekstniveau 4 .

p {
  text-wrap: pretty;
}
https://codepen.io/web-dot-dev/pen/yLGmzLJ

Typografische weduwen en wezen zijn losse woorden die op zichzelf staan ​​aan het einde van een alinea of ​​tekstblok. Weduwen zijn alleen woorden bovenaan een tekstblok en wezen staan ​​alleen aan het einde van een tekstblok. Ze kunnen de manier verstoren waarop onze ogen door de tekst bladeren, waardoor de inhoud moeilijker leesbaar wordt. Sommige ontwerpers vermijden ze ten koste van alles en doen er alles aan om ze te voorkomen.

Er wordt een alinea weergegeven met een weduwe aan het begin en een wees aan het einde, vergeleken met dezelfde alinea zonder de wezen of weduwen.
Afbeelding afkomstig van Google Fonts: Widows & Orphans

Vanaf Chrome 117 kunnen weeskinderen worden vermeden met één regel CSS: text-wrap: pretty .

De functie doet iets meer dan alleen ervoor zorgen dat alinea's niet eindigen met een enkel woord; het past ook de woordafbreking aan als opeenvolgende afgebroken regels aan het einde van een alinea verschijnen, of past eerdere regels aan om ruimte te maken. Het zal ook op passende wijze worden aangepast voor tekstuitvulling. text-wrap: pretty is voor over het algemeen betere regelomloop en tekstafbreking, momenteel gericht op wezen. In de toekomst kan text-wrap: pretty meer verbeteringen bieden.

Een vergelijking van een paragraaf met weeskinderen en een paragraaf zonder weeskinderen, elk met een teken van slecht of goed.
Afbeelding afkomstig van Waarom u weeskinderen uit uw hoofdtekst moet verwijderen.

Er is ook text-wrap: balance , wat weeskinderen niet voorkomt, maar er wel voor zorgt dat de tekst zo loopt dat er een harmonieus tekstblok ontstaat. Persoonlijk gebruik ik balance voor koppen en pretty voor alinea's.

Als u geïnteresseerd bent in de details van het algoritme dat wordt gebruikt om het optimale aantal lijnen te bepalen, of in prestatieoverwegingen, vindt u hier een link naar het ontwerpdocument dat is gemaakt door de ingenieur achter de functie, Koji Ishii .

Als u andere lijnbrekende verbeteringen of suggesties heeft, horen we die graag! Dien een probleem in de Chromium-bugtracker in met de details en voorbeelden van goede en slechte regeleinden, en we nemen contact met u op.