Šiame trumpame patarime parodysime, kaip lengva tinklalapio tekste pridėti gradiento efektus ir šablonus.
Tai padarysime skaidrų tekstą ir fono papuošimą ant teksto naudodami background-image
ypatybę ir apkarpyti tą fono apdailą prie teksto simbolių background-clip
.
Kai kurie pavyzdžiai, ką galime sukurti, pateikti žemiau.
Skaidrus tekstas ir fono klipas
Norėdami sukurti efektą, kurio siekiame, pirmiausia nustatome elemento spalvą transparent
. Žemiau esančiame kode kuriame stilių <h1>
Antraštė:
h1 {
color: transparent;
}
Žinoma, vien tai darant reiškia, kad tekstas bus nematomas, todėl vien to neužtenka.
Kitas žingsnis yra taikyti background-clip: text
kuris apkarpys bet kokį fono spalvą ar efektą, kurį mes įdėsime į elementą, tik iki tikrųjų teksto simbolių, o ne užpildys visą jo laukelį:
h1 {
color: transparent;
background-clip: text;
}
Dabar esame pasiruošę dirbti šiek tiek magijos. Mūsų tekstas yra skaidrus, o bet kokie fono efektai, kuriuos taikysime, bus iškirpti pačiame tekste.
Teksto fono gradiento nustatymas
Pirmiausia pabandykime antraštės tekstui nustatyti gradiento efektą:
h1 {
color: transparent;
background-clip: text;
background-image: linear-gradient(to right, #218bff, #c084fc, #db2777);
}
Čia mes nustatėme gradientą iš kairės į dešinę, kuris apims antraštės tekstą. Žemiau esantis rašiklis rodo rezultatą.
Yra begalė variantų, kuriuos galėtume išbandyti, pavyzdžiui, skirtingos spalvos, gradiento krypties keitimas, gradiento raštų kūrimas ir pan.
Pabandykime kitą pavyzdį, šį kartą sukurdami dryžuotą raštą:
h1 {
color: transparent;
background-clip: text;
background-image: repeating-linear-gradient(-57deg, #218bff, #218bff 3px, #c084fc 3px, #c084fc 6px);
}
Žemiau esantis rašiklis rodo rezultatą.
Štai dar vienas naudojimo pavyzdys įmantresnis modelis. Aš taip pat pridėjau text-stroke
kad raidės būtų šiek tiek aiškesnės.
Peržiūrėkite mūsų straipsnį CSS gradientai: sintaksės greitasis kursas Norėdami sužinoti daugiau praktinių dalykų, kuriuos galime padaryti naudodami CSS gradientus, pavyzdžių.
Teksto fono paveikslėlio nustatymas
Be gradiento efektų, taip pat galime naudoti background-image
nuosavybė, kad tekstui būtų pritaikyti tikri vaizdai. Tai gali būti bet koks vaizdas, bet pabandykime vaizdą su pasikartojančiu raštu. Čia yra vaizdas, kurį naudosime.
Modelio vaizdą galime pritaikyti kaip foną taip:
h1 {
color: transparent;
background-clip: text;
background-image: url(pattern.jpg);
background-size: contain;
}
Aš pridėjau background-size: contain
kad fono vaizdas gražiai tilptų tekste. (Daugiau apie šią ir kitas dydžio ypatybes galite perskaityti Kaip naudoti CSS fono dydį ir fono padėtį. Yra įvairių dydžių ypatybių, padedančių su fono vaizdais atlikti beveik bet ką!)
Rezultatas rodomas toliau esančiame rašikliu.
Įdomumo dėlei pateikiame kitą pavyzdį su kitokiu fono paveikslėliu. Šiame vietoj text-stroke
Aš naudojau filter: drop-shadow()
tekstui patobulinti.
fono vaizdas prieš foną
Galbūt pastebėjote, kad aš naudojau background-image
ypatybę aukščiau pateiktuose pavyzdžiuose, o ne background
stenograma. Bet kuris iš jų veikia gerai, bet yra vienas trūkumas, jei naudojate background
. Reikia tai deklaruoti Pirmas, prieš background-clip
. Priešingu atveju, background
nuosavybės atstatymas background-clip
pagal numatytuosius nustatymus border-box
o efektas neveikia.
Pavyzdžiui, tai veikia:
color: transparent;
background: linear-gradient(to right, #3b82f6, #c084fc, #db2777);
background-clip: text;
Tai nepavyks:
color: transparent;
background-clip: text;
background: linear-gradient(to right, #3b82f6, #c084fc, #db2777);
Naršyklės palaikymas
Naršyklės palaikymas color: transparent
ir background-clip: text
buvo stiprus ilgą laiką, tačiau kai kuriose naršyklėse vis dar reikalingi tiekėjo priešdėliai. Aukščiau pateiktuose rašikliuose pastebėsite, kad mes iš tikrųjų naudojome -webkit-
pardavėjo priešdėlis, skirtas „Edge“ ir „Chrome“:
-webkit-background-clip: text;
background-clip: text;
Jei peržiūrite demonstracines versijas „Edge“ ir „Chrome“ be tiekėjo priešdėlio, efektas nepavyks.
Prieinamumo svarstymai
Visada verta žinoti, kas gali nutikti, jei mūsų naudojamos CSS funkcijos nepalaiko jokios naršyklės. Pavyzdžiui, jei nustatome teksto spalvą į transparent
bet naršyklė nepalaiko background-clip: text;
, tos naršyklės vartotojas negalės perskaityti mūsų teksto. (Fonas užpildys visą teksto laukelį, o ne apsiribos teksto simboliais.)
Norėdami to apsisaugoti, savo išgalvotus efektus galėtume patalpinti į @supports
blokas, kuris tikrina, ar palaikoma background-clip
:
@supports (background-clip: text) or (-webkit-background-clip: text) {
h1 {
}
}
Naršyklėms, kurios nepalaiko background-clip
galime palikti numatytąją juodą teksto spalvą arba nustatyti kitą spalvą.
Taip pat atminkite, kad dėl efektų, su kuriais čia grojome, tekstas gali būti sunkiau įskaitomas, todėl nepamirškite to ir nepersistenkite – ypač naudodamiesi fono vaizdais. Taip pat įsitikinkite, kad tekstas yra aiškiai įskaitomas prieš bet kokias pirminių elementų fono spalvas.
Išvada
Šiame straipsnyje apžvelgėme du paprastus būdus, kaip pagerinti teksto išvaizdą tinklalapyje. Mes galėtų pritaikykite tokius efektus visam puslapio tekstui, tačiau tai beveik neabejotinai būtų didžiulis perteklius ir tikriausiai erzintų svetainės lankytojus, nei sužavėtų juos.
Tai yra efektai, kuriuos reikia naudoti saikingai ir atsargiai. Išmintingai naudojant šią techniką galima pridėti šiek tiek malonumo jūsų tinklalapiams.