찾다
웹 프론트엔드부트스트랩 튜토리얼부트스트랩의 탭 탭에 대해 알아봅시다

이 기사에서는 Bootstrap의 탭 탭을 안내합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

부트스트랩의 탭 탭에 대해 알아봅시다

탭은 웹에서 매우 일반적으로 사용되는 기능입니다. 사용자가 메뉴 항목을 클릭하면 해당 콘텐츠가 전환될 수 있습니다. 이 글에서는 부트스트랩 탭에 대해 자세히 소개하겠습니다. [관련 추천: "부트스트랩 튜토리얼"]

기본 사용법

 부트스트랩 프레임워크의 탭은 크게 두 부분으로 구성됩니다:

 1. 탭 메뉴 구성 요소, 해당 It 는 Bootstrap의 nav-tabs

 2입니다. 전환 가능한 탭 패널 구성 요소는 일반적으로 Bootstrap에서 탭 창으로 표시됩니다

Bootstrap 프레임워크에서 탭 nav-tabs에는 이미 스타일이 있으며 패널 콘텐츠의 경우 tab-pane은 모두 숨겨져 있습니다. 현재 패널 내용만 표시됩니다

.tab-content > .tab-pane {
    display: none;
}
.tab-content > .active {
    display: block;
}

 탭은 전환 효과를 트리거하는 데이터 속성을 정의합니다. 물론 전제 조건은 bootstrap.js 또는 tab.js를 먼저 로드하는 것입니다. 선언적 트리거 탭은 다음 요구 사항을 충족해야 합니다.

 1. 탭 탐색 링크에서 data-toggle="tab"

 를 설정합니다. 2. 그리고 data-target=" 해당 콘텐츠 패널의 선택자(일반적으로 ID)"를 설정합니다. 링크인 경우 href="콘텐츠 패널(일반적으로 ID)에 해당하는 선택기"를 사용할 수도 있습니다. 주요 기능은 사용자가 클릭하면 선택기에 해당하는 패널 콘텐츠 탭 창을 찾을 수 있다는 것입니다.

 3. 패널 콘텐츠는 탭 콘텐츠 컨테이너에 균일하게 배치되며, 각 콘텐츠 패널 탭 창은 탭의 ​​data-target 또는 href 값과 일치하도록 독립적인 선택기(가급적 ID)를 설정해야 합니다.

부트스트랩의 탭 탭에 대해 알아봅시다

【페이드 인 효과】

패널을 숨기고 표시하는 전환 과정을 보다 원활하게 하기 위해 패널에 클래스 이름 fade를 추가하여 페이드 인 효과를 생성할 수 있습니다.

 페이드 스타일을 추가할 때 초기 기본 표시 콘텐츠 패널은 클래스 이름으로 추가되어야 합니다. 그렇지 않으면 사용자가 해당 콘텐츠를 볼 수 없습니다

<!-- 选项卡菜单-->
<ul id="myTab" class="nav nav-tabs" role="tablist">
    <li class="active"><a href="#bulletin" role="tab" data-toggle="tab">公告</a></li>
    <li><a href="#rule" role="tab" data-toggle="tab">规则</a></li>
    <li><a href="#forum" role="tab" data-toggle="tab">论坛</a></li>
    <li><a href="#security" role="tab"  data-toggle="tab">安全</a></li>
    <li><a href="#welfare" role="tab" data-toggle="tab">公益</a></li>
</ul>
<!-- 选项卡面板 -->
<div id="myTabContent" class="tab-content">
    <div class="tab-pane active" id="bulletin">公告内容面板</div>
    <div class="tab-pane " id="rule">规则内容面板</div>
    <div class="tab-pane " id="forum">论坛内容面板</div>
    <div class="tab-pane " id="security">安全内容面板</div>
    <div class="tab-pane " id="welfare">公益内容面板</div>
</div>

부트스트랩의 탭 탭에 대해 알아봅시다

【캡슐 탭】

