- Как создать скроллинг на своем сайте с помощью CSS?
- Если нужен плавный скроллинг
- Пример с HTML-кодом
- Совместимость с браузерами
- Если нужен параллакс
- Пример с HTML-кодом
- Совместимость с браузерами
- Дополнительные примеры
- Пример 1
- Пример 2
- Пример 3
- Заключение
- Прокрутка ссылок на страницы HTML
- Первый
- Второй
- Третий
- Четвертый
- Пятый
- Как создать кнопку скроллинга на сайте
- Способ №3. Кнопка прокрутки вверх и вниз
- Способ №5. Кнопка прокрутки наверх и вниз
Как создать скроллинг на своем сайте с помощью 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
Если вы просматриваете много сайтов, то вероятно знаете, что такое плавная прокрутка, или просто встречали ее на отдельно тематической площадке. В настоящее время все современные веб-сайты используют функцию плавной прокрутки, где сразу многие актуальные темы поставляются с этой функцией. А также это очень распространено на одно страничных сайтах или на портфолио, где отлично может заметить полностью навигацию на таком портале.
Как известно, что плавная прокрутка очень эффективна на одно страничном веб-сайте, где в большинстве применяется на площадках. Если вы хотите создать свой одностраничный сайт-портфолио, то вы можете создать привлекательный с помощью этой функции. Так как сами видите, что она полезна для многостраничных сайтов, где можно выставить кнопку для плавной сортировки для любого раздела или категорий.
Все проверено и отлично работает, где даже немного изменил кнопки:
Вероятно вы встречали якорные ссылки, только здесь идет полноценная страница, где можно все аккуратно по теме разместить, что даже у каждого якоря будет свой заданный цвет, это все по умолчанию идет, как и полноценная страница, которая находится в архиве.
Первый
Второй
Третий
Четвертый
Пятый
ul <
position: fixed;
top: 17%;
left: 0;
transform: translateY(50%);
margin: 0;
padding: 0;
z-index: 1;
>
ul li <
list-style: none;
>
#kamavesamigned <
width: 100%;
height: 100vh;
>
#kamavesamigned div <
position: relative;
width: 100%;
height: 100%;
>
#kamavesamigned div h1 <
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 100%;
text-align: center;
text-transform: uppercase;
margin: 0;
padding: 0;
font-size: 8rem;
color: #f1f2f3;
>
ul li a <
display: block;
text-decoration: none;
height: 32px;
font-size: 25px;
background: #443e3e;
width: 140px;
color: #efecec;
margin: 5px 0;
padding-left: 8px;
/* text-transform: uppercase; */
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
line-height: 27px;
>
ul li a:hover <
background: #35385f;
text-decoration: none;
color: #f2f5c8;
>
#kamavesamigned <
width: 100%;
height: 100vh;
scroll-behavior: smooth;
overflow-Y: scroll;
>
#kamavesamigned div#masedam <
background-color: #1ca9ab;
>
#kamavesamigned div#dev <
background-color: #4d5ee6;
>
#kamavesamigned div#naszabuv <
background-color: #c249c3;
>
#kamavesamigned div#kirasib <
background-color: #19985b;
>
#kamavesamigned div#agmod <
background-color: #9a1c2d;
>
В основном функции плавной прокрутки встроены в JavaScript или в любую среду JS, но здесь создаем плавной прокруткой на чистом CSS, плюс Bootstrap. Где этот стиль только задействована для создания макета, не используя javascript.
Безусловно с помощью jQuery мы можем создать потрясающий эффект прокрутки, но здесь хочется показать, что также можем создать базовый эффект только с помощью HTML CSS, не применяя JavaScript, что реально все удалось.
Теперь вы можете увидеть, как на самом деле работает прокрутка на якорных ссылках. Если вам это нравится, то как говорил, можно полностью скачать полноценную страницу.
Так как если делать отдельно, хотя по всем параметрам она и должна быть отдельно от материала, но с главным переходом на этот прекрасный плавной прокрутки ссылок только с CSS.
Как создать кнопку скроллинга на сайте
При прочтении статей с большим количеством информации встает необходимость установки кнопки прокрутки страницы. Кнопки скроллинга помогают быстро вернуться к началу страницы, перейти в конец или двигаться по блокам текста. Такую прокрутку можно сделать разными способами, их мы и рассмотрим.
Способ №1. Классическая кнопка «Вверх» с якорем-ссылкой
В редакторе шаблона в заголовке (header.php) перед закрывающимся тегом либо в подвале (footer.php) перед