Складені вкладки в завантажувальній машині 3


157

Я намагаюся реалізувати вирівняні вкладені вкладки за допомогою плагіну Tab jquery у Bootstrap 3, де вкладки відображаються вертикально зліва від вмісту вкладки, а не зверху. Коли я пробую наступне;

   <ul class="nav nav-tabs nav-stacked">
        <li><a href="#tab1" data-toggle="tab">Tab 1</a></li>
        <li><a href="#tab2" data-toggle="tab">Tab 2</a></li>
        <li><a href="#tab3" data-toggle="tab">Tab 3</a></li>
    </ul>


    <div class="tab-content">
        <div class="tab-pane fade" id="tab1">
            Tab 1 content
        </div>
        <div class="tab-pane fade" id="tab2">
            Tab 2 content              
        </div>
        <div class="tab-pane fade" id="tab3">
            Tab 3 content
        </div>
    </div>

Вкладки укладаються один на одного, але належним чином не відображаються так, як повернуті ліворуч, натомість вони є лише горизонтальними вкладками, застрягнутими один над одним. Вміст вкладок належним чином відображається / приховується у вмісті.

Це було оброблено в Bootstrap 2.x за допомогою класів вліво та вправо , але це застаріло в Bootstrap 3 і насправді, схоже, не замінено нічим. Хтось знає, чи можливе правильне відображення лівої правої вкладки у плагіні Bootstrap 3 Tab?


1
Ви можете використовувати .navклас самостійно, після чого за допомогою сітки встановити ширину навігації та вмісту. Немає необхідності в "складеному нав", оскільки .navвін укладається за умовчанням
Патрік Берклі

Відповіді:


236

З Bootstrap 3 видалено вкладки зліва, справа та внизу, але ви можете додати спеціальний CSS для цього.

.tabs-below > .nav-tabs,
.tabs-right > .nav-tabs,
.tabs-left > .nav-tabs {
  border-bottom: 0;
}

.tab-content > .tab-pane,
.pill-content > .pill-pane {
  display: none;
}

.tab-content > .active,
.pill-content > .active {
  display: block;
}

.tabs-below > .nav-tabs {
  border-top: 1px solid #ddd;
}

.tabs-below > .nav-tabs > li {
  margin-top: -1px;
  margin-bottom: 0;
}

.tabs-below > .nav-tabs > li > a {
  -webkit-border-radius: 0 0 4px 4px;
     -moz-border-radius: 0 0 4px 4px;
          border-radius: 0 0 4px 4px;
}

.tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
  border-top-color: #ddd;
  border-bottom-color: transparent;
}

.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
  border-color: transparent #ddd #ddd #ddd;
}

.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
  float: none;
}

.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
  min-width: 74px;
  margin-right: 0;
  margin-bottom: 3px;
}

.tabs-left > .nav-tabs {
  float: left;
  margin-right: 19px;
  border-right: 1px solid #ddd;
}

.tabs-left > .nav-tabs > li > a {
  margin-right: -1px;
  -webkit-border-radius: 4px 0 0 4px;
     -moz-border-radius: 4px 0 0 4px;
          border-radius: 4px 0 0 4px;
}

.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
}

.tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover,
.tabs-left > .nav-tabs .active > a:focus {
  border-color: #ddd transparent #ddd #ddd;
  *border-right-color: #ffffff;
}

.tabs-right > .nav-tabs {
  float: right;
  margin-left: 19px;
  border-left: 1px solid #ddd;
}

.tabs-right > .nav-tabs > li > a {
  margin-left: -1px;
  -webkit-border-radius: 0 4px 4px 0;
     -moz-border-radius: 0 4px 4px 0;
          border-radius: 0 4px 4px 0;
}

.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
}

.tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover,
.tabs-right > .nav-tabs .active > a:focus {
  border-color: #ddd #ddd #ddd transparent;
  *border-left-color: #ffffff;
}

Приклад роботи: http://bootply.com/74926

ОНОВЛЕННЯ

Якщо вам не потрібен точний вигляд вкладки (облямована належним чином ліворуч або праворуч, оскільки кожна вкладка активована), ви можете просто користуватися nav-stackedразом із Bootstrap col-*плавати вкладками вліво або вправо ...

nav-stackedдемонстрація: http://codeply.com/go/rv3Cvr0lZ4

<ul class="nav nav-pills nav-stacked col-md-3">
    <li><a href="#a" data-toggle="tab">1</a></li>
    <li><a href="#b" data-toggle="tab">2</a></li>
    <li><a href="#c" data-toggle="tab">3</a></li>
</ul>

