下記イメージ図のようにアクティブ時は背景を白で文字とタブとパネルのボーダーは各タブの色、
非アクティブ時は文字を白でタブの背景をボーダーと同じ色にして塗りつぶし、という感じにしたいのですがうまくいきません。
現状は全てがアクティブされている状態になってしまっており、切り替えはできるのですが、非アクティブ時のCSSが適用されていないと行った感じです。
HTML
1<section id="charact" class="charact"> 2 <div class="ct_1000"> 3 <h2 class="title-border ttl">会社の特徴</h2> 4 <!--Tab--> 5 <ul class="tab-group"> 6 <li class="tab tab_1 is-active is-active_1">特徴1</li> 7 <li class="tab tab_2 is-active is-active_2">特徴2</li> 8 <li class="tab tab_3 is-active is-active_3">特徴3</li> 9 <li class="tab tab_4 is-active is-active_4">特徴4</li> 10 </ul> 11 12 <!--Tab Contents--> 13 <div class="panel-group"> 14 <div class="panel is-show"> 15 <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> 16 <img src="images/tab.png" alt=""> 17 </div> 18 <div class="panel">特徴2の内容</div> 19 <div class="panel">特徴3の内容</div> 20 <div class="panel">特徴4の内容</div> 21 </div> 22 </div> 23 </section> 24 <section id="concept" class="concept"> 25 <div class="ct_1000"> 26 <h2 class="title-border ttl">コンセプト</h2> 27 <div class="consept_ct"> 28 <div class="concept_ct_l"> 29 <img src="images/concept_1.jpg" alt="コンセプト1"> 30 </div> 31 <div class="concept_ct_r"> 32 <div class="concept_image"> 33 <img src="images/concept_1.jpg" alt="コンセプト1"> 34 <img src="images/concept_2.jpg" alt="コンセプト2"> 35 <img src="images/concept_3.jpg" alt="コンセプト3"> 36 </div> 37 <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト<br><br> 38 テキストテキストテキストテキスト<br><br> 39 テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト<br> 40 テキストテキストテキストテキストテキストテキスト<br><br> 41 テキストテキストテキストテキストテキストテキストテキスト</p> 42 </div> 43 </div> 44 </div> 45 </section>
CSS
1/*charact*/ 2 .charact{ 3 width:100%; 4 height:615px; 5 } 6 .charact .tab-group{ 7 display: flex; 8 justify-content: center; 9 } 10 .charact .tab-group .tab_1{ 11 height:40px; 12 flex-grow: 1; 13 list-style:none; 14 border:solid 2px #ff9000; 15 text-align:center; 16 line-height:40px; 17 font-size:20px; 18 font-weight:bold; 19 cursor:pointer; 20 background:#ff9000; 21 color:#fff; 22 } 23 .charact .tab-group .tab_2{ 24 height:40px; 25 flex-grow: 1; 26 list-style:none; 27 border:solid 2px #3ebc01; 28 text-align:center; 29 line-height:40px; 30 font-size:20px; 31 font-weight:bold; 32 cursor:pointer; 33 background:#3ebc01; 34 color:#fff; 35 } 36 .charact .tab-group .tab_3{ 37 height:40px; 38 flex-grow: 1; 39 list-style:none; 40 border:solid 2px #1e1efc; 41 text-align:center; 42 line-height:40px; 43 font-size:20px; 44 font-weight:bold; 45 cursor:pointer; 46 background:#1e1efc; 47 color:#fff; 48 } 49 .charact .tab-group .tab_4{ 50 height:40px; 51 flex-grow: 1; 52 list-style:none; 53 border:solid 2px #fc1e77; 54 text-align:center; 55 line-height:40px; 56 font-size:20px; 57 font-weight:bold; 58 cursor:pointer; 59 background:#fc1e77; 60 color:#fff; 61 } 62 63 .charact .panel-group{ 64 height:400px; 65 border:solid 1px #ff9000; 66 border-top:none; 67 background:#eee; 68 } 69 .charact .panel-group .panel{ 70 display:none; 71 } 72 .charact .tab.is-active_1{ 73 background:#fff; 74 color:#ff9000; 75 font-weight:bold; 76 transition: all 0.2s ease-out; 77 } 78 .charact .tab.is-active_2{ 79 background:#fff; 80 color:#3ebc01; 81 font-weight:bold; 82 transition: all 0.2s ease-out; 83 } 84 .charact .tab.is-active_3{ 85 background:#fff; 86 color:#1e1efc; 87 font-weight:bold; 88 transition: all 0.2s ease-out; 89 } 90 .charact .tab.is-active_4{ 91 background:#fff; 92 color:#fc1e77; 93 font-weight:bold; 94 transition: all 0.2s ease-out; 95 } 96 .charact .panel.is-show{ 97 display:block; 98 }
jQuery
1<script> 2 $(function($){ 3 $('.tab').click(function(){ 4 $('.is-active').removeClass('is-active'); 5 $(this).addClass('is-active'); 6 $('.is-show').removeClass('is-show'); 7 const index = $(this).index(); 8 $('.panel').eq(index).addClass('is-show'); 9 }); 10 }); 11 </script>
どなたか教えてください、、、!
回答1件
あなたの回答
tips
プレビュー