부트스트랩에서 , 탐색 탭에 탭 전환 기능을 추가하는 것 외에도 캡슐 탐색 알약 탐색에 탭 기능도 포함하도록 만들 수도 있습니다. nav-tabs를 nav-pills로 바꾸세요. 또 다른 핵심 사항은 data-toggle="tab"data-toggle= "pill로 바꾸는 것입니다. "

<!-- 选项卡菜单-->
<ul id="myTab" class="nav nav-tabs" role="tablist">
    <li class="active"><a href="#bulletin" role="tab" data-toggle="tab">公告</a></li>
    <li><a href="#rule" role="tab" data-toggle="tab">规则</a></li>
    <li><a href="#forum" role="tab" data-toggle="tab">论坛</a></li>
    <li><a href="#security" role="tab"  data-toggle="tab">安全</a></li>
    <li><a href="#welfare" role="tab" data-toggle="tab">公益</a></li>
</ul>
<!-- 选项卡面板 -->
<div id="myTabContent" class="tab-content">
    <div class="tab-pane fade in active" id="bulletin">公告内容面板</div>
    <div class="tab-pane fade" id="rule">规则内容面板</div>
    <div class="tab-pane fade" id="forum">论坛内容面板</div>
    <div class="tab-pane fade" id="security">安全内容面板</div>
    <div class="tab-pane fade" id="welfare">公益内容面板</div>
</div>
data-toggle="tab"换成data-toggle="pill"

<!-- 选项卡菜单-->
<ul id="myTab" class="nav nav-pills" role="tablist">
    <li class="active"><a href="#bulletin" role="tab" data-toggle="pill">公告</a></li>
    <li><a href="#rule" role="tab" data-toggle="pill">规则</a></li>
    <li><a href="#forum" role="tab" data-toggle="pill">论坛</a></li>
    <li><a href="#security" role="tab" data-toggle="pill">安全</a></li>
    <li><a href="#welfare" role="tab" data-toggle="pill">公益</a></li>
</ul>
<!-- 选项卡面板 -->
<div id="myTabContent" class="tab-content">
    <div class="tab-pane fade in active" id="bulletin">公告内容面板</div>
    <div class="tab-pane fade" id="rule">规则内容面板</div>
    <div class="tab-pane fade" id="forum">论坛内容面板</div>
    <div class="tab-pane fade" id="security">安全内容面板</div>
    <div class="tab-pane fade" id="welfare">公益内容面板</div>
</div>

부트스트랩의 탭 탭에 대해 알아봅시다

JS触发

  除了在HTML设置 data-toggle 来触发选项卡之外,还可以通过JavaScript直接调用。

  在每个链接的单击事件中调用tab("show")3 .gif

부트스트랩의 탭 탭에 대해 알아봅시다JS 트리거

HTML에서 데이터 토글을 설정하여 탭을 트리거하는 것 외에도 JavaScript를 통해 직접 호출할 수도 있습니다.

  각 링크의 클릭 이벤트에서 tab("show") 메소드를 호출하면 해당 탭 패널 내용이 표시됩니다. 위의 예에서는 HTML에서 사용자 정의 data-toggle="tab" 또는 data-toggle="pill" 속성을 삭제한 후 다음 스크립트를 통해

$(function(){
    $("#myTab a").click(function(e){
        e.preventDefault();
        $(this).tab("show");
    });
})

<!-- 选项卡菜单-->
    
公告内容面板
    
规则内容面板
    
论坛内容面板
    
安全内容面板
    
