Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

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

41023
8 минут чтения
Средний рейтинг статьи: 2.9

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

Как Создать Скроллинг На Своем Сайте С Помощью CSS  (1)

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

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

  1. Auto. Стоит по умолчанию. 
  2. Smooth. Плавный переход.
  3. Instant. Быстрый переход. 

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

    

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

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

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

    

Image1

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

    

Image12

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

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

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

Облачные серверы

Масштабируемые вычислительные ресурсы
по всему миру с почасовой оплатой.

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

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

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

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

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

    

Image4

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

    

Image3

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

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

Image6

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

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

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

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

Пример 1 

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

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

    

Image5

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

    

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

    

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

    

Image8

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

  1. изображение на фоне блока 2;
  2. заголовок «Блок 2»;
  3. блок 1 с оранжевым фоном. 

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

Пример 2

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

Image2

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

    

Image9

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

    

Image10

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

Пример 3

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

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

    

Image7

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

    

Image11

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

Выгодные тарифы на облачные серверы

Cloud MSK 15

477 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
NVMe
15 ГБ
Канал
1 Гбит/с
Публичный IP
Cloud MSK 30

657 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
NVMe
30 ГБ
Канал
1 Гбит/с
Публичный IP

Заключение 

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

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

41023
8 минут чтения
Средний рейтинг статьи: 2.9

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server