2016-05-11 7 views
0

「タブウィジェット」を作成しようとしていますが、タブ全体の幅を占めるようにします。タブが4つまたは5つある場合は、私は25%または20%または一定の数にliの幅を変更できますが、6つのタブが必要なので、その数は16.66666667%でなければなりません。3/6タブhtmlレイアウト。タブが全体の幅を占める

はタブが画面全体を占めるように、このレイアウトを作るための正しい方法はあります+

現在のHTMLとCSS(下部にjsfiddle):?

<script type="text/javascript"> 
    $(document).ready(function() { 

     //Default Action 
     $(".tab_content").hide(); //Hide all content 
     $("ul.tabs li:first").addClass("active").show(); //Activate first tab 
     $(".tab_content:first").show(); //Show first tab content 

     //On Click Event 
     $("ul.tabs li").click(function() { 
      $("ul.tabs li").removeClass("active"); //Remove any "active" class 
      $(this).addClass("active"); //Add "active" class to selected tab 
      $(".tab_content").hide(); //Hide all tab content 
      var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content 
      $(activeTab).fadeIn(); //Fade in the active content 
      return false; 
     }); 

    }); 
</script> 
<div class="container"> 
    <ul class="tabs"> 
     <li><a href="#tab1">Seville</a></li> 
     <li><a href="#tab2"></a>Alicante</li> 
     <li><a href="#tab3">Barcelona</a></li> 
     <li><a href="#tab4">Córdoba</a></li> 
     <li><a href="#tab5">San Juan</a></li> 
     <li><a href="#tab6">Havana</a></li> 

    </ul> 
    <div class="tab_container"> 
     <div id="tab1" class="tab_content"> 
      <h2>Heading 1</h2> 
      <p> Content 1</p> 
     </div> 
     <div id="tab2" class="tab_content"> 
      <h2>Heading 2</h2> 
      <p> Content 2</p> 
     </div> 
     <div id="tab3" class="tab_content"> 
      <h2>Heading 3</h2> 
      <p> Content 3</p> 
     </div> 
     <div id="tab4" class="tab_content"> 
      <h2>Heading 4</h2> 
      <p> Content 4</p> 
     </div> 
     <div id="tab5" class="tab_content"> 
      <h2>Heading 5</h2> 
      <p> Content 5</p> 
     </div> 
     <div id="tab6" class="tab_content"> 
      <h2>Heading 5</h2> 
      <p> Content 5</p> 
     </div> 
    </div> 

.container { 
    width: 1300; 
    margin: 10px auto; 
} 

ul.tabs { 
    margin: 0; 
    padding: 0; 
    float: left; 
    list-style: none; 
    height: 32px; 
    border-bottom: 1px solid #999; 
    border-left: 1px solid #999; 
    width: 100%; 
} 

ul.tabs li { 
    float: left; 
    margin: 0; 
    padding: 0; 
    height: 31px; 
    line-height: 31px; 
    border: 1px solid #999; 
    border-left: none; 
    margin-bottom: -1px; 
    background: #F0F0F0; 
    overflow: hidden; 
    position: relative; 
} 

ul.tabs li a { 
    text-decoration: none; 
    color: #000; 
    display: block; 
    font-size: 1.2em; 
    padding: 0 20px; 
    border: 1px solid #fff; 
    outline: none; 
} 

ul.tabs li a:hover { 
    background: #ccc; 
} 

html ul.tabs li.active, 
html ul.tabs li.active a:hover { 
    background: #fff; 
    border-bottom: 1px solid #fff; 
} 

.tab_container { 
    border: 1px solid #999; 
    border-top: none; 
    clear: both; 
    float: left; 
    width: 100%; 
    background: #fff; 
    -moz-border-radius-bottomright: 5px; 
    -khtml-border-radius-bottomright: 5px; 
    -webkit-border-bottom-right-radius: 5px; 
    -moz-border-radius-bottomleft: 5px; 
    -khtml-border-radius-bottomleft: 5px; 
    -webkit-border-bottom-left-radius: 5px; 
} 

.tab_content { 
    padding: 20px; 
    font-size: 1.2em; 
} 

.tab_content h2 { 
    font-weight: normal; 
    padding-bottom: 10px; 
    border-bottom: 1px dashed #ddd; 
    font-size: 1.8em; 
} 

.tab_content h3 a { 
    color: #254588; 
} 

.tab_content img { 
    float: left; 
    margin: 0 20px 20px 0; 
    border: 1px solid #ddd; 
    padding: 5px; 
} 

クイックjsfiddle:https://jsfiddle.net/75fff7vp/

+0

たぶん、あなたはhttp://getbootstrap.com/components/#に見てみることができますテーブルとテーブルセル

を追加nav-justifiedを実行し、それらの動作を確認します。 – Muriano

答えて