33
Це прекрасно вирішує питання. Досі цікаво, чому вони витягли це з Bootstrap 3, хоча.
osmbergs

24
Чому його видалили? oO
roosevelt

4
Так, лише .nav складений, але він не схожий на вкладку (відповідна ліва, права межа), коли він вибраний / активний. Ось і є мета вкладок.
Зім

17
Вам не потрібно буде додавати це ще раз. Це було видалено цілеспрямовано. Дивіться офіційну документацію Bootstrap щодо того, як ви повинні цим поводитися зараз у JavaScript / Tabs. Дивіться також цей підручник про те, як правильно використовувати налаштування Bootstrap 3, щоб робити вертикальні вкладки. tutsme-webdesign.info/bootstrap-3-toggable-tabs-and-pills
Ніл Монро

3
для простого текстового вмісту будь-яке рішення є прекрасним. Якщо хтось стикається з проблемою, про яку я говорю: рішення dbtek найкраще працювало: bootstrap-вертикалі-tabs Я просто повинен був включити файл CSS ... дякую @dbtek!
msanjay

47

Здається, команда Bootstrap видалила його. Дивіться тут: https://github.com/twbs/bootstrap/isissue/8922 . @ Відповідь Скеллі передбачає користувальницький css, який я не хотів робити, тому я використовував сітку та нави-таблетки. Це добре працювало і виглядало чудово. Код виглядає так:

<div class="row">

  <!-- Navigation Buttons -->
  <div class="col-md-3">
    <ul class="nav nav-pills nav-stacked" id="myTabs">
      <li class="active"><a href="#home" data-toggle="pill">Home</a></li>
      <li><a href="#profile" data-toggle="pill">Profile</a></li>
      <li><a href="#messages" data-toggle="pill">Messages</a></li>
    </ul>
  </div>

  <!-- Content -->
  <div class="col-md-9">
    <div class="tab-content">
      <div class="tab-pane active" id="home">Home</div>
      <div class="tab-pane" id="profile">Profile</div>
      <div class="tab-pane" id="messages">Messages</div>
    </div>
  </div>

</div>

Ви можете побачити це в дії тут: http://bootply.com/81948

[Оновлення] @SeanK дає можливість не включати навігаційні таблетки через Javascript і замість цього використовувати data-toggle="pill". Перевірте це тут: http://bootply.com/96067 . Спасибі Шон


10
Вам не потрібно включати JavaScript. Якщо ви додасте data-toggle = "pill" до кожного a-тегу, він буде працювати автоматично за допомогою завантажувальної програми. Ви можете подивитися тут: bootply.com/96067
SeanK

Дякую @SeanK. Додали це до відповіді.
Девід Лемайян

це було приємно, і я вважав за краще це без користувацького CSS, але вкладки @ Skelly мають більш "континуальні" вигляд та взаємозв'язок між активною вкладкою та вмістом. Було б добре, якби цього якимось чином досягти, але я не міг зрозуміти, як це зробити. Я зробив вилку, звужуючи лише один приклад для простоти: bootply.com/QZfrLF0XjD
msanjay

1
З іншого боку, я вклав якийсь кольоровий контент, і це, здавалося, справляється з ним набагато краще, ніж прийнятий підхід. дивіться bootply.com/SeQ6z7fhbQ та bootply.com/cre9NpmXpA
msanjay

29

Для отримання лівої та правої вкладок (тепер також з боком) підтримка Bootstrap 3, може використовуватися компонент завантажувально-вертикальної вкладки.

https://github.com/dbtek/bootstrap-vertical-tabs


9

Вам не потрібно буде додавати це ще раз. Це було видалено цілеспрямовано. Документація дещо змінилася, і необхідний клас CSS ("nav-stacked") згадується лише під компонентом pills, але має працювати і для вкладок.

У цьому підручнику показано, як правильно використовувати налаштування Bootstrap 3 для вертикальних вкладок:
tutsme-webdesign.info/bootstrap-3-toggable-tabs-and-pills


Зараз вони його повністю видалили. Дивіться посилання вище для процедури.
Ніл Монро

Велике спасибі. Стаття, до якої ви посилаєтесь, містить практичні, робочі приклади та багато пояснень. Це саме те, що я шукав.
Алуан Хаддад

Оскільки це варте, це добре виглядає лише для таблеток для навігації. nav-вкладки будуть складені, але укладка виглядає як горизонтальні вкладки зверху. Оскільки ОП запитала конкретно про nav-tabs, я не думаю, що це можна вважати прийнятною відповіддю.
Джей Матіс

URL-адреса більше не працює! Потім ця відповідь стає безглуздою!
Бобборт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.