CSS Custom Highlight API valdamine moodsa veebistiili jaoks

Viimane uuendus: 09/12/2026
  • CSS Custom Highlight API võimaldab arendajatel teatud tekstisegmente stiliseerida ilma DOM-struktuuri muutmata.
  • Objektide Range ja Highlight kombineerimisel HighlightRegistryga saab programmiliselt rakendada kohandatud visuaalseid markereid.
  • Pseudoelement ::highlight() pakub spetsiaalset CSS-liidest registreeritud esiletõstude iseseisvaks stiliseerimiseks.
  • See lähenemisviis optimeerib jõudlust, vähendades DOM-i kaalu ja vältides paigutuse nihkeid, mis on seotud ümbriselementide lisamisega.

HTML- ja CSS-koodi lähivõte tumeda teemaga redaktoris, mis esindab kohandatud esiletõstmise API sihtstruktuuri.

Kas olete kunagi tundnud frustratsiooni, kui proovite lehel konkreetseid sõnu esile tõsta ja avastate, et peate kõik miljoni sõna sisse pakkima? <span> or <mark> sildid? See on jõudluse seisukohalt täielik õudusunenägu ja võib ausalt öeldes teie CSS-paigutuse sassi ajada. Noh, just seal see ongi... CSS-i kohandatud esiletõstmise API tuleb mängu, toimides mängumuutjana kõigile, kes peavad teksti dünaamiliselt esile tõstma ilma HTML-i tegelikku struktuuri puudutamata.

Põhimõtteliselt laiendab see API asju, mida me juba teame, näiteks ::selection or ::spelling-error, aga see annab meile kuningriigi võtmed. Selle asemel, et loota brauserile, mis esile tõstetakse, nüüd saate määratleda suvalisi tekstivahemikke ja kujundage neid vastavalt oma soovile. See on palju puhtam viis selliste asjade haldamiseks nagu otsingutulemused, ühine redigeerimine või süntaksi esiletõstmine ilma DOM-ile tarbetut kaalu lisamata.

cómo crear un sitio web desde cero
Seotud artikkel:
Cómo crear un sitio web desde cero: guía completa y práctica

Miks märgielemendist eemalduda?

CSS-koodi lähivõte arvutimonitoril, mis demonstreerib veebiarenduse stiilimisvõimalusi.

Pikka aega oli <mark> oli teksti rõhutamiseks parim valik silt. Kuigi see sobib suurepäraselt põhilise semantika jaoks, on sellel ka mõned üsna tüütud piirangud. Esiteks, DOM-i sõlmede lisamine võib käivitada kulukaid paigutuse ümberarvutusi, mis võib muuta teie saidi aeglaseks, eriti animatsioonide ajal. Kuid tõeline peavalu algab siis, kui peate esile tõstma teksti, mis hõlmab mitut HTML-elementiKuna te ei saa lihtsalt silti lahti jätta ja seda teise elemendi sees sulgeda ilma sobimatut HTML-i loomata, olete sunnitud esiletõstmise mitmeks väikeseks tükiks jagama, mis on lihtsalt kohmakas.

API põhikontseptsioonid

JavaScripti kood sülearvuti ekraanil koos süntaksi esiletõstmisega, mis on CSS Custom Highlight API põhirakendus.

Selle toimima saamiseks peate harjuma mõne konkreetse objektiga. Esiteks on olemas Vahemiku objekt, mis on põhimõtteliselt dokumendis osuti, mis ütleb „alusta siit ja lõpeta seal”. Siis on meil Tõsta objekt esile, mis koondab ühe või mitu neist vahemikest kokku, et neid saaks käsitleda ühe stiilirühmana. Kõiki neid haldab HighlightRegister (ligipääs läbi CSS.highlights), mis toimib nagu kaart, kuhu registreerite oma esiletõstetud sündmused unikaalse nime all.

Desarrollador de software planificando la arquitectura y el flujo de una API ja una pizarra blanca Durante la fase de diseño conceptual.
Seotud artikkel:
Postmani valdamine: API arendamise ja testimise ülim juhend

Samm-sammult rakendamine

