CSS와 ul/li 태그로 탭 메뉴를 작성하는 방법이다.
기본 설정XHTML 1.0을 준수하여 ul, li 태그로 아래처럼 작성한다.
<ul>
<li><span>소프트웨어</span></li>
<li><span>하드웨어</span></li>
<li><span>네트워크</span></li>
</ul>
웹 브라우저에 아래처럼 표시된다.
탭 메뉴 1
CSS를 이용해서 ul, li 태그의 margin과 padding 값을 조정한다. 그리고 ul 태그의 list-style 속성 값을 none으로 한다.
ul {
list-style: none;
margin: 2em 1em;
padding: 0;
}
li {
margin: 0;
padding: 1em 0.5em;
}
웹 브라우저에 아래처럼 표시된다.
li 태그의 display 속성 값을 inline으로 한다.
li {
display: inline;
margin: 0;
padding: 1em 0.5em;
}
웹 브라우저에 아래처럼 표시된다.
li 태그에 border 속성을 준다.
li {
border-bottom: 1px solid rgb(192, 192, 192);
display: inline;
margin: 0;
padding: 1em 0.5em;
}
MS IE 6.0의 버그로 인해서 ul 태그 아래에 다른 태그가 없으면 선이 나타나지 않는다. 따라서 HTML을 아래처럼 수정한다.
<ul>
<li><span>소프트웨어</span></li>
<li><span>하드웨어</span></li>
<li><span>네트워크</span></li>
</ul>
<div/>
모질라 파이어 폭스와 오페라에서는 아래 처럼 li 태그 사이에 간격이 생긴다.
이를 방지하기 위해서 아래처럼 li 태그 사이의 여백을 제거한다.
<ul>
<li><span>소프트웨어</span></li
><li><span>하드웨어</span></li
><li><span>네트워크</span></li>
</ul>
선택한 탭 메뉴는 클래스 속성으로 표현한다.
<ul>
<li><span>소프트웨어</span></li
><li class="selected"><span>하드웨어</span></li
><li><span>네트워크</span></li>
</ul>
아래와 같은 CSS 스타일을 추가한다.
li.selected {
border: 1px solid rgb(192, 192, 192);
border-bottom: none;
}
최종 결과는 아래와 같다.
탭 메뉴 2배경 이미지를 이용해서 탭 메뉴를 수정한다.
앞의 예제에서 li 태그의 border 속성을 삭제하고 background 속성을 추가한다.
li {
background: url("/resource/image/tab_off.gif") no-repeat;
display: inline;
margin: 0;
padding: 1em 0.5em;
}
li.selected {
background: url("/resource/image/tab_on.gif") no-repeat;
}
이미지를 이용했기 때문에 width 속성으로 넓이를 지정한다. 그리고 inline 요소는 넓이를 지정할 수 없기 때문에 display 속성을 삭제하고 float 속성의 값을 left로 지정한다. 그리고 좌우 padding 속성 값을 0으로 하고 텍스트를 가운데로 정렬한다.
li {
background: url("/resource/image/tab_off.gif") no-repeat;
float: left;
margin: 0;
padding: 1em 0;
text-align: center;
width: 78px;
}