HTML と CSS のみでタブを作るサンプル

タブを作ろうと思いましたが検索しても CSS のみで実現しているサンプルが見つからなかったので、自作してここに置いておきます。Web 上を探してみると意外に CSS のみで作ったタブが少なそうなイメージがありました。

HTML

1
2
3
4
5
6
<ul class="tab clear">
	<li class="none"><a href="#" class="blue">タブ1</a></li>
	<li><a href="#" class="red">タブ2</a></li>
	<li><a href="#" class="green">タブ3</a></li>
	<li><a href="#" class="yellow">タブ4</a></li>
</ul>

CSS

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
45
46
47
48
49
50
51
52
53
54
ul.tab {
	margin: 0;
	padding: 0;
	border-bottom: 2px #ddd solid;
}
ul.tab li {
	float: left;
	margin: 0 0 0 5px;
	position: relative;
	bottom: -2px;
	list-style-type: none;
	border: 1px #ddd solid;
	border-top: none;
	border-bottom: 2px #ddd solid;
}
ul.tab li.none {
	border-bottom: 2px #fff solid;
	font-weight: bold;
}
ul.tab li a {
	color: #000;
	display: block;
	padding: 3px 10px 5px;
	text-decoration: none;
	background: #fff;
}
ul.tab li a.blue {
	border-top: 5px #2384dc solid;
}
ul.tab li a.green {
	border-top: 5px #4cbb47 solid;
}
ul.tab li a.red {
	border-top: 5px #dd1d25 solid;
}
ul.tab li a.yellow {	
	border-top: 5px #ffd242 solid;
}
ul.tab li a:hover {
	position: relative;
	bottom: 6px;
}
/* clerfix */
.clear:after {
    content:"";
    display:block;
    overflow:hidden;
}
.clear:after {
    clear:both;
}
.clear {
    zoom:1;
}

コメント

コメントは受け付けていません。