Kohandatud esiletõstmise ekraanile saamine on lihtne neljaastmeline tants. Esiteks, sina loo oma Range'i objektid JavaScriptis. Seda saab teha tekstisõlme tuvastades ja selliseid meetodeid kasutades nagu setStart ja setEnd et täpselt kindlaks määrata, milliseid märke sihtida soovite. Kui teil on vaja katta terve element, setStartBefore ja setEndAfter on su parimad sõbrad.

Kui vahemik on paika pandud, on teine ​​samm loo uus Highlight objektLahe funktsioon on see, et üks esiletõstmine saab sisaldada mitut vahemikku. See sobib ideaalselt lehelt otsimise funktsiooni jaoks, kus soovite, et iga sõna esinemisjuht oleks sama värvi. Pärast seda saate registreeri esiletõst kasutamine CSS.highlights.set('my-name', highlight)See annab teie esiletõstmisele kohandatud identifikaatori, mida CSS-mootor näeb.

Elav, süntaksiga esile tõstetud JavaScripti kood tumedal monitoril, mis sobib ideaalselt kaasaegsete programmeerimiskontseptsioonide illustreerimiseks.

Viimane lihv on stiili pealekandmine. Sa kasutad ::highlight(my-name) pseudoelement oma CSS-failis. Kuna see pole standardne element, on teil vaid mõned omadused, kuid saate neid hõlpsalt muuta. taustavärv või tekstikaunistus et need vahemikud esile tõstetaks. Näiteks võiksite otsingutulemuste jaoks kasutada erkkollast tausta või kustutatud teksti jaoks läbikriipsutust koostööredaktoris.

Täiustatud kasutus- ja jõudlusfunktsioonid

Lähivõte SCSS-koodist ekraanil, mis esindab täiustatud CSS-stiili ja esiotsa arendust.

Üks muljetavaldavamaid kasutusjuhtumeid on koodi süntaksi esiletõstmine . Traditsiooniliselt süstisid teegid, näiteks Prism.js, tokenite värvimiseks tuhandeid span'e, mis võis DOM-i uskumatult raskeks muuta. Kohandatud esiletõstmise API abil saate koodi JavaScriptis tokeniseerida ja stiile rakendada ilma lehele ühtegi elementi lisamata . See hoiab DOM-i lihtsana ja hoiab ära brauseri takerdumise massiivsete dokumentide hulka.

Kui teil on vaja esiletõstetud elemente lennult muuta, ei pea te otsast peale alustama. Kuna esiletõstmise objekt on lingitud vahemikuga (Range), lihtsalt levila piiride värskendamine värskendab automaatselt ekraanil olevat visuaalset esiletõstmist. Kui soovite sellest lahti saada, saate konkreetse vahemiku eemaldada, kasutades nuppu delete meetod objektil Highlight või kustuta kogu registreering kasutamine CSS.highlights.delete.

propiedad css ülevoolu-y
Seotud artikkel:
Propiedad CSS-i ülevool-y: guía completa, valores y trucos

Ligipääsetavus ja brauseri tugi

Oluline on meeles pidada, et need esiletõstmised on puhtalt visuaalsed ja ei anna loomupärast semantilist tähendust ekraanilugejatele. Kui lood midagi, mille puhul ligipääsetavus on esmatähtis, peaksid kasutama type Esiletõstmise liidese atribuut, mis määrab, kas esiletõstmine on õigekirja- või grammatikaviga, kuigi selle tugi on erinev. Kahtluse korral täiendades oma esiletõstetud elemente ARIA siltidega või semantiline HTML on õige tee.

Ühilduvuse osas on see API hiljuti tohutu tõuke saanud. See toimib juba kindlalt Chrome'is, Edge'is ja Safaris ning Firefox on liitunud seltskonnaga (alates umbes versioonist 140), mis tähendab, et see on nüüd enamiku tootmiskeskkondade jaoks sobiv. Vanemate brauserite krahhide vältimiseks on enne koodi käivitamist tark kontrollida, kas CSS-objektis on olemas „esiletõstmised” .

See API muudab põhjalikult teksti manipuleerimise viisi, lahutades visuaalse esituse HTML-struktuurist. Kasutades vahemiku ja esiletõstmise objekte, saavad arendajad rakendada keerukaid funktsioone, nagu reaalajas otsing ja süntaksi värvimine, hoides samal ajal DOM-i kerge ja jõudluse kiire, möödudes tõhusalt ümbriselementide traditsioonilistest piirangutest.

Seonduvad postitused: