Складені вкладки в завантажувальній машині 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.