Lietuvių

Atraskite pažangias teksto žymėjimo stiliaus galimybes su CSS pasirinktinio paryškinimo API. Išmokite pritaikyti žymėjimo patirtį geresniam vartotojų įsitraukimui.

CSS pasirinktinio paryškinimo API: Teksto žymėjimo stiliaus įvaldymas

Paprastas teksto žymėjimo veiksmas tinklalapyje yra tai, ką dauguma vartotojų atlieka apie tai per daug negalvodami. Tačiau mes, kūrėjai, dažnai siekiame patobulinti net ir subtiliausias sąveikas. CSS pasirinktinio paryškinimo API (angl. Custom Highlight API) leidžia mums iš esmės pakeisti teksto žymėjimo patirtį, suteikdama beprecedentę kontrolę, kaip atrodo pažymėtas tekstas. Ši galimybė peržengia paprastų fono ir teksto spalvų keitimo ribas, leidžiant kurti sudėtingas ir patrauklias vartotojo sąsajas.

Kas yra CSS pasirinktinio paryškinimo API?

CSS pasirinktinio paryškinimo API yra modernus interneto standartas, suteikiantis būdą stilizuoti teksto žymėjimų (ir kitų paryškintų sričių) išvaizdą naudojant CSS. Jis pristato ::highlight() pseudo-elementą, kuris taikomas konkrečioms teksto sritims pagal kūrėjo nustatytus kriterijus. Šis API įveikia tradicinio ::selection pseudo-elemento apribojimus, kuris siūlo tik labai paprastas stiliaus parinktis. Su pasirinktinio paryškinimo API galite sukurti itin pritaikytus ir kontekstą atitinkančius teksto žymėjimo stilius.

Kodėl verta naudoti CSS pasirinktinio paryškinimo API?

Pasirinktinio paryškinimo API siūlo keletą pranašumų, palyginti su tradiciniais teksto žymėjimų stilizavimo metodais:

Pagrindinių sąvokų supratimas

Prieš pradedant nagrinėti kodo pavyzdžius, būtina suprasti pagrindines CSS pasirinktinio paryškinimo API sąvokas:

1. Paryškinimo registracija

Procesas prasideda nuo pasirinktinio paryškinimo pavadinimo registravimo naudojant „JavaScript“. Šis pavadinimas vėliau bus naudojamas CSS, norint pritaikyti stilių konkretiems teksto žymėjimams.

2. Paryškinimo sritys

Paryškinimo sritys (angl. Highlight ranges) apibrėžia konkrečias teksto dalis, kurios bus stilizuojamos. Šios sritys sukuriamos programiškai naudojant Highlight ir StaticRange arba Range API. Jos nurodo paryškinamo teksto pradžios ir pabaigos taškus.

3. ::highlight() pseudo-elementas

Šis pseudo-elementas naudojamas CSS, norint pritaikyti stilius registruotiems paryškinimų pavadinimams. Jis veikia kaip selektorius, taikomas teksto dalims, apibrėžtoms paryškinimo srityse.

Praktiniai pavyzdžiai: CSS pasirinktinio paryškinimo API diegimas

Panagrinėkime kelis praktinius pavyzdžius, iliustruojančius, kaip naudoti CSS pasirinktinio paryškinimo API.

1 pavyzdys: Paprastas teksto žymėjimo stilius

Šis pavyzdys parodo, kaip pakeisti pažymėto teksto fono ir teksto spalvą.

HTML:

<p id="myText">Tai yra tekstas, kurį galima pažymėti.</p>

JavaScript:

const myText = document.getElementById('myText');
const highlight = new Highlight();

// Pažymėti visą pastraipą.
highlight.add(new Range(myText.firstChild, 0, myText.firstChild, myText.firstChild.length));

CSS.highlights.set('myHighlight', highlight);

CSS:

::highlight(myHighlight) {
  background-color: #ff0;
  color: #000;
}

Paaiškinimas:

2 pavyzdys: Konkrečių žodžių paryškinimas

Šis pavyzdys parodo, kaip paryškinti konkrečius žodžius pastraipoje.

HTML:

<p id="myText">Tai yra pastraipa su žodžiu paryškinti, kurį norime paryškinti.</p>

JavaScript:

const myText = document.getElementById('myText');
const highlight = new Highlight();
const textContent = myText.textContent;
const wordsToHighlight = ['paryškinti'];

wordsToHighlight.forEach(word => {
  let index = textContent.indexOf(word);
  while (index !== -1) {
    highlight.add(new Range(myText.firstChild, index, myText.firstChild, index + word.length));
    index = textContent.indexOf(word, index + 1);
  }
});

CSS.highlights.set('keywordHighlight', highlight);

CSS:

::highlight(keywordHighlight) {
  background-color: lightgreen;
  font-weight: bold;
}

Paaiškinimas:

3 pavyzdys: Dinaminis paryškinimas pagal vartotojo įvestį

Šis pavyzdys parodo, kaip dinamiškai paryškinti tekstą pagal vartotojo įvestį paieškos laukelyje.

HTML:

<input type="text" id="searchInput" placeholder="Įveskite tekstą paryškinimui">
<p id="myText">Tai yra tekstas, kuris bus dinamiškai paryškintas pagal vartotojo įvestį.</p>

JavaScript:

