【Labs】CSSだけでサイズ可変・スマホ対応のタブレイアウト - web design lab
にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村

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


【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でタブレイアウト


にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村