- Как создать скроллинг на своем сайте с помощью CSS?
- Если нужен плавный скроллинг
- Пример с HTML-кодом
- Совместимость с браузерами
- Если нужен параллакс
- Пример с HTML-кодом
- Совместимость с браузерами
- Дополнительные примеры
- Пример 1
- Пример 2
- Пример 3
- Заключение
- HTML Scrolling Text
- CSS Method — Right to Left
- Right to Left
- Left to Right
- Scroll Up
- Scroll Down
- Speed
- Falling Text
- More Marquee Codes
- Marquee Generator
- Marquee Usability
Как создать скроллинг на своем сайте с помощью CSS?
Вы хотите создать эффекты параллакса и скроллинга на странице, но не знаете, с чего начать? Не нужно сразу обращаться к Javascript: есть более простые варианты. В этой статье мы расскажем, как все сделать при помощи СSS-кода. Также объясним, с какими браузерами эффекты работать не станут.
Если нужен плавный скроллинг
Чтобы создать простую прокрутку из одной части страницы в другую, нужно использовать CSS-свойство scroll-behavior. Вот его основные значения:
Так выглядит CSS-код на примере со вторым значением и условным селектором p:
Далее мы покажем на примере, как сделать плавный переход от одной части сайта к другой при помощи значения smooth. В этом случае пользователь увидит переход при нажатии на гиперссылку, ведущую к другой части с текстом.
Пример с HTML-кодом
Шаг 1. Создадим два блока с ссылками друг на друга:
Плавная прокрутка
Блок 1
Перейди по гиперссылке, чтобы увидеть плавный скроллинг.
Нажми сюда, чтобы перейти к Блоку 2.
Блок 2
Нажми сюда, чтобы перейти к Блоку 1.
Шаг 2. Добавим плавный скроллинг с помощью кода CSS внутри тега . Код состоит из cвойства scroll-behavior и значения smooth. Еще выберем цвета и высоту для разных частей с текстом: розовый и желтый.
Благодаря значению smooth удалось добиться плавного скроллинга на веб-странице.
Совместимость с браузерами
Свойство 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.
HTML Scrolling Text
This page contains HTML code for creating scrolling text.
You can create scrolling text in HTML using the tag, or you can create CSS scrolling text (the preferred method). You can make your text scroll from right to left. You can make it scroll left to right. You can make it bounce back and forth. You can make it scroll up or down. You can even make your text zoom in from the side and stay in the same place.
CSS Method — Right to Left
Here’s the recommended method of scrolling text. See CSS scrolling text if you need to scroll from left to right or vertically.
Right to Left
When I created this page, it was way back before CSS animations were a thing. Back then, the HTML tag was the only reliable way to get text to scroll. Only problem is that the tag is actually non-standard HTML
Therefore, I recommend that you use the CSS method above, or see CSS Scrolling Text or CSS Marquee for more examples of the CSS method.
However, for those so inclined, the remaining examples on this page use the (non-standard) tag.
To make your text scroll left (i.e. from right to left), use behavior=»scroll» and direction=»left» . Like this:
Source Code | Result |
---|---|
Here is some scrolling text. right to left! |
Left to Right
To make your text scroll right (i.e. from left to right), use behavior=»scroll» and direction=»right» . Like this:
Source Code | Result |
---|---|
Here is some scrolling text. left to right! |
Scroll Up
To make your text scroll up (i.e. from bottom to top), use behavior=»scroll» and direction=»up» . Like this:
Source Code | Result |
---|---|
Here is some scrolling text. going up! |
Scroll Down
To make your text scroll down (i.e. from top to bottom), use behavior=»scroll» and direction=»down» . Like this:
Source Code | Result |
---|---|
Here is some scrolling text. going down! |
Speed
You can change the scrolling speed of your marquee. For example, scrollamount=»1″ sets the marquee to a very slow scroll, while scrollamount=»20″ will make it faster. You can use whatever number you like though. Like this:
Source Code | Result |
---|---|
Very slow. Faster. Fast. Lightning! |
Falling Text
Here’s a little trick that creates scrolling text that falls like snow.
To use this, change the bit that reads Scrolling text. to the text that you want to scroll. You can also change any of the other settings to modify how the text falls, how high the falling text is, etc.
Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text. Scrolling text.
More Marquee Codes
You can do much more with HTML marquees than is covered on this page. Here’s the full list of marquee codes on this website:
Marquee Generator
Marquee Usability
Try to be careful when using HTML marquees. Many web users dislike websites that contain scrolling or bouncing images and other elements, so try to use them tastefully 🙂