以下のサイトを参考に、CSSでの切り替えタブを設置しております。
【参考サイト】
https://www.webdlab.com/labs/tab-5/
切り替えのタブを添付画像の用に、画面(コンテンツ1と書いてある枠)に合わせた形にタブの幅を変更したいのですが、
どうコードを変更すれば良いのかわかりません。
【変更したい理想の形、参考画像】
試してみたこととして、
%で指定を入れてみたのですが、うまくぴったりにすることができませんでした。
変更の仕方がわかる方がいましたら、ご教授願えませんでしょうか。
▼現在のコード
html
1<div class="tab5"> 2 <div class="tab-content"> 3 <input id="tab5-1" type="radio" name="tab5" checked="checked" /> 4 <input id="tab5-2" type="radio" name="tab5" /> 5 <input id="tab5-3" type="radio" name="tab5" /> 6 <input id="tab5-4" type="radio" name="tab5" /> 7 <div role="tablist"> 8 <label for="tab5-1" role="tab">1</label> 9 <label for="tab5-2" role="tab">2</label> 10 <label for="tab5-3" role="tab">3</label> 11 <label for="tab5-4" role="tab">4</label> 12 </div> 13 <div class="tab-panels"> 14 <div id="tab5-b1" role="tabpanel"> 15 <p>コンテンツ1</p> 16 </div> 17 <div id="tab5-b2" role="tabpanel"> 18 <p>コンテンツ2</p> 19 <p>コンテンツ2</p> 20 </div> 21 <div id="tab5-b3" role="tabpanel"> 22 <p>コンテンツ3</p> 23 <p>コンテンツ3</p> 24 <p>コンテンツ3</p> 25 </div> 26 <div id="tab5-b4" role="tabpanel"> 27 <p>コンテンツ4</p> 28 <p>コンテンツ4</p> 29 <p>コンテンツ4</p> 30 <p>コンテンツ4</p> 31 </div> 32 </div> 33 </div> 34</div> 35 36</div> 37<!--tab-content--></div> 38<!--tab5--></div>
CSS
1.tab5 #tab5-1:checked ~ [role="tablist"] label[for="tab5-1"], 2.tab5 #tab5-2:checked ~ [role="tablist"] label[for="tab5-2"], 3.tab5 #tab5-3:checked ~ [role="tablist"] label[for="tab5-3"], 4.tab5 #tab5-4:checked ~ [role="tablist"] label[for="tab5-4"], 5.tab5 #tab5-5:checked ~ [role="tablist"] label[for="tab5-5"] { 6 background: #9fb7d4; 7 color: white; 8 padding: 5px 10px 3px 10px; 9} 10 11.tab5 #tab5-1:checked ~ .tab-panels #tab5-b1, 12.tab5 #tab5-2:checked ~ .tab-panels #tab5-b2, 13.tab5 #tab5-3:checked ~ .tab-panels #tab5-b3, 14.tab5 #tab5-4:checked ~ .tab-panels #tab5-b4 { 15 display: block; 16 border: 1px solid #9fb7d4; 17} 18 19.tab5 [role="tablist"] { 20 display: flex; 21 flex-wrap: wrap; 22} 23 24.tab5 [role="tablist"] > label { 25 flex: 1 1 auto; 26 margin: 0; 27} 28 29.tab5 [role="tablist"] > label:not(:first-child) { 30 margin-left: 5px; 31}
上記、コードを返答をいただいたものに変更いたしました。
レスポンシブ対応にしたいのですが、スマホサイズ時にナンバー4のタブが1-3の下に回り込んでしまいます。
こちらの解決方法はありますでしょうか。
回答2件
あなたの回答
tips
プレビュー