Po celém webu se objevují stránky, které používají to, co je známé jako paralaxa. V podstatě je paralaxální svitek, když se obsah posouvá s různou rychlostí, čímž vzniká smysl pro perspektivu a tudíž hloubku.

Je to atraktivní efekt a může být aplikován na tolik vrstev, kolik chcete. V tomto článku představím základní principy tím, že vám ukážeme, jak vytvořit jednoduchý dvouvrstvý paralaxový efekt.

HTML

Chcete-li začít, potřebujeme nějaký kód HTML, zahrneme nějaký plnitelný text, který se umístí do sekce a pak další

které budou držet naše pozadí:

Home page

We are a fairly small, flexible design studio that designs for print and web. We work flexibly with clients to fulfil their design needs. Whether you need to create a brand from scratch, including marketing materials and a beautiful and functional website or whether you are looking for a design refresh we are confident you will be pleased with the results.

We offer the following services:

  • Branding
  • Logos
  • Websites
  • Web applications
  • Web development – HTML5, CSS, jQuery
  • Content Management Systems
  • Responsive Web Design
  • Illustration
  • Business cards
  • Letterheads and compliment slips
  • Flyers
  • Mailers
  • Appointment cards

Sub page

Before you choose us to take on your project you will probably want to know a bit more about us, so meet the team:

Ross has over 10 years experience in the industry. He is our Creative Director, digital designer, web designer and front-end developer. He is also pretty good with a sketchbook. Before starting the company Ross worked as a designer and studio manager for a design house who boasted a number of big name clients. Ross has brought his vast experience from this role to the work he does now.

Monica is Ross’ sister, our Art Director and specialises in graphic and print design. She has also worked with some big names and her designs have won her a number of industry awards.

Rachel and Chandler are our Junior Designers. Rachel is a web designer with knowledge of HTML and CSS and supports Ross on projects. Chandler has just finished his Graphic Design degree and enjoys continuing to learn from Monica and building his experience.

Joey and Phoebe focus on bringing new business to the company. They have won a number of big clients recently and both also have qualifications in project management to ensure that the projects run smoothly from start to finish.

To je vše, co budeme potřebovat. Celý text je jen pro to, abychom zajistili, že pokryjeme celou stránku, takže je nutné rolování. Pojďme dál k CSS:

CSS

CSS potřebné k vytvoření paralaxového efektu je ve skutečnosti poměrně jednoduché, pokud pochopíte, proč je napsáno tak, jak to je. Nejprve musíme nastavit obrázek pozadí pro .bg div a pak musíme zastavit dělení od posunu, protože posuvník bude aplikován jQuery; takže musíme nastavit jeho pozici na pevnou. Dále nastavíme šířku na 100% a výšku na 300%, aby se ujistil, že div je větší než skutečná obrazovka. Umístíme ji vlevo nahoře a nakonec jej z-index -1, aby se ujistil, že je vykreslena pod textem.

.bg {background: url('bg.jpg') repeat;position: fixed;width: 100%;height: 300%;top:0;left:0;z-index: -1;}

To je vše, co potřebujeme pro bg div, nyní potřebujeme stylovat zbývající část naší stránky (i když je to zcela volitelné, nemá vliv na paralaxální svitek):

section {color: #fff;font-family: arial;width: 500px;margin: auto;line-height: 20px;font-size: 16px;}

Pokuste se procházet stránku a uvidíte, že text se posouvá, ale pozadí zůstává fixní, změníme to pomocí jQuery:

JQuery

To, co chceme provést, je zkontrolovat, jak daleko se uživatel posunul a pohyboval se pozadím pomaleji. Chystáme se vytvořit funkci nazvanou paralaxa a vytvořit proměnnou, která bude mít hodnotu pixelů, které uživatel posunul:

function parallax(){var scrolled = $(window).scrollTop();

Nyní, aby se pozadí posouvalo se stejnou rychlostí jako text, nastavíme nejvyšší hodnotu divu na zápornou hodnotu posuvníku, a pak funkci zavřete. Jako tak:

    $('.bg').css('top', -(scrolled) + 'px');}

Bod posunu paralaxy se ale pohybuje jinou rychlostí, takže pro nastavení rychlosti vynásobíme hodnotu frakcí, například 0,2 pro 20%:

function parallax(){var scrolled = $(window).scrollTop();$('.bg').css('top', -(scrolled * 0.2) + 'px');}

Je potřeba udělat ještě jednu věc, aby se efekt spustil a to je volání funkce při každém spuštění události rolování:

$(window).scroll(function(e){parallax();});

Po provedení tohoto je náš kód kompletní. Pokud testujete soubor, uvidíte, že funguje. Chcete-li změnit rychlost, musíme změnit část ve funkci; menší frakce snižují rychlost a vyšší frakce ji zvyšují. Můžete vidět konečný výsledek tohoto kódu toto pero jsem vytvořil.

Závěr

Jak můžete vidět vytvoření paralaxu, není to tak těžké, jak jste očekávali. Samozřejmě je to jen jednoduchý příklad, ale můžete na tom stavět, abyste vytvořili jakýkoli druh složitého paralaxa, který se vám líbí.

Využili jste v projektu nějaký paralaxový efekt? Máte lepší způsob? Dejte nám vědět v komentářích.

Doporučený snímek / náhled, posuvný perspektivní obraz přes Shutterstock.