Latviešu

Visaptveroša rokasgrāmata par CSS scroll-margin, kas nodrošina vienmērīgu navigāciju ar fiksētām galvenēm, nobīdot enkura saites. Uzziniet praktiskas ieviešanas metodes labākai lietotāja pieredzei.

CSS Scroll Margin: Fiksētu galveņu nobīdes enkurēšanas apguve

Navigācija garās tīmekļa lapās ar fiksētām galvenēm bieži vien var radīt nepatīkamu lietotāja pieredzi. Kad lietotājs noklikšķina uz enkura saites, pārlūkprogramma pāriet uz mērķa elementu, bet fiksētā galvene aizsedz šī elementa augšējo daļu. Šeit talkā nāk CSS scroll-margin un scroll-padding, nodrošinot vienkāršu, bet jaudīgu veidu, kā nobīdīt enkura saites un nodrošināt netraucētu navigāciju.

Problēmas izpratne: fiksētās galvenes šķērslis

Fiksētas galvenes ir izplatīts dizaina elements mūsdienu vietnēs, kas uzlabo lietojamību, nodrošinot pastāvīgu navigāciju. Tomēr tās rada problēmu: kad lietotājs noklikšķina uz iekšējās saites (enkura saites), kas norāda uz konkrētu lapas sadaļu, pārlūkprogramma ritina mērķa elementu līdz skatloga pašai augšai. Ja ir fiksēta galvene, tā aizsedz mērķa elementa augšējo daļu, apgrūtinot lietotājam tūlītēju satura apskati, ko viņš vēlējās redzēt. Tas var būt īpaši problemātiski mobilajās ierīcēs ar mazākiem ekrāniem. Iedomājieties lietotāju Tokijā, kurš savā viedtālrunī pārlūko garu ziņu rakstu; viņš noklikšķina uz enkura saites uz konkrētu sadaļu, lai konstatētu, ka šo sadaļu daļēji aizsedz galvene. Šis traucējums pasliktina kopējo lietotāja pieredzi.

Iepazīstinām ar scroll-margin un scroll-padding

CSS piedāvā divas īpašības, kas palīdz atrisināt šo problēmu: scroll-margin un scroll-padding. Lai gan tās šķiet līdzīgas, tās darbojas atšķirīgi un ir vērstas uz dažādiem ritināšanas uzvedības aspektiem.

Fiksētu galveņu kontekstā scroll-margin-top parasti ir visatbilstošākā īpašība. Tomēr, atkarībā no jūsu izkārtojuma, jums varētu būt nepieciešams pielāgot arī citas atkāpes.

scroll-margin-top izmantošana fiksētas galvenes nobīdei

Visbiežākais scroll-margin pielietojums ir enkura saišu nobīdīšana, ja ir fiksēta galvene. Lūk, kā to ieviest:

  1. Nosakiet savas fiksētās galvenes augstumu: Izmantojiet pārlūkprogrammas izstrādātāja rīkus, lai pārbaudītu fiksēto galveni un noteiktu tās augstumu. Šī ir vērtība, ko izmantosiet scroll-margin-top. Piemēram, ja jūsu galvene ir 60 pikseļus augsta, jūs izmantosiet scroll-margin-top: 60px;.
  2. Piemērojiet scroll-margin-top mērķa elementiem: Atlasiet elementus, kurus vēlaties nobīdīt. Tie parasti ir jūsu virsraksti (<h1>, <h2>, <h3>, etc.) vai sadaļas, uz kurām norāda jūsu enkura saites.

Piemērs: pamata ieviešana

Pieņemsim, ka jums ir fiksēta galvene ar 70 pikseļu augstumu. Lūk, CSS, ko jūs izmantotu:

h2 {
  scroll-margin-top: 70px;
}

Šis CSS noteikums norāda pārlūkprogrammai, ka, kad enkura saite ir vērsta uz <h2> elementu, tai ir jāritina elements uz pozīciju, kurā starp <h2> elementa augšdaļu un skatloga augšdaļu ir vismaz 70 pikseļu atstarpe. Tas novērš fiksētās galvenes aizsegšanu virsrakstam.

Piemērs: piemērošana vairākiem virsrakstu līmeņiem

Jūs varat piemērot scroll-margin-top vairākiem virsrakstu līmeņiem, lai nodrošinātu konsekventu uzvedību visā jūsu lapā:

h1, h2, h3 {
  scroll-margin-top: 70px;
}

Piemērs: klases izmantošana konkrētām sadaļām

Tā vietā, lai mērķētu uz visiem virsrakstiem, jūs varētu vēlēties piemērot nobīdi tikai konkrētām sadaļām. To var panākt, pievienojot šīm sadaļām klasi:

<section id="introduction" class="scroll-offset">
  <h2>Introduction</h2>
  <p>...</p>
</section>
.scroll-offset {
  scroll-margin-top: 70px;
}

scroll-padding-top izmantošana kā alternatīva

scroll-padding-top piedāvā alternatīvu pieeju tā paša rezultāta sasniegšanai. Tā vietā, lai pievienotu atkāpi mērķa elementam, tas pievieno polsterējumu ritināšanas konteinera augšdaļai.

Lai izmantotu scroll-padding-top, to parasti piemēro <body> elementam:

body {
  scroll-padding-top: 70px;
}

Tas norāda pārlūkprogrammai, ka lapas ritināmajai zonai augšpusē jābūt 70 pikseļu polsterējumam. Kad tiek noklikšķināts uz enkura saites, pārlūkprogramma ritinās mērķa elementu uz pozīciju, kur tas atrodas 70 pikseļus zem skatloga augšdaļas, efektīvi izvairoties no fiksētās galvenes.