2

フレックスボックスを使用できます。私はちょうどここにあなたのjsfiddleをフォーク:この約1

https://jsfiddle.net/andreasonny83/dgfazh1r/

.container { 
 
    width: 1300; 
 
    margin: 10px auto; 
 
} 
 

 
ul.tabs { 
 
    margin: 0; 
 
    padding: 0; 
 
    border-bottom: 1px solid #999; 
 
    border-left: 1px solid #999; 
 
    display: flex; 
 
} 
 

 
ul.tabs li { 
 
    margin: 0; 
 
    padding: 0; 
 
    line-height: 31px; 
 
    border: 1px solid #999; 
 
    border-left: none; 
 
    margin-bottom: -1px; 
 
    background: #F0F0F0; 
 
    display: block; 
 
    flex: auto; 
 
} 
 

 
ul.tabs li a { 
 
    text-decoration: none; 
 
    color: #000; 
 
    display: block; 
 
    font-size: 1.2em; 
 
    padding: 0 20px; 
 
    border: 1px solid #fff; 
 
    outline: none; 
 
} 
 

 
ul.tabs li a:hover { 
 
    background: #ccc; 
 
} 
 

 
html ul.tabs li.active, 
 
html ul.tabs li.active a:hover { 
 
    background: #fff; 
 
    border-bottom: 1px solid #fff; 
 
} 
 

 
.tab_container { 
 
    border: 1px solid #999; 
 
    border-top: none; 
 
    clear: both; 
 
    float: left; 
 
    width: 100%; 
 
    background: #fff; 
 
    -moz-border-radius-bottomright: 5px; 
 
    -khtml-border-radius-bottomright: 5px; 
 
    -webkit-border-bottom-right-radius: 5px; 
 
    -moz-border-radius-bottomleft: 5px; 
 
    -khtml-border-radius-bottomleft: 5px; 
 
    -webkit-border-bottom-left-radius: 5px; 
 
} 
 

 
.tab_content { 
 
    padding: 20px; 
 
    font-size: 1.2em; 
 
} 
 

 
.tab_content h2 { 
 
    font-weight: normal; 
 
    padding-bottom: 10px; 
 
    border-bottom: 1px dashed #ddd; 
 
    font-size: 1.8em; 
 
} 
 

 
.tab_content h3 a { 
 
    color: #254588; 
 
} 
 

 
.tab_content img { 
 
    float: left; 
 
    margin: 0 20px 20px 0; 
 
    border: 1px solid #ddd; 
 
    padding: 5px; 
 
}
<script type="text/javascript"> 
 
    $(document).ready(function() { 
 

 
     //Default Action 
 
     $(".tab_content").hide(); //Hide all content 
 
     $("ul.tabs li:first").addClass("active").show(); //Activate first tab 
 
     $(".tab_content:first").show(); //Show first tab content 
 

 
     //On Click Event 
 
     $("ul.tabs li").click(function() { 
 
      $("ul.tabs li").removeClass("active"); //Remove any "active" class 
 
      $(this).addClass("active"); //Add "active" class to selected tab 
 
      $(".tab_content").hide(); //Hide all tab content 
 
      var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content 
 
      $(activeTab).fadeIn(); //Fade in the active content 
 
      return false; 
 
     }); 
 

 
    }); 
 
</script> 
 
<div class="container"> 
 
    <ul class="tabs"> 
 
     <li><a href="#tab1">Seville</a></li> 
 
     <li><a href="#tab2"></a>Alicante</li> 
 
     <li><a href="#tab3">Barcelona</a></li> 
 
     <li><a href="#tab4">Córdoba</a></li> 
 
     <li><a href="#tab5">San Juan</a></li> 
 
     <li><a href="#tab6">Havana</a></li> 
 

 
    </ul> 
 
    <div class="tab_container"> 
 
     <div id="tab1" class="tab_content"> 
 
      <h2>Heading 1</h2> 
 
      <p> Content 1</p> 
 
     </div> 
 
     <div id="tab2" class="tab_content"> 
 
      <h2>Heading 2</h2> 
 
      <p> Content 2</p> 
 
     </div> 
 
     <div id="tab3" class="tab_content"> 
 
      <h2>Heading 3</h2> 
 
      <p> Content 3</p> 
 
     </div> 
 
     <div id="tab4" class="tab_content"> 
 
      <h2>Heading 4</h2> 
 
      <p> Content 4</p> 
 
     </div> 
 
     <div id="tab5" class="tab_content"> 
 
      <h2>Heading 5</h2> 
 
      <p> Content 5</p> 
 
     </div> 
 
     <div id="tab6" class="tab_content"> 
 
      <h2>Heading 5</h2> 
 
      <p> Content 5</p> 
 
     </div> 
 
    </div> 
 
</div>

+0

私はflexboxを学ぶ機会を探していましたが、これは良いもののようです! – Gerardo

0

どのように?

使用display: table;は、ここでしかfiddle

$(document).ready(function() { 
 

 
     //Default Action 
 
     $(".tab_content").hide(); //Hide all content 
 
     $("ul.tabs li:first").addClass("active").show(); //Activate first tab 
 
     $(".tab_content:first").show(); //Show first tab content 
 

 
     //On Click Event 
 
     $("ul.tabs li").click(function() { 
 
      $("ul.tabs li").removeClass("active"); //Remove any "active" class 
 
      $(this).addClass("active"); //Add "active" class to selected tab 
 
      $(".tab_content").hide(); //Hide all tab content 
 
      var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content 
 
      $(activeTab).fadeIn(); //Fade in the active content 
 
      return false; 
 
     }); 
 

 
    });
.container { 
 
    width: 1300; 
 
    margin: 10px auto; 
 
} 
 

 
ul.tabs { 
 
    display: table; 
 
    margin: 0; 
 
    padding: 0; 
 
    list-style: none; 
 
    height: 32px; 
 
    border-bottom: none; 
 
    border-left: 1px solid #999; 
 
    width: 100%; 
 
} 
 

 
ul.tabs li { 
 
    display: table-cell; 
 
    margin: 0; 
 
    padding: 0; 
 
    height: 31px; 
 
    line-height: 31px; 
 
    border: 1px solid #999; 
 
    border-left: none; 
 
    margin-bottom: -1px; 
 
    background: #F0F0F0; 
 
    overflow: hidden; 
 
    position: relative; 
 
} 
 

 
ul.tabs li a { 
 
    text-decoration: none; 
 
    color: #000; 
 
    display: block; 
 
    font-size: 1.2em; 
 
    padding: 0 20px; 
 
    border: 1px solid #fff; 
 
    outline: none; 
 
} 
 

 
ul.tabs li a:hover { 
 
    background: #ccc; 
 
} 
 

 
html ul.tabs li.active, 
 
html ul.tabs li.active a:hover { 
 
    background: #fff; 
 
    border-bottom: 1px solid #fff; 
 
} 
 

 
.tab_container { 
 
    border: 1px solid #999; 
 
    border-top: none; 
 
    clear: both; 
 
    float: left; 
 
    width: 100%; 
 
    background: #fff; 
 
    -moz-border-radius-bottomright: 5px; 
 
    -khtml-border-radius-bottomright: 5px; 
 
    -webkit-border-bottom-right-radius: 5px; 
 
    -moz-border-radius-bottomleft: 5px; 
 
    -khtml-border-radius-bottomleft: 5px; 
 
    -webkit-border-bottom-left-radius: 5px; 
 
} 
 

 
.tab_content { 
 
    padding: 20px; 
 
    font-size: 1.2em; 
 
} 
 

 
.tab_content h2 { 
 
    font-weight: normal; 
 
    padding-bottom: 10px; 
 
    border-bottom: 1px dashed #ddd; 
 
    font-size: 1.8em; 
 
} 
 

 
.tab_content h3 a { 
 
    color: #254588; 
 
} 
 

 
.tab_content img { 
 
    float: left; 
 
    margin: 0 20px 20px 0; 
 
    border: 1px solid #ddd; 
 
    padding: 5px; 
 
}
<div class="container"> 
 
    <ul class="tabs"> 
 
     <li><a href="#tab1">Seville</a></li> 
 
     <li><a href="#tab2"></a>Alicante</li> 
 
     <li><a href="#tab3">Barcelona</a></li> 
 
     <li><a href="#tab4">Córdoba</a></li> 
 
     <li><a href="#tab5">San Juan</a></li> 
 
     <li><a href="#tab6">Havana</a></li> 
 

 
    </ul> 
 
    <div class="tab_container"> 
 
     <div id="tab1" class="tab_content"> 
 
      <h2>Heading 1</h2> 
 
      <p> Content 1</p> 
 
     </div> 
 
     <div id="tab2" class="tab_content"> 
 
      <h2>Heading 2</h2> 
 
      <p> Content 2</p> 
 
     </div> 
 
     <div id="tab3" class="tab_content"> 
 
      <h2>Heading 3</h2> 
 
      <p> Content 3</p> 
 
     </div> 
 
     <div id="tab4" class="tab_content"> 
 
      <h2>Heading 4</h2> 
 
      <p> Content 4</p> 
 
     </div> 
 
     <div id="tab5" class="tab_content"> 
 
      <h2>Heading 5</h2> 
 
      <p> Content 5</p> 
 
     </div> 
 
     <div id="tab6" class="tab_content"> 
 
      <h2>Heading 5</h2> 
 
      <p> Content 5</p> 
 
     </div> 
 
    </div>

関連する問題