În tutorialul de astăzi vom folosi JavaScript pentru a crea un efect simplu, flexibil, parallax, în care o emblemă schimbă aparent culorile cu fundalul pe care se află atunci când utilizatorul scroll.
Vom crea un element "implicit" care să respecte destinația de plasare (pozitie: fixa
) și o grămadă de elemente "mobile" a căror poziție depinde de acel element "implicit". Vom folosi JavaScript pentru a face acest lucru de fiecare dată când utilizatorul scroll.
Notă: pentru a acoperi toate bazele pe care le-am furnizat explicația în format video și scris.
Abonați-vă la Tuts + Web Design pe Youtube
Vom începe prin crearea a două elemente care conțin. Să facem unul dintre fundalul lor întunecat și o lumină, astfel încât să putem avea o imagine contrară conținută în ele. Să mergem mai departe și să facem prima noastră imagine imaginea "implicită", oferindu-i o clasă de Mod implicit
, în timp ce celelalte imagini vor primi clasa deplasabil
.
Acum, asigurați-vă că imaginile noastre nu se termină prin derularea în afara containerelor overflow: ascuns
. De asemenea, vom merge mai departe și vom spune că aceste containere au poziție relativă, astfel încât elementele absolut poziționate se vor alinia la aceste containere în loc de direct la elementul fix când scriem JavaScript.
Din motive de derulare, hai să dăm aceste recipiente a min înălțime
din jur 400px
. Și să ne ținem logo-urile departe de margini, să le dăm câteva umplutură
de 1em
.
.container overflow: hidden; poziție: relativă; min-înălțime: 400 px; padding: 1em;
Fiecare container are nevoie de o culoare contrastantă, astfel:
.întuneric background: # 333; .light background: #fff;
Și, în cele din urmă, după cum am promis, hai să ne setăm CSS-ul implicit și mobil, astfel încât unul să fie blocat de pagină în timp ce utilizatorul scroll, iar celălalt se deplasează împreună cu el fără să lovească în alte elemente:
.implicit poziție: fix; . mutabil poziție: absolut;
Aceasta ar trebui să aibă grijă de marcaj și stil. Dacă vizualizați pagina, ar trebui să vedeți emblema implicită derulată în jos și ascunsă în spatele celorlalte containere, în timp ce toate logo-urile mobile ar trebui să apară ca elemente normale în partea din stânga sus a containerelor respective.
Acum, pentru partea distractivă, ceea ce face să funcționeze cu JavaScript.
Mai întâi vom încărca jQuery și scriptul personalizat în partea de jos a paginii noastre index.html
: