One page scrolling css

Как создать скроллинг на своем сайте с помощью CSS?

Вы хотите создать эффекты параллакса и скроллинга на странице, но не знаете, с чего начать? Не нужно сразу обращаться к Javascript: есть более простые варианты. В этой статье мы расскажем, как все сделать при помощи СSS-кода. Также объясним, с какими браузерами эффекты работать не станут.

Если нужен плавный скроллинг

Чтобы создать простую прокрутку из одной части страницы в другую, нужно использовать CSS-свойство scroll-behavior. Вот его основные значения:

Так выглядит CSS-код на примере со вторым значением и условным селектором p:

Далее мы покажем на примере, как сделать плавный переход от одной части сайта к другой при помощи значения smooth. В этом случае пользователь увидит переход при нажатии на гиперссылку, ведущую к другой части с текстом.

Пример с HTML-кодом

Шаг 1. Создадим два блока с ссылками друг на друга:





Плавная прокрутка




Блок 1


Перейди по гиперссылке, чтобы увидеть плавный скроллинг.


Нажми сюда, чтобы перейти к Блоку 2.



Блок 2


Нажми сюда, чтобы перейти к Блоку 1.



Шаг 2. Добавим плавный скроллинг с помощью кода CSS внутри тега . Код состоит из cвойства scroll-behavior и значения smooth. Еще выберем цвета и высоту для разных частей с текстом: розовый и желтый.

 



Благодаря значению smooth удалось добиться плавного скроллинга на веб-странице.

Читайте также:  Python string methods remove

Совместимость с браузерами

Свойство scroll-behavior работает почти со всеми популярными браузерами: Google Chrome, Firefox, Safari и Opera. Исключение — Internet Explorer и старые версии браузеров. Например, на Safari версии 15.2–15.3 свойство работать не станет.

Если нужен параллакс

Parallax — это эффект, при котором элементы заднего плана движутся быстрее или медленнее, чем объекты на переднем плане. Например, пользователь прокручивает страницу и видит, что фоновое изображение движется с одной скоростью, а текст — с другой.

Пример с HTML-кодом

В этом случае мы сделаем так, чтобы фоновая картинка вообще не двигалась во время скроллинга.

Шаг 1. Напишем код, в котором будет большой текстовый блок фиолетового цвета:

 




Прокрутите страницу дальше






Этот текст нужен просто для того, чтобы продемонстрировать эффект. Вам стоит прокрутить страницу вверх и вниз — текстовый блок будет двигаться, а изображение останется на месте.





Шаг 2. Рассмотрим код CSS. В нем будет ссылка на изображение, которая станет фоновым благодаря значению fixed в свойстве background-attachment.

В итоге получился параллакс на странице.

Примечание. Чтобы убрать этот эффект, достаточно вместо background-attachment: fixed указать в коде background-attachment: scroll. Изображение будет двигаться вместе с текстом:

Совместимость с браузерами

Свойство background-attachment работает с Google Chrome, Firefox, Opera, Internet Explorer и другими браузерами. Исключение — Safari, Android Browser и мобильная версия Opera.

Дополнительные примеры

Чтобы лучше разобраться с CSS-свойствами, рассмотрим другие эффекты для прокрутки на сайте .

Пример 1

По шагам рассмотрим, как добиться эффекта многоуровневого скроллинга . В этом случае несколько объектов на сайте будут двигаться с разной скоростью при прокрутке.

Шаг 1. Напишем две строки следущим образом:

Шаг 2. Добавим CSS-код внутри тега . Сначала укажем параметры и выберем фон на бесплатном фотостоке для блока 2:

 



Шаг 3. Там же укажем параметры заголовков:

 



Шаг 4 . Определим параметры других элементов:

 



В итоге на сайте движутся три объекта. Перечислим их от самого медленного до самого быстрого:

Так выглядит многоуровневый скроллинг.

Пример 2

Рассмотрим, как зафиксировать какой-либо элемент на сайте во время прокрутки. Например, на сайте cloud.timeweb.com есть такой закрепленный блок:

Шаг 1 . Напишем код с двумя текстовыми блоками таким образом:

 

Зафиксированный элемент






Элемент


Шаг 2. Напишем следующий CSS-код внутри тега :



При помощи свойства значения fixed удалось сделать так, чтобы элемент двигался вместе с прокруткой.

Пример 3

В этом случае разберемся, как сделать горизонтальный скроллинг.

