menu
menu

キーワード検索

 

前月(11月)の人気記事トップ10

  1. ( 1 - ) 【CSS】CSSだけでドロップダウンメニュー
  2. ( 2 - ) 【Mac】Macのユーザー名とアカウント名を変更する
  3. ( 3 - ) 【jQuery】jQueryでドロップダウンメニュー
  4. ( 4 - ) 【CSS】スマホ対応CSSだけでドロップダウンメニュー
  5. ( 6 ↑) 【iPhone・iPad】iPhoneのメモリを簡単に解放する方法
  6. ( 5 ↓) 【iPhone・iPad】投稿の準備中にエラーが起きました。後でやり直してください。
  7. ( 9 ↑) 【jQuery】入門2. jQueryをHTMLに組み込む
  8. ( 8 - ) 【CSS】レスポンシブデザインのブレークポイントは⁉
  9. (10 ↑) 【Mac】iMovieの保存場所を変更する
  10. ( - ↑) 【PHP】PHPでシンプルなメールフォーム
このエントリーをはてなブックマークに追加

【CSS3】CSSだけでサイズ可変・スマホ対応のタブレイアウト

【CSS3】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

サンプルデモ


関連リンク

【jQuery】jquery.cookie.jsでサイズ可変・スマホ対応のタブレイアウト
【jQuery】サイズ可変・スマホ対応のタブレイアウト
【JavaScript】クッキーを使ったタブレイアウト
【JavaScript】JavaScriptでタブレイアウト

  • CSS3 タブ レイアウト
このエントリーをはてなブックマークに追加