10 способов создать эффекты прокручиваемого текста на веб-сайтах с примерами кода

Эффекты прокручиваемого текста могут улучшить визуальную привлекательность и удобство использования веб-сайта. Реализуя эти эффекты, вы можете сделать свой веб-сайт более интерактивным и привлекательным. В этой статье мы рассмотрим десять различных методов создания эффектов прокручиваемого текста с помощью CSS и JavaScript. Каждый метод будет сопровождаться примером кода, который поможет вам реализовать эти эффекты в ваших веб-проектах.

  1. Свойство CSS Overflow:
    Свойство CSS overflowпозволяет создавать прокручиваемый текст, установив для него значение autoили 15. Вот пример:
.scrollable-text {
  overflow: auto;
  height: 200px;
}
  1. Пользовательские полосы прокрутки.
    Вы можете настроить внешний вид полос прокрутки с помощью CSS. Этот метод позволяет создавать уникальные текстовые эффекты с возможностью прокрутки. Вот пример:
.scrollable-text::-webkit-scrollbar {
  width: 8px;
}
.scrollable-text::-webkit-scrollbar-thumb {
  background-color: #888;
}
.scrollable-text::-webkit-scrollbar-thumb:hover {
  background-color: #555;
}
  1. Событие прокрутки JavaScript.
    С помощью JavaScript вы можете прослушивать события прокрутки и запускать определенные действия. Например, вы можете изменить цвет текста или добавить анимацию при прокрутке пользователем. Вот пример использования jQuery:
$(window).scroll(function() {
  if ($(this).scrollTop() > 200) {
    $('.scrollable-text').addClass('scrolled');
  } else {
    $('.scrollable-text').removeClass('scrolled');
  }
});
  1. Эффект параллакса.
    Эффект параллакса создает иллюзию глубины за счет перемещения разных слоев с разной скоростью. Вы также можете применить этот эффект к прокручиваемому тексту. Вот пример использования CSS и JavaScript:
.scrollable-text {
  background-image: url('background.jpg');
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
$(window).scroll(function() {
  var scrollTop = $(this).scrollTop();
  $('.scrollable-text').css('background-position-y', -(scrollTop / 3) + 'px');
});
  1. Плавная прокрутка.
    Плавная прокрутка обеспечивает плавную прокрутку за счет анимации поведения прокрутки. Добиться этого эффекта можно с помощью CSS и JavaScript. Вот пример:
html {
  scroll-behavior: smooth;
}
$('a[href*="#"]').on('click', function(e) {
  e.preventDefault();
  $('html, body').animate(
    {
      scrollTop: $($(this).attr('href')).offset().top,
    },
    500,
    'linear'
  );
});
  1. Привязка к прокрутке.
    Привязка при прокрутке позволяет создавать эффект привязки при прокрутке содержимого. Этот эффект полезен для создания каруселей изображений или скользящих панелей. Вот пример:
.scrollable-text {
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
}
.scrollable-text > div {
  scroll-snap-align: start;
}
  1. Анимированный индикатор прокрутки.
    Вы можете создать анимированный индикатор прокрутки, чтобы показывать пользователям их прогресс в прокручиваемом текстовом разделе. Вот пример использования CSS и JavaScript:
.scroll-indicator {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #007bff;
  animation: scroll-progress 2s linear infinite;
}
@keyframes scroll-progress {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
$(window).scroll(function() {
  var scrollPosition = $(window).scrollTop();
  var documentHeight = $(document).height();
  var windowHeight = $(window).height();
  var scrollPercentage = (scrollPosition / (documentHeight - windowHeight)) * 100;
  $('.scroll-indicator').css('width', scrollPercentage + '%');
});
  1. Эффект затухания текста.
    Регулируя непрозрачность текста при прокрутке пользователем, вы можете создать эффект плавного затухания. Вот пример использования CSS:
.scrollable-text {
  opacity: 1;
  transition: opacity 0.5s;
}
.scrollable-text.fade-out {
  opacity: 0;
}
  1. Анимация отображения при прокрутке:
    Вы можете добавить анимацию прокрутки, чтобы текст появлялся постепенно по мере прокрутки пользователем. Вот пример использования библиотеки ScrollReveal.js:
ScrollReveal().reveal('.scrollable-text', {
  delay: 300,
  distance: '50px',
  duration: 1000,
  easing: 'ease-in-outquart',
});
  1. Прокручиваемая текстовая карусель.
    Создайте горизонтальную прокручиваемую текстовую карусель с помощью CSS и JavaScript. Вот пример:
<div class="scrollable-text-carousel">
  <div class="scrollable-text-slide">Slide 1</div>
  <div class="scrollable-text-slide">Slide 2</div>
  <div class="scrollable-text-slide">Slide 3</div>
  ...
</div>
.scrollable-text-carousel {
  white-space: nowrap;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}
.scrollable-text-slide {
  display: inline-block;
  scroll-snap-align: start;
}

Прокручиваемые текстовые эффекты делают сайт привлекательным и интерактивным. Реализуя эти методы с помощью CSS и JavaScript, вы можете улучшить визуальную привлекательность и удобство использования вашего веб-сайта. Поэкспериментируйте с различными эффектами и найдите те, которые лучше всего подходят к дизайну и содержанию вашего сайта.