Izvēle starp scroll-margin un scroll-padding

Izvēle starp scroll-margin un scroll-padding bieži vien ir atkarīga no personīgajām vēlmēm un jūsu vietnes konkrētā izkārtojuma. Lūk, salīdzinājums, kas palīdzēs jums izlemt:

Vairumā gadījumu priekšroka tiek dota scroll-margin izmantošanai virsrakstiem vai sadaļām, jo tas nodrošina lielāku elastību. Tomēr, ja jums ir vienkāršs izkārtojums ar fiksētu galveni un vēlaties ātru risinājumu, scroll-padding var būt labs variants.

Papildu metodes un apsvērumi

CSS mainīgo izmantošana uzturēšanai

Lai uzlabotu uzturēšanu, jūs varat izmantot CSS mainīgos, lai saglabātu fiksētās galvenes augstumu. Tas ļauj viegli atjaunināt nobīdi vienuviet, ja mainās galvenes augstums.

:root {
  --header-height: 70px;
}

h1, h2, h3 {
  scroll-margin-top: var(--header-height);
}

/* Example of usage with scroll-padding-top */
body {
  scroll-padding-top: var(--header-height);
}

Dinamisku galveņu augstumu apstrāde

Dažos gadījumos jūsu fiksētā galvene var dinamiski mainīt augstumu, piemēram, dažādos ekrāna izmēros vai kad lietotājs ritina lapu uz leju. Šādās situācijās jums būs jāizmanto JavaScript, lai dinamiski atjauninātu scroll-margin-top vai scroll-padding-top.

Lūk, pamata piemērs, kā to izdarīt:

function updateScrollMargin() {
  const headerHeight = document.querySelector('header').offsetHeight;
  document.documentElement.style.setProperty('--header-height', `${headerHeight}px`);
}

// Call the function on page load and when the window is resized
window.addEventListener('load', updateScrollMargin);
window.addEventListener('resize', updateScrollMargin);

Šis JavaScript kods iegūst <header> elementa augstumu un attiecīgi iestata --header-height CSS mainīgo. Pēc tam CSS izmanto šo mainīgo, lai iestatītu scroll-margin-top vai scroll-padding-top.

Pieejamības apsvērumi

Lai gan scroll-margin un scroll-padding galvenokārt risina vizuālas problēmas, ir būtiski ņemt vērā pieejamību. Pārliecinieties, ka pievienotā nobīde negatīvi neietekmē lietotājus, kuri paļaujas uz ekrāna lasītājiem vai tastatūras navigāciju.

Vairumā gadījumu scroll-margin un scroll-padding noklusējuma uzvedība ir pieejama. Tomēr vienmēr ir laba ideja pārbaudīt savu vietni ar palīgtehnoloģijām, lai nodrošinātu, ka nav neparedzētu problēmu.

Pārlūkprogrammu saderība

scroll-margin un scroll-padding ir lieliska pārlūkprogrammu saderība. Tās atbalsta visas mūsdienu pārlūkprogrammas, tostarp Chrome, Firefox, Safari, Edge un Opera. Vecākas pārlūkprogrammas var neatbalstīt šīs īpašības, bet tās pakāpeniski degradēsies, kas nozīmē, ka enkura saites joprojām darbosies, bet nobīde netiks piemērota.

Lai nodrošinātu saderību ar vecākām pārlūkprogrammām, varat izmantot polifilu vai CSS risinājumu. Tomēr vairumā gadījumu to nav nepieciešams darīt, jo lielākā daļa lietotāju izmanto mūsdienu pārlūkprogrammas, kas atbalsta šīs īpašības.

Biežāko problēmu novēršana

Šeit ir dažas biežākās problēmas, ar kurām varat saskarties, izmantojot scroll-margin un scroll-padding, kā arī problēmu novēršanas padomi:

Piemēri no reālās pasaules

Apskatīsim dažus reālās pasaules piemērus, kā scroll-margin un scroll-padding tiek izmantoti populārās vietnēs:

Šie piemēri demonstrē scroll-margin un scroll-padding daudzpusību un to, kā tos var izmantot, lai uzlabotu lietotāja pieredzi dažādās vietnēs. Piemēram, iedomājieties programmatūras uzņēmumu, kas atrodas Bangalorē un uztur tiešsaistes dokumentācijas portālu ar simtiem lapu; `scroll-margin` izmantošana katram virsrakstam garantē konsekventi vienmērīgu pieredzi neatkarīgi no lietotāja ierīces vai pārlūkprogrammas.

Noslēgums

scroll-margin un scroll-padding ir būtiskas CSS īpašības, lai radītu vienmērīgu un lietotājam draudzīgu navigācijas pieredzi vietnēs ar fiksētām galvenēm. Izprotot, kā šīs īpašības darbojas un kā tās efektīvi piemērot, jūs varat nodrošināt, ka jūsu lietotāji var viegli pārvietoties pa jūsu vietni un bez grūtībām atrast meklēto saturu. Sākot ar vienkāršu blogu līdz sarežģītai e-komercijas platformai, kas paredzēta klientiem dažādos tirgos, piemēram, Sanpaulu un Singapūrā, `scroll-margin` ieviešana garantē konsekventi patīkamu un intuitīvu navigāciju, tādējādi uzlabojot jūsu vietnes lietojamību un kopējos panākumus. Tāpēc pieņemiet šīs īpašības un uzlabojiet savu tīmekļa projektu lietotāja pieredzi jau šodien!

Tālākai apguvei