Bootstrap 3 yığılmış sekmeler


157

Sekmeler üstte yerine sekme içeriğinin solunda dikey olarak işlenir Bootstrap 3 Tab jquery eklentisini kullanarak sola hizalanmış yığılmış sekmeler uygulamak çalışıyorum. Aşağıdakileri denediğimde;

   <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>

Sekmeler üst üste istiflenir, ancak sola döndürülecek şekilde düzgün şekilde oluşturulmaz, bunun yerine üst üste yapışan yatay sekmelerdir. Sekme içeriği, içerik div'larında düzgün bir şekilde gösterilir / gizlenir.

Bu, sekme-sol ve sekme-sağ sınıfları kullanılarak Bootstrap 2.x'te ele alındı , ancak Bootstrap 3'te kullanımdan kaldırıldı ve gerçekten hiçbir şeyle değiştirilmemiş gibi görünüyor. Bootstrap 3 Sekmesi eklentisinde uygun sağ-sol sekme oluşturmanın mümkün olup olmadığını bilen var mı?


1
.navSınıfı tek başına kullanabilirsiniz , ardından ızgara ile gezinme genişliği ve içeriğinizin genişliğini ayarlayın. .navVarsayılan olarak istiflendiği için 'yığınlanmış nav'a gerek yoktur .
Patrick Berkeley

Yanıtlar:


236

Sol, Sağ ve Alt sekmeleri Bootstrap 3'ten kaldırıldı, ancak bunu başarmak için özel CSS ekleyebilirsiniz.

.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;
}

Çalışma örneği: http://bootply.com/74926

GÜNCELLEME

Bir sekmenin tam görünümüne ihtiyacınız yoksa (her sekme etkinleştirildiğinde uygun şekilde sol veya sağda sınırlanmıştır), sekmeleri sola veya sağa nav-stackedkaydırmak col-*için Bootstrap ile birlikte basit bir şekilde kullanabilirsiniz ...

nav-stackeddemo: 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
Bu, sorunu mükemmel bir şekilde çözer. Yine de neden Bootstrap 3'ten çıkardıklarını merak ediyorlar.
osmbergs

24
Neden kaldırıldı? oO
roosevelt

4
Evet, .nav tek başına yığınlanır, ancak seçildiğinde / etkinken bir sekme (uygun sol, sağ kenarlıklar) gibi görünmez. Sekmelerin amacı budur.
Zim

17
Bunu tekrar eklemeniz gerekmemelidir. Bu maksatla kaldırılmıştır. JavaScript / Sekmeler altında bunu nasıl ele almanız gerektiği konusunda resmi Bootstrap belgelerine bakın. Ayrıca, dikey sekmeler yapmak için Bootstrap 3 kurulumunun doğru şekilde nasıl kullanılacağına ilişkin bu eğiticiye de bakın. tutsme-webdesign.info/bootstrap-3-toggable-tabs-and-pills
Neil Monroe

3
basit metin içeriği için her iki çözüm de iyidir. Başka biri hakkında konuştuğum sorun varsa: @ dbtek'in çözümü en iyi çalıştı: bootstrap-vertical-tabs Sadece CSS dosyasını dahil etmek zorunda kaldım ... teşekkürler @dbtek!
msanjay

47

Bootstrap ekibi onu kaldırmış gibi görünüyor. Buraya bakın: https://github.com/twbs/bootstrap/issues/8922 . @ Skelly'nin cevabı yapmak istemediğim özel css içeriyor, bu yüzden ızgara sistemini ve nav-haplarını kullandım. İyi çalıştı ve harika görünüyordu. Kod şöyle görünür:

<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>

Bunu burada çalışırken görebilirsiniz: http://bootply.com/81948

[Güncelleme] @SeanK nav-hapları Javascript aracılığıyla etkinleştirmek zorunda kalmadan ve bunun yerine kullanarak seçenek sunar data-toggle="pill". Buradan kontrol edin: http://bootply.com/96067 . Teşekkürler Sean.


10
Javascript'i eklemenize gerek yoktur. Her a-etiketine data-toggle = "hap" eklerseniz, bootstrap kullanılarak otomatik olarak çalışır. Burada görebilirsiniz: bootply.com/96067
SeanK

Teşekkürler @SeanK. Cevaba ekledim.
David Lemayian

bu güzeldi ve özel CSS olmadan bunu tercih ederdim, ancak @ Skelly'nin sekmelerinin aktif sekme ve içerik arasında daha 'sürekli' bir görünümü ve ilişkisi var. Eğer burada bir şekilde başarılabilseydi iyi olur ama nasıl olduğunu anlayamadım. Basitlik için sadece bir örneği daraltan bir çatal yaptım: bootply.com/QZfrLF0XjD
msanjay

1
Öte yandan, bazı renkli içerikler koydum ve bu, kabul edilen yaklaşımdan çok daha iyi ele alındı ​​gibi görünüyordu. bkz. bootply.com/SeQ6z7fhbQ ve bootply.com/cre9NpmXpA
msanjay


9

Bunu tekrar eklemenize gerek yok. Bu amaç kaldırıldı. Belgeler biraz değişti ve gerekli olan CSS sınıfı ("nav-stacked") sadece hap bileşeni altında belirtildi, ancak sekmeler için de çalışmalı.

Bu eğitici dikey sekmeler yapmak için Bootstrap 3 kurulumunun nasıl düzgün bir şekilde kullanılacağını gösterir:
tutsme-webdesign.info/bootstrap-3-toggable-tabs-and-pills


Şimdi tamamen kaldırmışlar. Prosedür için yukarıdaki bağlantıya bakın.
Neil Monroe

Çok teşekkür ederim. Bağlantı verdiğiniz makale pratik, çalışma örnekleri ve birçok açıklama sağlar. Aradığım şey buydu.
Aluan Haddad

Değeri için, bu sadece nav-hapları için doğru görünüyor. gezinme sekmeleri yığınlanır ancak stil üstte yatay sekmeler gibi görünür. OP özellikle gezinme sekmeleri hakkında sorduğundan, bunun kabul edilebilir bir cevap olarak değerlendirilebileceğini düşünmüyorum.
Jay Mathis

URL artık çalışmıyor! Bu cevap daha sonra anlamsız hale gelir!
15'te Bobort
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.