Главная Публикации.txt Туториал: как правильно стилизовать листинги (pagination) при помощи CSS

Туториал: как правильно стилизовать листинги (pagination) при помощи CSS

В этой статье объясняется как создать ссылки страниц для результатов поиска, инфо систем и т.д..Этот вопрос мне задают очень часто, поэтому я решил написать простой пример того, как создать идеальный листинг, использую совсем немного HTML и CSS кода.



К статье так же прилагается HTML/CSS с примерами оистингов страниц сайтов Flickr, Digg, чистый код, готовый к использованию в ваших проектах..

Simone Saveri решил некоторые проблемы с IE6 и IE7.

Скачать пример (Simone Saveri version)



Типичная структура разбивки на страницы
На картинке ниже приведен пример типичного представления списка страниц:



Следует выделить четыре основных элемента:

  • Кнопки Предыдущая/Следующая(блокированные)
  • Текущая страница
  • Остальные страницы
  • Кнопки Предыдущая/Следующая (активные)

Создать такую структуру можно с помощью списков HTML (<ul>) которые содержат несколько элементов <li> (один для каждого элемента разбивки страниц) и использовать ID для тегов <ul>, чтобы связать список с необходимым для него стилем. Рассмотрим для примера следующие коды.


Flickr список: HTML код
давайте представим что нам надо создать список страниц как на сайте Flickr, который выглядит вот так:



HTML код очень прост, и вы можете использовать такую структуру для списка <ul> присвоив ему соответствующий ID (в этом примере я поставил "pagination-flickr"):


<ul id="pagination-flickr">
<li class="previous-off">«Previous</li>
<li class="active">1</li>
<li><a href="?page=2">2</a></li>
<li><a href="?page=3">3</a></li>
<li><a href="?page=4">4</a></li>
<li><a href="?page=5">5</a></li>
<li><a href="?page=6">6</a></li>
<li><a href="?page=7">7</a></li>
<li class="next"><a href="?page=2">Next »</a></li>
</ul>


Теперь осталось только дописать CSS свойства для элементов (ul, li, a).


Flickr список: CSS код

ul{border:0; margin:0; padding:0;}

#pagination-flickr li{
border:0; margin:0; padding:0;
font-size:11px;
list-style:none;
}
#pagination-flickr a{
border:solid 1px #DDDDDD;
margin-right:2px; }
#pagination-flickr .previous-off,
#pagination-flickr .next-off {
color:#666666;
display:block;
float:left;
font-weight:bold;
padding:3px 4px; }
#pagination-flickr .next a,
#pagination-flickr .previous a {
font-weight:bold;
border:solid 1px #FFFFFF; }
#pagination-flickr .active{
color:#ff0084;
font-weight:bold;
display:block;
float:left;
padding:4px 6px; }
#pagination-flickr a:link,
#pagination-flickr a:visited {
color:#0063e3;
display:block;
float:left;
padding:3px 6px;
text-decoration:none; }
#pagination-flickr a:hover{
border:solid 1px #666666; }




Digg- подобный список: HTML код
Теперь попробуем сделать список в стиле Digg:



Берем HTML код из предыдущего примера, меняем у тега <ul> идентификатор ("pagination-digg" вместо "pagination-flickr"):


<ul id="pagination-digg">
<li class="previous-off">«Previous</li>
<li class="active">1</li>
<li><a href="?page=2">2</a></li>
<li><a href="?page=3">3</a></li>
<li><a href="?page=4">4</a></li>
<li><a href="?page=5">5</a></li>
<li><a href="?page=6">6</a></li>
<li><a href="?page=7">7</a></li>
<li class="next"><a href="?page=2">Next »</a></li>
</ul>



Digg- подобный список: CSS код
CSS очень похож на код из предыдущего примера, необходиму только изменить некоторые атрибуты, и изменить #pagination-flikr идентификатор на #pagination-digg, но оставить CSS :

ul{border:0; margin:0; padding:0;}

#pagination-digg li{
border:0; margin:0; padding:0;
font-size:11px;
list-style:none;
margin-right:2px;
}
#pagination-digg a{
border:solid 1px #9aafe5
margin-right:2px; }
#pagination-digg .previous-off,
#pagination-digg .next-off {
border:solid 1px #DEDEDE
color:#888888
display:block;
float:left;
font-weight:bold;
margin-right:2px;
padding:3px 4px; }
#pagination-digg .next a,
#pagination-digg .previous a {
font-weight:bold;
}
#pagination-digg .active{
background:#2e6ab1;
color:#FFFFFF;
font-weight:bold;
display:block;
float:left;
padding:4px 6px; }
#pagination-digg a:link,
#pagination-digg a:visited {
color:#0e509e
display:block;
float:left;
padding:3px 6px;
text-decoration:none; }
#pagination-digg a:hover{
border:solid 1px #0e509e }




Минималитичный стиль: HTML код
Если вы сторонник минимализма, то обратите внимание на этот пример:



HTML такой же как и в двух предыдущих примерах, только опять меняем идентификатор на "pagination-clean":

<ul id="pagination-clean">
<li class="previous-off">«Previous</li>
<li class="active">1</li>
<li><a href="?page=2">2</a></li>
<li><a href="?page=3">3</a></li>
<li><a href="?page=4">4</a></li>
<li><a href="?page=5">5</a></li>
<li><a href="?page=6">6</a></li>
<li><a href="?page=7">7</a></li>
<li class="next"><a href="?page=2">Next »</a></li>
</ul>


Минималитичный стиль: CSS код
CSS для этого стиля:

ul{border:0; margin:0; padding:0;}

#pagination-clean li{
border:0; margin:0; padding:0;
font-size:11px;
list-style:none;
}
#pagination-clean li, #pagination-clean a{
border:solid 1px #DEDEDE
margin-right:2px; }
#pagination-clean .previous-off,
#pagination-clean .next-off {
color:#888888
display:block;
float:left;
font-weight:bold;
padding:3px 4px; }
#pagination-clean .next a,
#pagination-clean .previous a {
font-weight:bold;
border:solid 1px #FFFFFF; }
#pagination-clean .active{
color:#00000
font-weight:bold;
display:block;
float:left;
padding:4px 6px; }
#pagination-clean a:link,
#pagination-clean a:visited {
color:#0033CC
display:block;
float:left;
padding:3px 6px;
text-decoration:none; }
#pagination-clean a:hover{
text-decoration:none; }

tagscss 

14.05.2008, 1117 просмотров.