• Q&A
  • 회원가입
  • 로그인

[basic] BS3 - Tabs/Pills - (BS탭메뉴) - 일반탭메뉴/알약탭메뉴

Tabs & Pills 클래스 

 

.nav nav-tabs (탭 모양 네이게이션 생성)

.nav nav-pills (알약 모양 가로 네이게이션 생성)

.nav nav-pills nav-stacked (알약 모양 세로 네이게이션 생성)

.nav-justified (너비 양쪽 균등 배분 탭/알약 모양 네이게이션 생성)

.disabled (사용 불가한 탭/알약 모양 네이게이션 항목 생성)

.tab-content (Tab/Pill 내용박스)

.tab-pane (개별 Tab/Pill) - .tab-content 안에 위치

 

※ tab-content, .tab-pane , data-toggle="tab"(data-toggle="pill") 등은 Toggle Tab (Pill) 만들 때 사용.


 

Menu

 

<ul> 세로메뉴

 

<ul> 

   <li><a href="#">홈짱닷컴</a></li>

   <li><a href="#">HTML</a></li>

   <li><a href="#">CSS</a></li>

   <li><a href="#">JS</a></li>

</ul>



<ul> 가로메뉴

 

<ul class="list-inline"

   <li><a href="#">홈짱닷컴</a></li>

   <li><a href="#">HTML</a></li>

   <li><a href="#">CSS</a></li>

   <li><a href="#">JS</a></li>

</ul>


결과보기

※ <ul> 태그에 list-inline 클래스 추가. list-inline 클래스 대신, nav nav-tabs 클래스 추가시 탭메뉴 됨.

 

※ Tab과 Pill은 일부 클래스만 다를 뿐 거의 같음. 

 

Tabs

 

Tabs (일반탭)

 

<ul class="nav nav-tabs">

    <li class="active"><a href="#">홈짱닷컴</a></li>

    <li><a href="#">HTML</a></li>

    <li><a href="#">CSS</a></li>

    <li><a href="#">JS</a></li>

</ul>


결과보기

 

Tabs + Dropdown (일반탭 + 드롭다운)

 

<ul class="nav nav-tabs">

    <li class="active"><a href="#">Home</a></li>

    <li class="dropdown">

        <a class="dropdown-toggle" data-toggle="dropdown" href="#">손님

        <span class="caret"></span></a>

        <ul class="dropdown-menu">

            <li><a href="#">HTML</a></li>

            <li><a href="#">CSS</a></li>

            <li><a href="#">JS</a></li>

        </ul>

    </li>

    <li><a href="#">회원</a></li>

    <li><a href="#">패밀리</a></li>

</ul>

 

결과보기

 

Centered Tabs 전체너비배분

.nav-justified { width: 100%;}  ※ 768px 미만 수직가운데정렬, 768px 이상 전체너비배분


 

<!-- Tab -->

<ul class="nav nav-tabs nav-justified">

    <li class="active"><a href="#">홈짱닷컴</a></li>

    <li><a href="#">HTML</a></li>

    <li><a href="#">CSS</a></li>

    <li><a href="#">JS</a></li>

</ul>

 

결과보기

 

Toggleable / Dynamic Tabs 토글 일반탭 

 

<ul class="nav nav-tabs">

    <li class="active"><a data-toggle="tab" href="#hz">홈짱닷컴</a></li>

    <li><a data-toggle="tab" href="#html">HTML</a></li>

    <li><a data-toggle="tab" href="#css">CSS</a></li>

</ul>


<div class="tab-content">

    <div id="hzclass="tab-pane fade in active">

        <h3>홈짱닷컴</h3>

        <p>Homzzang.com</p>

    </div>

    <div id="html" class="tab-pane fade">

        <h3>HTML</h3>

        <p>뼈대</p>

    </div>

    <div id="css" class="tab-pane fade">

        <h3>CSS</h3>

        <p>디자인</p>

    </div>

</div>

 

결과보기

※ 핑크색 부분만 다를 뿐, Pills와 같음. 

 

Pills

 

Pills (알약탭)

 

