html+CSSのみのメニュータブが下記のサンプル出来ました。
<div class="tabBox"> <input type="radio" id="tabMenu1" name="tab" checked > <label for="tabMenu1">タブ1</label> <input type="radio" id="tabMenu2" name="tab"> <label for="tabMenu2">タブ2</label> <input type="radio" id="tabMenu3" name="tab"> <label for="tabMenu3">タブ3</label> <div class="tabContent"> <div id="tabContent1">コンテンツ1の内容が表示されます。コンテンツ1の内容が表示されます。</div> <div id="tabContent2">コンテンツ2の内容が表示されます。コンテンツ2の内容が表示されます。</div> <div id="tabContent3">コンテンツ3の内容が表示されます。コンテンツ3の内容が表示されます。</div> </div> </div>
.tabBox input[type="radio"] {display: none;} .tabBox .tabContent { width : 250px; height: 100px; border: 1px solid #AAA; } .tabBox > .tabContent > div {display: none;} #tabMenu1:checked ~ .tabContent > #tabContent1 {display: block;} #tabMenu2:checked ~ .tabContent > #tabContent2 {display: block;} #tabMenu3:checked ~ .tabContent > #tabContent3 {display: block;}
このサンプルだとメニュータブが上側に表示されますが、これを左側に表示させることは出来るでしょうか。
メニュー部分を<div>で囲んでfloat:leftすればよいのですが、CSSで
.tabMenu:has(#tabMenu1:checked) ~ tabContent > ・・・
というCSS4(?)対応の記述をする必要があり、対応してないブラウザもあるようです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/20 11:13