Перейти к основному содержимому

Пагинация CSS

В этом уроке мы создаём адаптивную пагинацию с помощью CSS.

Сайту с большим количеством страниц может быть полезна пагинация на каждой из них.

Обычная разметка — это маркированный список (<ul>) с серией ссылок: по одной ссылке на каждый номер страницы, а также элементы управления «назад» и «вперёд».

Пример

Простой вариант:

Prompt
Создайте простую пагинацию, используя маркированный список с CSS flexbox. Включите элементы управления «назад» (««») и «вперёд» («»») и номера страниц 1-5. Оформите с центрированным макетом, без маркеров списка, ссылками с рамкой и скруглёнными углами, и отступами.
Результат: полная HTML-страница

Объяснение примера

За расположение отвечают три объявления в контейнере пагинации:

  • display: flex; размещает номера страниц в горизонтальный ряд
  • justify-content: center; центрирует этот ряд
  • list-style: none; убирает маркеры списка

Внешний вид номеров страниц задаёт элемент <a> внутри каждого <li>, оформленный с помощью таких свойств, как display, padding, text-decoration, border, color и border-radius.


Пагинация с классом Active

Класс .active отмечает текущую страницу, чтобы пользователи понимали, где находятся.

Пример

Тот же список, теперь с классом .active:

Prompt
Создайте пагинацию с элементами управления «назад/вперёд» и номерами страниц 1-5. Добавьте класс .active к одной ссылке страницы с зелёным (#4CAF50) фоном и белым текстом, чтобы выделить текущую страницу. Включите базовые стили пагинации (flex, по центру, без маркеров списка, ссылки с рамкой и скруглёнными углами).
Результат: полная HTML-страница

Пагинация с классом Disabled

На последней странице кнопка «Вперёд» не должна работать.

С этим справляется класс .disabled: его настройки color, cursor и pointer-events делают кнопку «Вперёд» некликабельной.

Пример

Снова список, теперь с классом .disabled:

Prompt
Создайте пагинацию с элементами управления «назад/вперёд» и номерами страниц 1-5. Добавьте класс .disabled к ссылке «вперёд» с серым цветом (#dddddd), cursor not-allowed и pointer-events none, чтобы сделать её некликабельной. Включите базовые стили пагинации и класс .active на одной ссылке страницы.
Результат: полная HTML-страница