Web'in her yerinde, paralaks kaydırması olarak bilinen sitelerin yayıldığı siteler yayılıyor. Özünde, bir paralaks kaydırma, içeriğin farklı hızlarda kayarken, perspektif ve dolayısıyla derinlik hissi yaratmasıdır.

Bu çekici bir etkidir ve istediğiniz kadar çok katmana uygulanabilir. Bu yazıda basit bir iki katmanlı paralaks etkisinin nasıl oluşturulacağını göstererek temel prensipleri tanıtacağım.

HTML

Başlamak için biraz HTML'ye ihtiyacımız var, bir bölümün içine yerleştirilecek bazı doldurma metinlerini ekleyeceğiz.

arka planımızı tutacak:

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.

İhtiyacımız olan her şey bu. Metnin tamamı, sayfanın tamamını kapsayacağımızdan emin olmak için kaydırmanın gerekli olmasını sağlamak içindir. Daha fazla CSS'ye geçelim:

CSS

Bir paralaks etkisi yaratmak için gereken CSS, neden böyle yazıldığını anlarsanız oldukça basittir. Önce .gg div'inin arkaplan resmini ayarlamamız gerekiyor ve sonra kaydırma eylemi jQuery tarafından uygulanacağı için div'in kaymasını durdurmamız gerekiyor; bu yüzden konumunu sabit olarak ayarlamamız gerekiyor . Ardından divun gerçek ekrandan daha büyük olduğundan emin olmak için genişliği% 100 ve yüksekliği% 300 olarak ayarlıyoruz. Metnin altına yerleştirildiğinden emin olmak için sol üstte konumlandırıyoruz ve sonunda -1'in bir z-endeksi veriyoruz.

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

Bu, bg div için ihtiyaç duyduğumuz CSS'tir, şimdi sadece sayfamızın geri kalanını şekillendirmemiz gerekir (bu tamamen isteğe bağlı olsa da, paralaks kaydırmasını etkilemez):

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

Sayfayı şimdi kaydırmayı deneyin ve metnin kaydırıldığını, ancak arkaplanın sabit kaldığını göreceksiniz. Bunu jQuery'mizle değiştireceğiz:

JQuery

JQuery'nin yapmasını istediğimiz, kullanıcının ne kadar ilerlediğini ve arka planı daha yavaş bir hızda hareket ettirdiğini kontrol etmektir. Paralaks adında bir işlev oluşturacağız ve kullanıcının kaydettiği piksellerin değerini tutacak bir değişken oluşturacağız:

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

Şimdi, arka planı metni ile aynı hızda kaydırmak için, kaydırmanın negatif değeri olan div değerinin üst değerini ayarladık, ardından işlevi kapatın. Öyle:

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

Ancak paralaks kaydırma noktası farklı bir hızda hareket etmektir, bu yüzden hızı ayarlamak için değeri bir kesir ile çarpıyoruz, örneğin% 20 için 0.2:

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

Efektin çalışmasını sağlamak için yapılacak bir şey daha var ve bu, scroll olayı her tetiklendiğinde işlevi çağırıyor:

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

Bunu yaptıktan sonra kodumuz tamamlandı. Dosyayı test ederseniz çalışmayı göreceksiniz. Hızı değiştirmek için fonksiyondaki kesiri değiştirmemiz gerekiyor; Daha küçük kesirler, hızı azaltır ve daha yüksek kesirler onu arttırır. Bu kodun son sonucunu görebilirsiniz. bu kalemi yarattım.

Sonuç

Paralaks etkisi yaratırken göreceğiniz gibi beklediğiniz kadar zor değil. Tabii ki, bu sadece basit bir örnektir, ancak istediğiniz gibi herhangi bir karmaşık paralaks etkisi yaratmak için buna dayanabilirsiniz.

Bir projede paralaks etkisi var mı? Daha iyi bir yöntem var mı? Yorumlarda bize bildirin.

Öne çıkan görsel / küçük resim, perspektif görüntüsü kayar Shutterstock üzerinden.