Byg en animeret destinationsside med delt skærm

Forfatter: Peter Berry
Oprettelsesdato: 13 Juli 2021
Opdateringsdato: 13 Kan 2024
Anonim
Byg en animeret destinationsside med delt skærm - Kreativ
Byg en animeret destinationsside med delt skærm - Kreativ

Indhold

Din destinationsside er et afgørende element i dit webstedslayout. Det er den første rigtige mulighed, du har for at introducere din virksomhed eller det produkt, du sælger, så dens design er nøglen. Landingssider er designet med et enkelt fokuseret mål kendt som en opfordring til handling (CTA). Brug af farver og billeder som et supplement til opfordring til handling og brugeroplevelse er et must.

  • Se den fungerende CodePen for denne vejledning

I denne vejledning gennemgår vi, hvordan man opbygger en engagerende destinationsside for et fiktivt modemærke. Det vil være centreret omkring et split-screen design med store billeder og animerede overgange, der sker på svævningen.Denne side har to klare opfordringsknapper, og vi bruger HTML, Sass til styling og et strejf af vanille-JavaScript, der bruger ES6-syntaksen (husk at sørge for, at din webhosting passer til dit websteds behov). For kompleks? Opret et websted uden behov for kode, prøv en simpel webstedsbygger.


01. Kom i gang

Hvis du bruger CodePen, skal du sørge for, at CSS er indstillet til 'SCSS' i penindstillingerne. Du kan foretage denne ændring ved at klikke på fanen Indstillinger, vælge 'CSS' og ændre CSS Preprocessor til SCSS i rullemenuerne.

Så kan vi begynde at tilføje i vores HTML. Vi skal pakke en sektion kaldet 'venstre' og en sektion kaldet 'højre' i en containerklasse, hvor begge sektioner får en klasse af 'skærm'.

div> sektion> / sektion> sektion> / sektion> / div>

02. Afslut HTML

For at færdiggøre vores HTML tilføjer vi en titel til hver sektion ved hjælp af en h1 tag. Nedenfor bliver vi nødt til at tilføje en knap, der vil linke til en anden side, hvis dette var et virkeligt projekt. Vi vil give dette en klasse af knap for at holde tingene pæne og enkle.


div> sektion> h1> Herretøj / h1> knap> a href = "#"> Lær mere / a> / knap> / sektion> sektion> h1> Damemode / h1> knap> a href = "#"> Lær Mere / a> / knap> / sektion>

03. Udforsk Sass-variabler

Den eneste ting, vi alle elsker ved Sass, er brugen af ​​variabler. Selvom native CSS-variabler får mere support, holder vi tingene sikre ved at bruge Sass. Vi sætter disse øverst på vores .scss, og du kan vælge de farver, du vil, men bruge rgba værdier giver os større fleksibilitet.

/ * * Variabler * * / $ container-BgColor: # 444; $ left-bgColor: rgba (136, 226, 247, 0.7); $ venstre-knap-svæver: rgba (94, 226, 247, 0.7); $ right-bgColor: rgba (227, 140, 219, 0.8); $ højre-knap-svæver: rgba (255, 140, 219, 0.7); $ svævebredde: 75%; $ lille bredde: 25%; $ animateSpeed: 1000 ms;

04. Juster kropsstil

For det første vil vi rydde al standardpolstring og margen til kroppen og derefter indstille skrifttypefamilien til Open Sans. Dette påvirker kun knappen, så det betyder ikke noget for meget, hvilken skrifttype vi bruger. Derefter indstiller vi bredden og højden til 100% og sørg for, at alt, der flyder over på X-aksen, bliver skjult.


html, body {polstring: 0; margen: 0; font-family: 'Open Sans', sans-serif; bredde: 100%; højde: 100%; overflow-x: skjult; }

05. Stil sektionens titler

Det er tid til at vælge en Google-skrifttype til sektionstitlerne - vi har valgt Playfair Display. Brug derefter translateX vi kan sikre, at sektionstitlerne altid er centreret på X-aksen.

