Kohatäite teksti värvi muutmine HTML-i sisestusväljadel CSS-i abil

Kohatäite teksti värvi muutmine HTML-i sisestusväljadel CSS-i abil
CSS

Kohatäite teksti kujundamine CSS-iga

HTML-vormidega töötades võiksite kohandada kohatäite teksti välimust sisestusväljadel. Kuigi Chrome v4 ja teised brauserid toetavad input[type=text] elementide puhul kohahoidja atribuuti, ei tööta lihtsalt CSS-stiilide rakendamine sellele atribuudile alati ootuspäraselt.

Näiteks katse muuta kohatäite teksti värvi standardsete CSS-i valijate abil ei anna soovitud tulemusi. Selles artiklis uuritakse, kuidas saate õigete CSS-i pseudoelementide ja brauseripõhiste reeglite abil tõhusalt muuta kohatäite teksti värvi.

Käsk Kirjeldus
::placeholder CSS-i pseudoelement, mida kasutatakse sisestusvälja kohatäite teksti stiilimiseks.
:focus CSS-i pseudoklass, mida kasutatakse stiilide rakendamiseks, kui element on fokuseeritud, näiteks kui kasutaja klõpsab sisestusväljal.
opacity CSS-i atribuut, mis määrab elemendi läbipaistvustaseme. Siin kasutatakse kohatäite teksti täieliku nähtavuse tagamiseks.
DOMContentLoaded JavaScripti sündmus, mis käivitatakse, kui esialgne HTML-dokument on täielikult laaditud ja sõelutud.
querySelector JavaScripti meetod, mis tagastab dokumendi esimese elemendi, mis vastab määratud CSS-i valijale.
addEventListener JavaScripti meetod, mis lisab elemendile sündmuste käitleja ilma olemasolevaid sündmuste käitlejaid üle kirjutamata.
setAttribute JavaScripti meetod, mis määrab määratud elemendi atribuudi väärtuse. Siin kasutatakse kohatäite teksti värskendamiseks.

Kohatäite teksti kujundamise tehnikate mõistmine

Esimene skript kasutab ::placeholder, CSS-i pseudoelement, mis sihib konkreetselt sisestusvälja kohatäite teksti. See on ülioluline, kuna standardsed CSS-i valijad ei mõjuta kohatäite teksti. Kasutades input::placeholder, saame stiile otse kohatäite tekstile rakendada, näiteks muuta selle värvi punaseks. Lisaks sisaldab skript brauseripõhiseid valijaid, näiteks input:-moz-placeholder Mozilla Firefoxi ja input::-ms-input-placeholder Internet Exploreri ja Microsoft Edge'i jaoks. Need valijad tagavad ühilduvuse erinevate brauserite vahel, võimaldades kohatäite teksti värvi ühtlast stiili sõltumata kasutaja brauseri valikust.

Teine skript kasutab kohatäite teksti värvi dünaamiliseks muutmiseks JavaScripti. See algab DOMContentLoaded sündmus, et tagada skripti käitamine alles pärast esialgse HTML-dokumendi täielikku laadimist. The querySelector Seejärel kasutatakse sisendelemendi valimiseks meetodit. Sellele elemendile lisatakse sündmuste kuulajad fookuse ja sündmuste hägustamiseks. Kui sisestusväli teravustab, kohatäite tekst kustutatakse ja sisestusteksti värviks määratakse must. Kui sisestusväli kaotab fookuse, taastatakse kohatäidetekst ja selle värv määratakse punaseks. The setAttribute meetodit kasutatakse kohahoidja atribuudi dünaamiliseks värskendamiseks, tagades kohatäite teksti ilmumise ja kaomise ootuspäraselt.

Kohatäite teksti värvi muutmine CSS-iga

CSS-i pseudoelementide kasutamine

input::placeholder {
  color: red;
  opacity: 1; /* Firefox */
}

/* For Mozilla Firefox */
input:-moz-placeholder {
  color: red;
  opacity: 1;
}

/* For Internet Explorer 10-11 */
input:-ms-input-placeholder {
  color: red;
}

/* For Microsoft Edge */
input::-ms-input-placeholder {
  color: red;
}

Taustaloogika rakendamine kohatäite teksti värvide käsitlemiseks

JavaScripti kasutamine dünaamilise kohatäite stiili jaoks

document.addEventListener("DOMContentLoaded", function() {
  var input = document.querySelector('input[type="text"]');

  input.addEventListener('focus', function() {
    input.style.color = "black";
    input.setAttribute('placeholder', '');
  });

  input.addEventListener('blur', function() {
    input.style.color = "red";
    input.setAttribute('placeholder', 'Value');
  });
});

Täiustatud tehnikad kohatäite kujundamiseks

Lisaks põhilistele CSS-i ja JavaScripti meetoditele on kohahoidja teksti stiilimiseks täiustatud tehnikaid. Üks selline meetod on CSS-i muutujate kasutamine dünaamilisema stiilisüsteemi loomiseks. CSS-muutujad, mida tuntakse ka kohandatud atribuutidena, võimaldavad arendajatel salvestada väärtusi, mida saab kogu laaditabeli ulatuses uuesti kasutada. See võib mitme elemendi stiilide värskendamise protsessi lihtsustada. Näiteks määrates kohatäite värvi jaoks kohandatud atribuudi, saate hõlpsalt värvi ühes kohas muuta ilma mitut CSS-i reeglit muutmata.

Teine aspekt, mida kaaluda, on laiendatud stiilivõimalusi pakkuvate raamistike ja teekide kasutamine. Teegid, nagu Bootstrap ja raamistikud, nagu Tailwind CSS, pakuvad eelmääratletud klasse, mis aitavad kujundada vormielemente, sealhulgas kohahoidjaid. Need tööriistad võivad säästa aega ja tagada järjepidevuse rakenduse erinevates osades. Lisaks võib eelprotsessorite (nt SASS või LESS) võimendamine CSS-i veelgi täiustada selliste funktsioonidega nagu pesastamine, segud ja pärimine, muutes koodi hooldatavamaks ja skaleeritavamaks.

Korduma kippuvad küsimused kohatäite teksti kujundamise kohta

  1. Kuidas muuta kohatäite teksti värvi kõigis brauserites?
  2. Kasuta ::placeholder, :-moz-placeholder, :-ms-input-placeholderja ::-ms-input-placeholder valijad, et tagada ühilduvus erinevate brauserite vahel.
  3. Kas ma saan kasutada JavaScripti kohatäite teksti värvi dünaamiliseks muutmiseks?
  4. Jah, saate kasutada JavaScripti sündmuste kuulajate lisamiseks fookustamiseks ja sündmuste hägustamiseks ning seejärel kasutada setAttribute kohatäite teksti ja selle värvi muutmiseks.
  5. Mis on CSS-i muutujad ja kuidas saavad need kohahoidjate kujundamisel abiks olla?
  6. CSS-muutujad võimaldavad salvestada väärtusi, mida saab kogu laaditabeli ulatuses uuesti kasutada, muutes mitme elemendi stiilide järjepideva värskendamise lihtsamaks.
  7. Mis on CSS-i eelprotsessorite (nt SASS või LESS) kasutamise eelis?
  8. CSS-i eelprotsessorid pakuvad selliseid funktsioone nagu pesastamine, segamine ja pärimine, mis muudavad CSS-koodi hooldatavamaks ja skaleeritavamaks.
  9. Kas sellised raamistikud nagu Bootstrap või Tailwind CSS võivad aidata kohahoidjate kujundamisel?
  10. Jah, need raamistikud pakuvad eelmääratletud klasse, mis aitavad kujundada elemente, sealhulgas kohatäitjaid, säästes aega ja tagades järjepidevuse.
  11. Kas on võimalik kohatäite teksti värvi animeerida?
  12. Kuigi kohatäideteksti otsene animeerimine ei ole võimalik, saate JavaScripti abil kohatäite teksti muuta ja rakendada sisestusväljale CSS-i üleminekuid sarnase efekti saavutamiseks.
  13. Kas ma saan kasutada tekstisisest CSS-i kohatäite teksti stiilimiseks?
  14. Ei, tekstisisene CSS ei toeta selliseid pseudoelemente nagu ::placeholder. Peate kasutama stiilitabelit või a <style> HTML-is.
  15. Millised on kohatäite teksti kujundamisel tavalised lõksud?
  16. Levinud lõksud hõlmavad brauseritevahelise ühilduvuse mittearvestamist, Firefoxi läbipaistmatuse lisamise unustamist ja õigete pseudoelementide või brauserispetsiifiliste valijate mittekasutamist.

Viimased mõtted kohatäite kujundamise tehnikate kohta

Kohatäite teksti värvi muutmine HTML-i sisestusväljadel nõuab CSS-i ja JavaScripti lahenduste kombinatsiooni. CSS-i pseudoelementide ja brauserispetsiifiliste selektorite kasutamine tagab ühilduvuse, JavaScript aga võimaldab dünaamilisi muudatusi, mis põhinevad kasutaja interaktsioonidel. Täiustatud tehnikad, nagu CSS-i muutujad, raamistikud ja eelprotsessorid, võivad stiiliprotsessi veelgi täiustada, muutes selle tõhusamaks ja hooldatavamaks. Nende meetodite valdamine võimaldab paremini kontrollida vormi esteetikat, parandades kasutajakogemust.