公益内容面板
<script> $(function(){ $(&quot;#myTab a&quot;).click(function(e){ e.preventDefault(); $(this).tab(&quot;show&quot;); }); }) </script>부트스트랩의 탭 탭에 대해 알아봅시다

[이벤트 구독]

show.bs.tab        show方法调用之后立即触发该事件
shown.bs.tab      此事件在tab已经显示出来(并且同时在 CSS 过渡效果完成)之后被触发
hide.bs.tab        hide方法调用之后立即触发该事件。
hidden.bs.tab     此事件在tab被隐藏(并且同时在 CSS 过渡效果完成)之后被触发

<!-- 选项卡菜单-->
    
公告内容面板
    
规则内容面板
    
论坛内容面板
    
安全内容面板
    
公益内容面板
<script> $(function(){ $("#myTab a").click(function(e){ e.preventDefault(); $(this).tab(&quot;show&quot;); }); $("#myTab").on("show.bs.tab",function(e){ $(e.target).css(&#39;outline&#39;,&#39;1px solid black&#39;); }).on("hide.bs.tab",function(e){ $(e.target).css(&#39;outline&#39;,&#39;none&#39;); }) }) </script>을 호출하세요.

JS 소스 코드

【1】IIFE

즉시 호출 기능을 사용하여 플러그인 내 코드가 유출되어 폐루프가 형성되는 것을 방지하고, jQuery의 fn

+function ($) {
    //使用es5严格模式
    'use strict';
    //
}(window.jQuery);

에서만 확장이 가능합니다. 】초기 설정

var Tab = function (element) {
    //指定当前元素
    this.element = $(element)
  }
  //版本号为3.3.7
  Tab.VERSION = '3.3.7'
  //动画时间为150ms
  Tab.TRANSITION_DURATION = 150

【3】플러그인 코어 코드

//show()方法用于触发show事件,调用activate原型方法,触发shown事件
  Tab.prototype.show = function () {
    //当前tab
    var $this    = this.element
    //找到最近的ul
    var $ul      = $this.closest('ul:not(.dropdown-menu)')
    //找到data-target值
    var selector = $this.data('target')
    //如果data-target值不存在,查找href值
    if (!selector) {
      selector = $this.attr('href')
      //IE7特殊处理
      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') 
    }
    //如果当前tab已经是活动状态了,即父元素li上已经有active样式的话,直接返回
    if ($this.parent('li').hasClass('active')) return
    //找到上一个元素,即上一个带有active样式的li里的a元素
    var $previous = $ul.find('.active:last a')
    //设置hide事件
    var hideEvent = $.Event('hide.bs.tab', {
      relatedTarget: $this[0]
    })
    //设置show事件
    var showEvent = $.Event('show.bs.tab', {
      relatedTarget: $previous[0]
    })
    //触发hide事件及show事件
    $previous.trigger(hideEvent)
    $this.trigger(showEvent)
    //如果自定义回调中阻止了默认行为,则不再继续处理
    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
    //要激活显示的面板,即target或href里的值所对应的元素
    var $target = $(selector)
    //高亮显示当前tab
    this.activate($this.closest('li'), $ul)
    //显示对应的面板,并在回调里触发hidden及shown事件
    this.activate($target, $target.parent(), function () {
      $previous.trigger({
        type: 'hidden.bs.tab',
        relatedTarget: $this[0]
      })
      $this.trigger({
        type: 'shown.bs.tab',
        relatedTarget: $previous[0]
      })
    })
  }
  //active样式的应用,面板的显示和隐藏,以及tab的高亮与反高亮
  Tab.prototype.activate = function (element, container, callback) {
    //查找当前容器所有有active样式的元素
    var $active    = container.find('> .active')
    //判断是使用回调还是动画
    var transition = callback
      && $.support.transition
      && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)

    function next() {
      $active
        //去除其他元素的active样式
        .removeClass('active')
        //包括li元素里面的下拉菜单里的active样式也要去除
        .find('> .dropdown-menu > .active')
          .removeClass('active')
        .end()
        .find('[data-toggle="tab"]')
          .attr('aria-expanded', false)

      element
        //给当前被单击的元素添加active高亮样式
        .addClass('active')
        .find('[data-toggle="tab"]')
          .attr('aria-expanded', true)

      if (transition) {
        //如果支持动画,就重绘页面
        element[0].offsetWidth 
        //并添加in样式,去除透明
        element.addClass('in')
      } else {
        //否则删除fade
        element.removeClass('fade')
      }
      //如果单击的是下拉菜单里的项目
      if (element.parent('.dropdown-menu').length) {
        element
          //打到最近的li.dropdown元素进行高亮
          .closest('li.dropdown')
            .addClass('active')
          .end()
          .find('[data-toggle="tab"]')
            .attr('aria-expanded', true)
      }
      //如果有回调就执行回调
      callback && callback()
    }
    //如果支持动画
    $active.length && transition ?
      $active
        //在动画结束后执行next()
        .one('bsTransitionEnd', next)
        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
      next()

    $active.removeClass('in')
  }
【4】jQuery 플러그인 정의

function Plugin(option) {
    //根据选择器,遍历所有符合规则的元素
    return this.each(function () {
      var $this = $(this)
      //获取自定义属性bs.tab的值
      var data  = $this.data('bs.tab')
      //如果值不存在,则将Tab实例设置为bs.tab值
      if (!data) $this.data('bs.tab', (data = new Tab(this)))
      //如果option传递了string,则表示要执行某个方法  
      if (typeof option == 'string') data[option]()
    })
  }

  var old = $.fn.tab
  //保留其他库的$.fn.tab代码(如果定义的话),以便在noConflict之后可以继续使用该老代码
  $.fn.tab             = Plugin
  //重设插件构造器,可以通过该属性获取插件的真实类函数
  $.fn.tab.Constructor = Tab
🎜【5】충돌 방지 처리🎜
$.fn.tab.noConflict = function () {
     //恢复以前的旧代码
    $.fn.tab = old
    //将$.fn.tab.noConflict()设置为Bootstrap的Tab插件
    return this
  }
🎜【6】트리거 이벤트 바인딩🎜
var clickHandler = function (e) {
    //阻止默认行为
    e.preventDefault()
    //触发show()方法
    Plugin.call($(this), 'show')
  }

  $(document)
    //在document上绑定单击事件
    .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
🎜자세한 프로그래밍 관련 지식이 있으면 🎜프로그래밍 비디오🎜를 방문하세요! ! 🎜

위 내용은 부트스트랩의 탭 탭에 대해 알아봅시다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 博客园에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
반응에서 부트 스트랩 스타일을 통합 : 메소드 및 기술반응에서 부트 스트랩 스타일을 통합 : 메소드 및 기술Apr 17, 2025 am 12:04 AM

React 프로젝트에 부트 스트랩을 통합하는 것은 두 가지 방법으로 수행 할 수 있습니다. 1) 소규모 프로젝트 또는 빠른 프로토 타이핑에 적합한 CDN을 사용하여 도입; 2) NPM 패키지 관리자를 사용하여 설치, 깊은 사용자 정의가 필요한 시나리오에 적합합니다. 이러한 방법을 사용하면 React에서 아름답고 반응이 좋은 사용자 인터페이스를 빠르게 구축 할 수 있습니다.

React의 부트 스트랩 : 장점 및 모범 사례React의 부트 스트랩 : 장점 및 모범 사례Apr 16, 2025 am 12:17 AM

부트 스트랩을 React 프로젝트에 통합 할 때의 장점은 1) 빠른 개발, 2) 일관성 및 유지 가능성 및 3) 반응 형 디자인이 포함됩니다. CSS 파일을 직접 소개하거나 React-Bootstrap 라이브러리를 사용하면 React 프로젝트에서 Bootstrap의 구성 요소와 스타일을 효율적으로 사용할 수 있습니다.

부트 스트랩 : 웹 프레임 워크에 대한 빠른 안내서부트 스트랩 : 웹 프레임 워크에 대한 빠른 안내서Apr 15, 2025 am 12:10 AM

Bootstrap은 Twitter에서 개발 한 프레임 워크로, 반응 형 모바일 우선 웹 사이트 및 응용 프로그램을 신속하게 구축 할 수 있습니다. 1. 사용 편의성과 풍부한 구성 요소 라이브러리는 개발을 더욱 빠르게 만듭니다. 2. 거대한 커뮤니티는 지원과 솔루션을 제공합니다. 3. 클래스 이름을 소개하고 사용하여 반응 형 그리드 생성과 같은 CDN을 통해 스타일을 제어합니다. 4. 사용자 정의 가능한 스타일 및 확장 구성 요소. 5. 장점에는 빠른 개발과 반응 형 디자인이 포함되며 단점은 스타일 일관성과 학습 곡선입니다.

부트 스트랩 분해 : 그것이 무엇인지, 왜 중요한지부트 스트랩 분해 : 그것이 무엇인지, 왜 중요한지Apr 14, 2025 am 12:05 AM

BootstrapisAfree, Open-SourcecsSframework that atresponsiveandmobile-firstwebsitedevelopment.itofferspre-styledcomponentsandagridsystem, streamliningthecreations of hetsingallyfleasing 및 functionalwebdesigns를 간소화합니다.

부트 스트랩 : 웹 디자인을보다 쉽게 ​​만듭니다부트 스트랩 : 웹 디자인을보다 쉽게 ​​만듭니다Apr 13, 2025 am 12:10 AM

웹 디자인이 더 쉬운 것은 부트 스트랩입니다. 사전 설정 구성 요소, 반응 형 디자인 및 풍부한 커뮤니티 지원. 1) 사전 설정 구성 요소 라이브러리 및 스타일을 사용하면 개발자가 복잡한 CSS 코드를 쓰지 않도록 할 수 있습니다. 2) 내장 그리드 시스템은 반응 형 레이아웃 생성을 단순화합니다. 3) 커뮤니티 지원은 풍부한 자원과 솔루션을 제공합니다.

