Адаптивный компонент для разбивки на страницы, который можно легко настроить с помощью CSS.
Ссылки для разбивки на страницы просто позволяют пользователям просматривать ваш контент. Действительной альтернативой является бесконечная прокрутка, хотя она имеет сильные и слабые стороны, о которых следует помнить.
Я знаю, что такие фреймворки, как Bootstrap, позволяют создавать разбиение на страницы в секундах, однако:
- не все используют фреймворки или могут использовать их для каждого проекта;
- я создал фрагмент, который немного проще настраивать, с предустановкой экономящих время CSS-классов ,
Создание структуры
Структура HTML одинакова для каждого примера разбиения на страницы: элемент nav
, который обертывает неупорядоченный список .cd-pagination
. Элементы списка, содержащие предыдущую и следующую ссылки, имеют класс .button
. Необязательные готовые к использованию классы должны быть применены к элементу ul
(класс .no-space
в примере ниже).
<nav role="navigation">
<ul class="cd-pagination no-space">
<li class="button"><a href="#0">Prev</a></li>
<li><a href="#0">1</a></li>
<li><a href="#0">2</a></li>
<li><a class="current" href="#0">3</a></li>
<li><a href="#0">4</a></li>
<li><span>...</span></li>
<li><a href="#0">20</a></li>
<li class="button"><a href="#0">Next</a></li>
</ul>
</nav> <!-- cd-pagination-wrapper -->
Добавление стиля
Самый простой способ изменить тему - с помощью Sass, где вы можете использовать переменные. Вот неполный файл _variables.scss
:
// colors
$color-1: #2E4057; // Pickled Bluewood
$color-2: #64a281; // Aqua Forest
$color-3: #ffffff; // White
// fonts
$primary-font: 'PT Sans', sans-serif;
// border-radius
$border-radius: .25em;
Изменяя цветовые переменные, вы можете создавать бесконечные вариации тем. Если Sass не ваша чашка чая, просто перейдите в файл style.css и обновите цвета оттуда.
Фрагмент поставляется с набором (необязательных) классов, которые изменяют стиль разбиения на страницы. Все эти классы применяются к элементу ul
. Классом .cd-pagination
является тот, который дает базовый стиль, поэтому его не следует удалять.
Самый простой способ проверить эти классы и сделать это - проверить исходный файл и демонстрационную версию, поставляемую с ним. Ниже приведен пример файла style.css (класс .custom-icons
).
/* --------------------------------
custom icons - customize the small arrow inside the next and prev buttons
-------------------------------- */
.cd-pagination.custom-icons .button a {
position: relative;
}
.cd-pagination.custom-icons .button:first-of-type a {
padding-left: 2.4em;
}
.cd-pagination.custom-icons .button:last-of-type a {
padding-right: 2.4em;
}
.cd-pagination.custom-icons .button:first-of-type a::before,
.cd-pagination.custom-icons .button:last-of-type a::after {
content: '';
position: absolute;
display: inline-block;
/* set size for custom icons */
width: 16px;
height: 16px;
top: 50%;
/* set margin-top = icon height/2 */
margin-top: -8px;
background: transparent url("../img/cd-icon-arrow-1.svg") no-repeat center center;
}
.cd-pagination.custom-icons .button:first-of-type a::before {
left: .8em;
}
.cd-pagination.custom-icons .button:last-of-type a::after {
right: .8em;
transform: rotate(180deg);
}
Просто некоторые рекомендации:
- На маленьких устройствах мы удаляем «цифры» и показываем только предыдущую и следующую ссылки.
- Класс
.disabled
можно добавить к элементу <a>, чтобы отключить его. - Класс
.current
используется для выделения текущей страницы (номера). - Клавиши
.animated
класса работают только в сочетании с.custom-icons
. Кроме того, текст внутри элемента <a> должен быть заключен в элемент <i>.
Как удалить промежуток между элементами inline-block
Вот удобный трюк! Когда вы устанавливаете отображение элементов списка в inline-block
, потому что вы хотите выровнять их по горизонтали, вы увидите поле по умолчанию. Поле настройки: 0; Не исправит это.
Ваши варианты:
- Установка отрицательного поля для элементов списка (не является вентилятором этого решения).
- Пусть они плавают (т. е.
float: left
, применяются к каждому элементу <li>); - Просто не забудьте применить очистку
clearfix
к элементу <ul> или его родительскому элементу. - Удаление закрывающих тегов </ li> из HTML. Это может показаться грубым, но это хороший трюк, чтобы забраться в свой рукав. Вы можете увидеть его в действии в разделе № 4.
<nav role="navigation">
<ul class="cd-pagination no-space move-buttons custom-icons">
<li class="button"><a href="#0">Prev</a>
<li><a href="#0">1</a>
<li><a href="#0">2</a>
<li><a class="current" href="#0">3</a>
<li><a href="#0">4</a>
<li><span>...</span>
<li><a href="#0">20</a>
<li class="button"><a href="#0">Next</a>
</ul>
</nav> <!-- cd-pagination-wrapper -->