Шаг 1. Создадим четыре строки текста таким образом:

Шаг 2 . Добавим CSS-код внутри тега . В коде обозначим размеры текстовых блоков и их цвета.

 

Так выглядит горизонтальная прокрутка страницы, которая условно разделена на несколько частей с текстом.

Заключение

Создание эффекта скроллинга — это несложный процесс. Только при помощи свойств CSS можно сделать так, чтобы пользователь видел необычные переходы между блоками сайта при прокрутке.

В некоторых случаях нужны длинные коды: например, для многоуровневого варианта, при котором каждый блок на странице движется с уникальной скоростью. Но это в любом случае лучше, чем создавать подобные переходы на JavaScript.

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Create an Apple-like one page scroller website (iPhone 5S website) with One Page Scroll plugin

peachananr/onepage-scroll

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

#One Page Scroll 1.3.1 by Pete R. Create an Apple-like one page scroll website (iPhone 5S website) with One Page Scroll plugin Created by Pete R., Founder of BucketListly

note: jQuery 1.9.0 or later is strongly recommended because using jQuery less than 1.8.3 and jquery.onepage-scroll.js together turns out to be a hash-based XSS vulnerabiliry.

Modern browsers such as Chrome, Firefox, and Safari on both desktop and smartphones have been tested. Should work fine on IE8 and IE9 as well.

One Page Scroll let you transform your website into a one page scroll website that allows users to scroll one page at a time. It is perfect for creating a website in which you want to present something to the viewers. For example, Apple’s iPhone 5S website uses the same technique.

To add this to your website, simply include the latest jQuery library together with jquery.onepage-scroll.js , onepage-scroll.css into your document’s and call the function as follows:

body> . div class pl-s">main"> section>. section> section>. section> . div> . body>

Container «Main» must be one level below the body tag in order to make it work full page. Now call the function to activate as follows:

$(".main").onepage_scroll( sectionContainer: "section", // sectionContainer accepts any kind of selector in case you don't want to use section easing: "ease", // Easing options accepts the CSS3 easing animation such "ease", "linear", "ease-in", // "ease-out", "ease-in-out", or even cubic bezier value such as "cubic-bezier(0.175, 0.885, 0.420, 1.310)" animationTime: 1000, // AnimationTime let you define how long each section takes to animate pagination: true, // You can either show or hide the pagination. Toggle true for show, false for hide. updateURL: false, // Toggle this true if you want the URL to be updated automatically when the user scroll to each page. beforeMove: function(index) >, // This option accepts a callback function. The function will be called before the page moves. afterMove: function(index) >, // This option accepts a callback function. The function will be called after the page moves. loop: false, // You can have the page loop back to the top/bottom when the user navigates at up/down on the first/last page. keyboard: true, // You can activate the keyboard controls responsiveFallback: false, // You can fallback to normal page scroll by defining the width of the browser in which // you want the responsive fallback to be triggered. For example, set this to 600 and whenever // the browser's width is less than 600, the fallback will kick in. direction: "vertical" // You can now define the direction of the One Page Scroll animation. Options available are "vertical" and "horizontal". The default value is "vertical". >);

And that’s it. Now, your website should work the same way Apple’s iPhone 5S website does. You should be able to swipe up/down as well (thanks to Eike Send for his swipe events!) when viewing your website on mobile phones.

You can trigger page move with hotkeys as well:

Pressing the up arrow or the page up key allows you to move the page up by one.

Pressing the down arrow or the page down key allows you to move the page down by one.

Pressing the space key allows you to move the page down by one.

Pressing the home key brings you back to the first page.

Pressing the end key brings you to the last page.

You can also trigger page move programmatically as well:

This method allows you to move the page up by one. This action is equivalent to scrolling up/swiping down.

This method allows you to move the page down by one. This action is equivalent to scrolling down/swiping up.

This method allows you to move to the specified page index programatically.

You can use callbacks to perform actions before or after the page move.

This callback gets called before the plugin performs its move.

$(".main").onepage_scroll( beforeMove: function(index)  . > >);

This callback gets called after the move animation was performed.

$(".main").onepage_scroll( afterMove: function(index)  . > >);

If you want to see more of my plugins, visit The Pete Design, or follow me on Twitter and Github.

About

Create an Apple-like one page scroller website (iPhone 5S website) with One Page Scroll plugin

Источник

Оцените статью