부트 스트랩의 영향 : 웹 개발 가속화부트 스트랩의 영향 : 웹 개발 가속화Apr 12, 2025 am 12:05 AM

Bootstrap은 웹 개발을 가속화하고 사전 정의 된 스타일 및 구성 요소를 제공함으로써 신속하게 반응 형 웹 사이트를 구축 할 수 있습니다. 1) 프로젝트에서 며칠 내에 기본 레이아웃을 완료하는 등 개발 시간이 단축됩니다. 2) SASS 변수와 믹스 인을 통해 부트 스트랩을 통해 맞춤형 스타일은 특정 요구를 충족시킬 수 있습니다. 3) CDN 버전을 사용하면 성능을 최적화하고 로딩 속도를 향상시킬 수 있습니다.

부트 스트랩 이해 : 핵심 개념 및 기능부트 스트랩 이해 : 핵심 개념 및 기능Apr 11, 2025 am 12:01 AM

Bootstrap은 오픈 소스 프론트 엔드 프레임 워크이며 주요 기능은 개발자가 반응 형 웹 사이트를 신속하게 구축하도록 돕는 것입니다. 1) 복잡한 UI 효과의 구현을 용이하게하기 위해 사전 정의 된 CSS 클래스 및 JavaScript 플러그인을 제공합니다. 2) 부트 스트랩의 작동 원리는 CSS 및 JavaScript 구성 요소에 의존하여 미디어 쿼리를 통해 반응 형 디자인을 실현합니다. 3) 사용의 예로는 버튼 작성과 같은 기본 사용 및 사용자 정의 스타일과 같은 고급 사용법이 포함됩니다. 4) 일반적인 오류에는 클래스 이름의 철자가 포함됩니다. 브라우저 개발자 도구를 사용하여 디버깅하는 것이 좋습니다. 5) 성능 최적화는 맞춤형 빌드 도구를 통해 달성 할 수 있으며 모범 사례에는 Semantic HTML 및 부트 스트랩 사용 사전 정의가 포함됩니다.

부트 스트랩 딥 다이브 : 반응 형 디자인 및 고급 레이아웃 기술부트 스트랩 딥 다이브 : 반응 형 디자인 및 고급 레이아웃 기술Apr 10, 2025 am 09:35 AM

Bootstrap은 그리드 시스템 및 미디어 쿼리를 통한 반응 형 디자인을 구현하여 웹 사이트를 다른 장치에 적용합니다. 1. 사전 정의 된 클래스 (예 : col-SM-6)를 사용하여 열 너비를 정의하십시오. 2. 그리드 시스템은 12 개의 열을 기반으로하며 합계가 12를 초과하지 않습니다. 3. SM, MD, LG와 같은 중단 점 (예 : SM, MD, LG)을 사용하여 다른 화면 크기로 레이아웃을 정의합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구