CSS табы

32

Обнаружил в интернете очень простой способ создания табов без использования JS.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<ul class="tabs">
    <li><a href="#one">1</a></li>
    <li><a href="#two">2</a></li>
    <li><a href="#three">3</a></li>
    <li><a href="#four">4</a></li>
    <li><a href="#five">5</a></li>
</ul>
<div class="tabs-content">
    <ul>
        <li id="one">1</li>
        <li id="two">2</li>
        <li id="three">3</li>
        <li id="four">4</li>
        <li id="five">5</li>
    </ul>
</div>

Разметка простая. Список .tabs используется для навигации. Далее идет контейнер .tabs-content со списком, в котором каждый элемент li это отдельный слайд.

1
2
3
4
5
6
7
8
9
.tabs-content {
    width:960px;
    height:300px;
    overflow:hidden;
}
.tabs-content li {
    width:960px;
    height:300px;
}

Ссылки в навигации указывают на соответствующие id слайдов. Слайдам установлена ширина и высота равные внешнему контейнеру.

Работает в Firefox, Opera (для старых версий нужно немного дополнить CSS), Safari, IE6+.

Делаем кнопки методом «Sliding Doors»

27

Рассмотрим пример создания резиновых кнопок используя известный метод «Sliding Doors».

Резиновые закладки с помощью одного изображения и CSS

Как видно на рисунке кнопки в меню имеют три состояния:

  • Обычное
  • Активное
  • При наведении мыши

Ширина кнопок зависит от содержимого. Внутри ссылок находится span.

Резиновые закладки с помощью одного изображения и CSS

Для создания эффекта при наведении и выделения активной ссылки используется одно фоновое изображение:

Фоновое изображение для резиновой закладки

1
2
3
4
5
6
7
<ul class="tab">
    <li class="active"><a href="home.html"><span>Главная</span></a></li>
    <li><a href="community.html"><span>Сообщество</span></a></li>
    <li><a href="blog.html"><span>Блог</span></a></li>
    <li><a href="messages.html"><span>Сообщения</span></a></li>
    <li><a href="contact.html"><span>Контакты</span></a></li>
</ul>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
ul, li{
    border:0;
    margin:0;
    padding:0;
    list-style:none
}
ul{
    border-bottom:solid 1px #DEDEDE;
    height:29px;
    padding-left:20px;
}
li{
    float:left;
    margin-right:2px;
}
.tab a:link, .tab a:visited{
    float:left;
    height:30px;
    background:url(tab-round.png) no-repeat right -30px;
    color:#666;
    font-weight:bold;
    text-decoration:none;
    padding:0 14px 0 0;
}
.tab a span{
    float:left;
    height:30px;
    background:url(tab-round.png) no-repeat left -30px;
    padding:0 0 0 14px;
    line-height:30px;
    cursor:pointer
}
.tab a:hover{
    background-position:right -60px;
}
.tab a:hover span{
    background-position:left -60px;
}
.active a:link, .active a:visited, .active a:visited, .active a:hover{
    background-position:right 0;
}
.active a span, .active a:hover span{
    background-postition:left 0;
}

Оригинал: Clean Tab Bar Digg-like using CSS