const searchInput = document.getElementById('searchInput');
const myText = document.getElementById('myText');
const highlight = new Highlight();

searchInput.addEventListener('input', () => {
  const searchTerm = searchInput.value;
  highlight.clear(); // Išvalyti ankstesnius paryškinimus

  if (searchTerm) {
    const textContent = myText.textContent;
    let index = textContent.indexOf(searchTerm);
    while (index !== -1) {
      highlight.add(new Range(myText.firstChild, index, myText.firstChild, index + searchTerm.length));
      index = textContent.indexOf(searchTerm, index + 1);
    }
  }

  CSS.highlights.set('searchHighlight', highlight);
});

CSS:

::highlight(searchHighlight) {
  background-color: yellow;
  color: black;
}

Paaiškinimas:

4 pavyzdys: Paryškinimo išvaizdos pritaikymas su ::highlight()

Pasirinktinio paryškinimo API galia slypi gebėjime pritaikyti paryškinto teksto išvaizdą ir pojūtį. Štai kaip galite pritaikyti šešėlius, gradientus ir kitus vizualinius efektus.

HTML:

<p id="customText">Pažymėkite šį tekstą, kad pamatytumėte pasirinktinį paryškinimo efektą.</p>

JavaScript:

const customText = document.getElementById('customText');
const highlight = new Highlight();
highlight.add(new Range(customText.firstChild, 0, customText.firstChild, customText.firstChild.length));
CSS.highlights.set('fancyHighlight', highlight);

CSS:

::highlight(fancyHighlight) {
  background: linear-gradient(to right, #4CAF50, #8BC34A);
  color: white;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  padding: 2px 5px;
}

Paaiškinimas:

Prieinamumo aspektai

Nors teksto žymėjimų vizualinės išvaizdos gerinimas yra svarbus, prieinamumas visada turėtų būti pagrindinis prioritetas. Štai keletas gairių, kaip užtikrinti, kad jūsų pasirinktiniai paryškinimo stiliai būtų prieinami:

Naršyklių suderinamumas

CSS pasirinktinio paryškinimo API yra palyginti naujas interneto standartas, todėl naršyklių suderinamumas gali skirtis. 2023 m. pabaigoje / 2024 m. pradžioje palaikymas auga, bet dar nėra visuotinai įdiegtas. Dabartinę naršyklių palaikymo būseną galite patikrinti svetainėse, tokiose kaip „Can I use...“, kad būtumėte informuoti apie suderinamumo atnaujinimus.

Apsvarstykite galimybę naudoti funkcijos aptikimą (angl. feature detection), kad pateiktumėte atsarginius stilius naršyklėms, kurios dar nepalaiko šio API.

if ('CSS' in window && 'highlights' in CSS) {
  // Naudoti pasirinktinio paryškinimo API
} else {
  // Pateikti atsarginius stilius naudojant ::selection
}

Realaus pasaulio naudojimo atvejai

CSS pasirinktinio paryškinimo API turi daugybę realių pritaikymo galimybių, įskaitant:

Geroji praktika ir patarimai

Pažangios technikos

1. Kelių paryškinimų derinimas

Galite derinti kelis paryškinimus, kad sukurtumėte sudėtingesnius stiliaus efektus. Pavyzdžiui, galite norėti paryškinti ir raktinius žodžius, ir vartotojo pasirinktą tekstą skirtingais stiliais.

2. Įvykių (events) naudojimas paryškinimams atnaujinti

Galite naudoti „JavaScript“ įvykius, tokius kaip pelės užvedimas (mouseover) ar paspaudimas (click), kad dinamiškai atnaujintumėte paryškinimo sritis pagal vartotojo veiksmus.

3. Integracija su trečiųjų šalių bibliotekomis

Galite integruoti pasirinktinio paryškinimo API su trečiųjų šalių bibliotekomis, kad sukurtumėte sudėtingesnius paryškinimo sprendimus. Pavyzdžiui, galite naudoti natūraliosios kalbos apdorojimo (NLP) biblioteką, kad automatiškai nustatytumėte ir paryškintumėte svarbiausius terminus dokumente.

Teksto žymėjimo stiliaus ateitis

CSS pasirinktinio paryškinimo API yra reikšmingas žingsnis į priekį teksto žymėjimo stiliaus srityje. Jis suteikia kūrėjams galimybę kurti patrauklesnes, prieinamesnes ir kontekstą atitinkančias vartotojo sąsajas. Naršyklių palaikymui nuolat augant, pasirinktinio paryškinimo API taps esminiu įrankiu interneto kūrėjams visame pasaulyje.

Išvada

CSS pasirinktinio paryškinimo API atveria daugybę galimybių pritaikyti teksto žymėjimo patirtį. Suprasdami pagrindines sąvokas, išnagrinėję praktinius pavyzdžius ir atsižvelgdami į prieinamumo gaires, galite pasinaudoti šiuo galingu API, kad sukurtumėte išties išskirtines vartotojo sąsajas. Priimkite pasirinktinio paryškinimo API ir pakelkite savo interneto svetainių kūrimo projektus į naujas aukštumas.

Eksperimentuokite su pateiktais pavyzdžiais, pritaikykite juos savo specifiniams poreikiams ir ištyrinėkite visas CSS pasirinktinio paryškinimo API galimybes. Jūsų vartotojai įvertins dėmesį detalėms ir pagerintą vartotojo patirtį.