[CSS] 탭 만들기
탭에 들어갈 요소들을 일단 ul li 엘리먼트를 사용하여 내용을 정의한다.
<ul id="nav">
<li id="t-email"><a href="">E-MAIL</a></li>
<li id="t-reportl"><a href="">KOMA-REPORT</a></li>
<li id="t-em"><a href="">KOMA-EM</a></li>
</ul>
이 상태에서는 세로로 쭉 나열하며 목록에 점 하나씩을 달고 있는 형태가 된다.
이제 ul에 width를 넓히고, li들을 왼쪽에 차곡 차곡 떠있게 설정한다.
#nav {
float: left;
width: 100%;
margin: 10px 10px 0 0;
padding: 10px 0 0 0;
list-style: none;
background: url(/images/new/bt_line.png) repeat-x bottom left;
}
#nav li {
float: left;
margin: 0;
padding: 0;
font-size: 80%;
}
이때 float을 사용하고 있는 li를 감싸는 nav에도 꼭 float을 설정해야 페이지가 깨지지 않는다.
다음은 a를 탭 모양으로 다듬어 준다. 패딩 주고, 패딩, 마진을 주고, 탭 전체를 클릭할 수 있게 설정한다.
#nav a {
float: left;
display: block;
margin: 0 1px 0 0;
padding: 4px 8px;
color: #333;
text-decoration: none;
}
마우스를 올렸을 때 다른 모습으로 효과를 준다.
#nav a:hover {
color: #333;
background: #edf4fc;
border: #9fc5f6 solid 1px;
border-bottom: none;
}
클릭한 탭의 모양이 변경되도록 설정한다. 이 부분이 조금 재미있는데, 클릭을 하면 자바스크립트로 body의 id 값을 변경하고, 해당 id의 body 밑에 있는 특정 탭의 id에 있는 a를 css로 꾸며 주면 된다.
body#em #t-em a{
color: #333;
background: #edf4fc;
border: #6593cf solid 1px;
border-bottom: none;;
}
이런 형태다. body#em #t-em a 이것을 #em #t-em a 이렇게 써도 상관없으며, 모든 탭에 적용해야 하기 때문에.
#email #t-email a,
#report #t-report a,
#em #t-em a {
color: #333;
background: #edf4fc;
border: #6593cf solid 1px;
border-bottom: none;;
}
이렇게 설정할 수 있다.