<ul class="nav nav-pills">

    <li class="active"><a href="#">홈짱닷컴</a></li>

    <li><a href="#">HTML</a></li>

    <li><a href="#">CSS</a></li>

    <li><a href="#">JS</a></li>

</ul>

 

결과보기

 

Vertical Pills (알약탭 세로형)

 

<ul class="nav nav-pills nav-stacked">

    <li class="active"><a href="#">홈짱닷컴</a></li>

    <li><a href="#">HTML</a></li>

    <li><a href="#">CSS</a></li>

    <li><a href="#">JS</a></li>

</ul>

 

결과보기


 

<div class="row">

    <div class="col-md-3">

        <p>홈짱닷컴</p>

    </div>

    <div class="col-md-3"

       <p>Homzzang.com</p>

    <div class="col-md-3"

       <p>홈페이지 제작관리 강의</p>

    </div>

    <div class="col-md-3">

        <ul class="nav nav-pills nav-stacked">

            <li class="active"><a href="#">홈짱닷컴</a></li>

            <li><a href="#">HTML</a></li>
            <li><a href="#">CSS</a></li>
            <li><a href="#">JS</a></li>

       </ul>

    </div>

    <div class="clearfix visible-lg"></div>

</div>

 

결과보기 

 

Pills With Dropdown Menu (알약탭 + 드롭다운)

 

<ul class="nav nav-pills nav-stacked">

    <li class="active"><a href="#">홈짱닷컴</a></li>

    <li class="dropdown">

        <a class="dropdown-toggle" data-toggle="dropdown" href="#">손님

        <span class="caret"></span></a>

        <ul class="dropdown-menu">

            <li><a href="#">HTML</a></li>

            <li><a href="#">CSS</a></li>

            <li><a href="#">JS</a></li>

        </ul>

    </li>

    <li><a href="#">회원</a></li>

    <li><a href="#">패밀리</a></li>

</ul>

 


Centered Pills 전체너비배분

.nav-justified { width: 100%;}  ※ 768px 미만 수직가운데정렬, 768px 이상 전체너비배분


 

<ul class="nav nav-pills nav-justified">

    <li class="active"><a href="#">홈짱닷컴</a></li>

    <li><a href="#">HTML</a></li>

    <li><a href="#">CSS</a></li>

    <li><a href="#">JS</a></li>

</ul>

 

결과보기

 

Toggleable / Dynamic Pills 토글 알약탭  

 

<ul class="nav nav-pills">

    <li class="active"><a data-toggle="pill" href="#hz">홈짱닷컴</a></li>

    <li><a data-toggle="pill" href="#html">HTML</a></li>

    <li><a data-toggle="pill" href="#css">CSS</a></li>

</ul>


<div class="tab-content">

    <div id="hzclass="tab-pane fade in active">

        <h3>홈짱닷컴</h3>

        <p>Homzzang.com</p>

    </div>

    <div id="html" class="tab-pane fade">

        <h3>HTML</h3>

        <p>뼈대</p>

    </div>

    <div id="css" class="tab-pane fade">

        <h3>CSS</h3>

        <p>디자인</p>

    </div>

</div>

 

결과보기

※ 핑크색 부분만 다를 뿐, Tabs과 같음.

 

 

JS Tab 

아래는 좀 더 깊이있게 공부하고 싶은 분만 열람 !!

 

Tab 플러그인

 

Tab 사용 위해선 아래 플러그인 파일 중 하나 필요.

개별: tab.js

통합: bootstrap.js (또는, bootstrap.min.js)

 

 

Tab 클래스

 

.nav nav-tabs (탭 모양 네이게이션 생성)

.nav-justified (너비 양쪽 균등 배분 탭/알약 모양 네이게이션 생성)

.tab-content (Tab/Pill 내용박스)

.tab-pane (개별 Tab/Pill) - .tab-content 안에 위치

 

 

tab 예제 - data-* 속성 이용

 

