9月更新・前月(8月)の人気記事トップ10 09/02/2024
- ( 01 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 07 ↑) 【Mac】macOSをHigh SierraからMontereyにアップグレード
- ( 03 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 10 ↑) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- (圏外↑) 【Labs】CSSだけでドロップダウンメニュー
- ( 02 ↓) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 09 ↑) 【Mac】Safariでソースコードを見る方法
- ( 04 ↓) 【jQuery】入門7. jQueryで新しいWindowを開く
- ( 06 ↓) 【2024年5月】iPad画面解像度まとめ
- (圏外↑) 【GIMP】レイヤーをロック
【Labs】CSSだけでサイズ可変・スマホ対応のタブレイアウト
こんにちは(・∀・)
CSSだけで作ってみましたシリーズです。今回ご紹介するサンプルは、サイズも可変してスマホにも対応したタブレイアウトです。
タブレイアウトのサンプル
今回もラジオボタンをトリガーにしてタブを変える仕様です。また、今回も前回同様displayプロパティで要素の表示非表示を行っているのでアニメーション的な動きはありません(transitionプロパティはdisplayプロパティに対応しておりません)。
また今回も前回と同じく最初から開いている状態にしたい場合はinput要素にcheckedを入れればクリックするまえから展開した状態で表示されます。
IEは9以上で正しく動作します。
HTML
<div class="tab5">
<div class="tab-content">
<input id="tab5-1" type="radio" name="tab5" checked>
<label for="tab5-1">1</label>
<input id="tab5-2" type="radio" name="tab5">
<label for="tab5-2">2</label>
<input id="tab5-3" type="radio" name="tab5">
<label for="tab5-3">3</label>
<input id="tab5-4" type="radio" name="tab5">
<label for="tab5-4">4</label>
<div id="tab5-b1">
<p>コンテンツ1</p>
</div>
<div id="tab5-b2">
<p>コンテンツ2</p>
<p>コンテンツ2</p>
</div>
<div id="tab5-b3">
<p>コンテンツ3</p>
<p>コンテンツ3</p>
<p>コンテンツ3</p>
</div>
<div id="tab5-b4">
<p>コンテンツ4</p>
<p>コンテンツ4</p>
<p>コンテンツ4</p>
<p>コンテンツ4</p>
</div>
<!--tab-content--></div>
<!--tab5--></div>
以下のコードをHTMLに記述すればレイアウトは崩れますがIE8でもコンテンツを表示することができます。
<!--[if lt IE 9]>
<style>
.tab5 #tab5-b1,
.tab5 #tab5-b2,
.tab5 #tab5-b3,
.tab5 #tab5-b4 {
display: block;
}
</style>
<![endif]-->
CSS
.tab5 {
width: 100%;/*横幅はここで設定します。100%にすれば可変になります。*/
min-width: 320px;
margin: 0 auto;
}
.tab5 .tab-content {
margin: 0 10px;
}
.tab5 label {
display: inline-block;
margin: 0;
padding: 0;
}
.tab5 label {
display: inline-block;
width: 78px;
padding: 3px 10px;
cursor: pointer;
background: #ddd;
color: #777;
margin-right: -2px;
}
.tab5 label:hover {
background: #eee;
}
.tab5 input:checked + label {
background: #9fb7d4;
color: white;
padding: 5px 10px 3px 10px;
}
.tab5 input {
display: none;
}
.tab5 #tab5-b1,
.tab5 #tab5-b2,
.tab5 #tab5-b3,
.tab5 #tab5-b4 {
display: none;
padding: 10px;
}
.tab5 #tab5-1:checked ~ #tab5-b1,
.tab5 #tab5-2:checked ~ #tab5-b2,
.tab5 #tab5-3:checked ~ #tab5-b3,
.tab5 #tab5-4:checked ~ #tab5-b4 {
display: block;
border: 1px solid #9fb7d4;
}
Result
関連リンク
【Labs】jquery.cookie.jsでサイズ可変・スマホ対応のタブレイアウト
【Labs】サイズ可変・スマホ対応のタブレイアウト
【Labs】クッキーを使ったタブレイアウト
【Labs】JavaScriptでタブレイアウト