h1 {skriftstørrelse: 5rem; farve: #fff; position: absolut; venstre: 50%; top: 20%; transform: translateX (-50%); hvid-plads: nowrap; font-family: 'Playfair Display', serif; }

06. Få CTA'erne til at skille sig ud

Vores knapper fungerer som vores opfordringer til handling, så disse skal være store, dristige og placeret, hvor de er lette at klikke. Begge knapper har en hvid kant og en interessant overgangseffekt. Standardstilarterne for begge knapper er de samme, men vi ændrer deres farver, når de holder markøren.

.knap {display: blok; position: absolut; venstre: 50%; top: 50%; højde: 2.6rem; polstring-top: 1.2rem; bredde: 15rem; tekstjustering: center; farve: hvid; kant: 3 px solid #fff; border-radius: 4px; fontvægt: 600; tekst-transformation: store bogstaver; tekst-dekoration: ingen; transform: translateX (-50%); overgang: alle .2s;

Hovedknapperne har en dejlig simpel svæveeffekt, og vi bruger de Sass-variabler, vi har angivet for farven, som vil have en lignende farve som baggrunden på siden.

.screen.left .button: svæver {baggrundsfarve: $ venstre-knap-svæver; border-color: $ venstre-knap-svæver; } .screen.right .button: svæver {baggrundsfarve: $ højre-knap-svæver; border-color: $ højre-knap-svæver;

07. Indstil containerbaggrund og -skærme

Containerklassen fungerer som vores sideindpakning, og vi indstiller positionen for denne til relativ, simpelthen fordi vi vil placere skærmene til absolut positionering. Vi giver beholderen en standard baggrundsfarve, men dette ses naturligvis ikke, fordi vi indstiller forskellige farver til begge skærmbaggrunde.

.container {position: relative; bredde: 100%; højde: 100%; baggrund: $ container-BgColor; .screen {position: absolut; bredde: 50%; højde: 100%; overløb: skjult; }}

08. Tilføj baggrundsbilleder

Både venstre og højre sektion viser et billede, og du kan finde royaltyfrie stockbilleder fra websteder som Unsplash, Pixabay eller Pexels (som jeg har brugt i denne vejledning). For at gøre tingene lettere har jeg brugt en gratis billedhosting- og delingstjeneste kaldet imgbb, som vi kan linke til i vores CSS.

.screen.left {venstre: 0; baggrund: url (’https://preview.ibb.co/cpabRm/pexels_photo_450212_1.webp’) centercenter ikke gentages; baggrundsstørrelse: omslag; &: før {position: absolut; indhold: ""; bredde: 100%; højde: 100%; baggrund: $ left-bgColor; }}

Højre side af siden viser også et baggrundsbillede ved hjælp af imgbb, og vi sætter baggrundsfarven til lyserød. Igen indstiller vi baggrundsstørrelsen til dække over. Dette giver os mulighed for at dække hele det indeholdende element, som i vores tilfælde er det .skærm klasse.

.screen.right {højre: 0; baggrund: url (’https://preview.ibb.co/mToPCR/seth_doyle_82563_1.webp’) centercenter ikke gentages; baggrundsstørrelse: omslag; &: før {position: absolut; indhold: ""; bredde: 100%; højde: 100%; baggrund: $ right-bgColor; }}

09. Tilføj overgange og svæveeffekter

Animationshastigheden for vores svæveeffekt på begge skærme styres af en overgang, der holder værdien af ​​vores variabel $ animateSpeed, hvilket er 1000 ms (et sekund). Derefter slutter vi med at give animationen lidt lempelse, hvilket er en lethed ind og ud, der hjælper med at give os en jævnere animation.

.screen.left, .screen.right, .screen.right: før, .screen.left: før {overgang: $ animateSpeed ​​all eas-in-out; }

Hvad vi ønsker at ske nu er, at når du svæver over venstre skærm, vil der blive tilføjet en klasse til dette afsnit ved hjælp af JavaScript (som vi skriver i et senere trin). Når denne klasse tilføjes, strækker skærmen sig uanset bredden på den variabel, vi specificerede - som vil være 75%, og derefter indstilles højre side til den mindre bredde (25%).

.hover-left .left {width: $ hover-width; } .over-venstre. højre {bredde: $ lille-bredde; } .over-venstre. højre: før {z-indeks: 2; }

Dette fungerer nøjagtigt det samme som venstre side, hvor en ny klasse tilføjes på musen svæver ved hjælp af JavaScript, og den højre skærm strækker sig i overensstemmelse hermed. Vi er også nødt til at sikre, at z-indeks er indstillet til 2 så CTA-knappen bliver mere fremtrædende.

.hover-højre .right {width: $ hover-width; } .hover-højre. venstre {bredde: $ lille bredde; }. over-højre. venstre: før {z-indeks: 2; }

10. Gå ind i JavaScript

Vi bruger et strejf af vanille JavaScript til at hjælpe os med at tilføje og fjerne CSS-klasser, og vi vil også bruge nogle af de nye ES6-funktioner. Den første ting, vi skal gøre, er at erklære nogle konstante variabler.

Fordi vi bruger dokument mere end én gang vil vi indstille en konstant variabel kaldet dok og opbevar dokumentet inden for det, så vi kan holde ordet 'dokument' pænt og kort.

const doc = dokument;

Nu skal vi indstille yderligere tre konstanter, der gemmer .ret, .venstre og .beholder vælgere. Årsagen til, at vi bruger konstanter, er, fordi vi ved, at vi ikke vil ændre værdien af ​​disse, så det er fornuftigt at bruge konstanter. Med disse nu indstillede kan vi fortsætte og tilføje nogle musebegivenheder til dem.

const right = doc.querySelector (". højre"); const left = doc.querySelector (". venstre"); const container = doc.querySelector (". container");

Bruger venstre konstant variabel, vi erklærede i det sidste trin, kan vi nu tilføje en begivenhedslytter til den. Denne begivenhed bliver den musen begivenhed og i stedet for at bruge en tilbagekaldsfunktion, bruger vi en anden ES6-funktion kaldet Pilefunktioner ’(() =>).

// tilføjer en klasse til containerelementet på hover left.addEventListener ("mouseenter", () => {container.classList.add ("hover-left");});

11. Tilføj og fjern en klasse

I det sidste trin tilføjede vores begivenhedslytter en musen begivenhed, der er målrettet mod hovedcontainerklassen og tilføjer en ny klasse kaldet svæver-venstre til venstre sektionselement. Med dette kaldet tilføjet skal vi nu fjerne det, når vi holder markøren over det. Vi gør dette ved at bruge museløv begivenhed og .fjerne() metode.

// fjerner klassen, der blev tilføjet på hover left.addEventListener ("mouseleave", () => {container.classList.remove ("hover-left");});

Indtil nu har vi gjort alt på venstre skærm. Nu afslutter vi JavaScript og tilføjer og fjerner klasser på de rigtige sektionselementer. Igen har vi brugt pilfunktionens syntaks her for at holde alt ser pænt og pænt ud.

right.addEventListener ("mouseenter", () => {container.classList.add ("hover-right");}); right.addEventListener ("mouseleave", () => {container.classList.remove ("hover-right");});

12. Gør det lydhørt

Intet projekt - uanset hvor stort eller lille - bør undgå at blive lydhør. Så i dette trin vil vi tilføje nogle medieforespørgsler til vores CSS og gøre dette lille projekt så tilpasningsdygtigt til mobile enheder så godt vi kan. Det er værd at tjekke den originale CodePen for at se, hvordan dette fungerer.

@media (maks. bredde: 800 px) {h1 {skriftstørrelse: 2rem; } .knap {bredde: 12rem; }

Vi har sørget for, at når bredden på vores side kommer ned til 800 px, bliver skrifttypen og knapperne mindre. Så for at afslutte tingene ønsker vi også at målrette højden og sørge for, at vores knapper bevæger sig ned på siden, når sidehøjden kommer under 700 px.

@media (maks. højde: 700 pixel) {.knapp {øverst: 70%; }}

Vil du gemme dine sider? Eksporter dem som PDF-filer, og gem dem i sikker skyopbevaring.

Webdesign begivenhed Generer London vender tilbage den 19.-21. september 2018 og tilbyder en fyldt tidsplan med brancheførende højttalere, en hel dag med workshops og værdifulde netværksmuligheder - gå ikke glip af det. Få din Generate-billet nu.

Denne artikel blev oprindeligt offentliggjort i netmagasinet udgave 305. Tilmeld nu.  

Nye Publikationer.
Tegneserier afslører, hvordan smartphones ville ændre klassiske film
Læs

Tegneserier afslører, hvordan smartphones ville ændre klassiske film

På godt og ondt har martphone ændret den måde, vi lever på. Afhængigt af hvem du pørger, har martphone enten gjort verden til et mere forbundet ted og givet o et utroligt...
Behøver webdesignere en Retina-skærm?
Læs

Behøver webdesignere en Retina-skærm?

Ingen fremmed for irriterende webde ignere, der engang har agt, at app var vigtige, og web teder ikke var det, In tapaper- kaberen Marco Arment har på Twitter hævdet, at hvi du er en webde i...
20 bedste gratis baggrunde fra 2012
Læs

20 bedste gratis baggrunde fra 2012

Tidligere på året be luttede Creative Bloq at gå ammen med en flok førende de ignere for at give dig et grati tapet til din iPhone, iPad og de ktop hver mandag. Godt for dig, er vi...