<div class="container">

  <h2>홈짱닷컴</h2>

  <ul class="nav nav-tabs">

    <li class="active"><a data-toggle="tab" href="#home">Home</a></li>

    <li><a data-toggle="tab" href="#menu1">HTML</a></li>

    <li><a data-toggle="tab" href="#menu2">CSS</a></li>

    <li><a data-toggle="tab" href="#menu3">JS</a></li>

  </ul>


  <div class="tab-content">

    <div id="home" class="tab-pane fade in active">

      <h3>HOME</h3>

      <p>대문</p>

    </div>

    <div id="menu1" class="tab-pane fade">

      <h3>HTML</h3>

      <p>뼈대</p>

    </div>

    <div id="menu2" class="tab-pane fade">

      <h3>CSS</h3>

      <p>디자인</p>

    </div>

    <div id="menu3" class="tab-pane fade">

      <h3>JS</h3>

      <p>동작기능</p>

    </div>

  </div>

</div>

 

예제보기

 

Tab 예제 - js 이용

 

<div class="container">

  <h2>홈짱닷컴</h2>

  <ul class="nav nav-tabs">

    <li class="active"><a href="#home">Home</a></li>

    <li><a href="#menu1">HTML</a></li>

    <li><a href="#menu2">CSS</a></li>

    <li><a href="#menu3">JS</a></li>

  </ul>


  <div class="tab-content">

    <div id="home" class="tab-pane fade in active">

      <h3>HOME</h3>

      <p>대문</p>

    </div>

    <div id="menu1" class="tab-pane fade">

      <h3>HTML</h3>

      <p>뼈대</p>

    </div>

    <div id="menu2" class="tab-pane fade">

      <h3>CSS</h3>

      <p>디자인</p>

    </div>

    <div id="menu3" class="tab-pane fade">

      <h3>JS</h3>

      <p>동작기능</p>

    </div>

  </div>

</div>


<script>

$(document).ready(function(){

  $(".nav-tabs a").click(function(){

    $(this).tab('show');

  });

});

</script>

 

예제보기


Tab Option (옵션)

 

none

 

 

Tab Method (메서드)

 

.tab("show")

탭 보이기.

 

 

Tab Event (이벤트)

 

show.bs.tab

탭이 표시 될 때 발생.

 

shown.bs.tab

탭이 완전히 표시되면 (CSS 전환 완료 후) 발생.

 

hide.bs.tab

탭을 숨기려고 할 때 발생.

 

hidden.bs.tab

탭이 완전히 숨겨지면 (CSS 전환 완료 후) 발생.

 

 

Tab 예제 - 이벤트

 

<div class="container">

  <h2>홈짱닷컴</h2>

  <ul class="nav nav-tabs">

    <li class="active"><a href="#home">Home</a></li>

    <li><a href="#menu1">HTML</a></li>

    <li><a href="#menu2">CSS</a></li>

    <li><a href="#menu3">JS</a></li>

  </ul>


  <div class="tab-content">

    <div id="home" class="tab-pane fade in active">

      <h3>HOME</h3>

      <p>대문</p>

    </div>

    <div id="menu1" class="tab-pane fade">

      <h3>HTML</h3>

      <p>뼈대</p>

    </div>

    <div id="menu2" class="tab-pane fade">

      <h3>CSS</h3>

      <p>디자인</p>

    </div>

    <div id="menu3" class="tab-pane fade">

      <h3>JS</h3>

      <p>동작기능</p>

    </div>

  </div>

  <hr>

  <p class="act"><b>현재 Tab</b>: <span></span></p>

  <p class="prev"><b>이전 Tab</b>: <span></span></p>

</div> 

 

<script>

$(document).ready(function(){

  $(".nav-tabs a").click(function(){

    $(this).tab('show');

  });

  $('.nav-tabs a').on('shown.bs.tab', function(event){

    var x = $(event.target).text();         // 현재 tab

    var y = $(event.relatedTarget).text();  // 이전 tab

    $(".act span").text(x);

    $(".prev span").text(y);

  });

});

</script>

 

결과보기 


오늘도 즐겁게 열심히 .....

찾아주셔서 감사합니다. Since 2012