menu
menu

CSSだけでサイズ可変・スマホ対応のタブレイアウト | Webデザインラボ

キーワード検索

11月のアクセストップ10

  1. ( 1-) スマホサイトの作成・基本編
  2. ( 3↑) CSSだけでドロップダウンメニュー
  3. ( 2↓) CSSだけでサイズ可変・スマホ対応のアコーディオン
  4. ( 4-) HTML5・ページ作成の基本
  5. ( 5-) jQueryでドロップダウンメニュー
  6. ( 6-) スマホ・タブレット・PCの振り分けいろいろ
  7. ( 9↑) 表示しているブラウザの高さを取得してCSSのheightに指定
  8. ( 8-) Windows 10にApache2.4 VC11をインストール
  9. ( 7↓) JavaScriptで新しいウィンドウを開く
  10. (-↑) CSSだけでブロック要素の表示非表示(トグルボタン)
  • facebook4
  • はてなブックマーク3
  • Google+4
  • Pocket0
  • Twitter0

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

  • Labs

CSS3

こんにちは(・∀・)

 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: 300px;
	margin: 0 auto;
}
.tab5 .tab-content {
	margin: 0 10px;
}
.tab5 label {
	display: inline-block;
	margin: 0;
	padding: 0;
}
.tab5 label {
	display: inline-block;
	width: 40px;
	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;
}

関連リンク

 jquery.cookie.jsでサイズ可変・スマホ対応のタブレイアウト

 サイズ可変・スマホ対応のタブレイアウト

 クッキーを使ったタブレイアウト

 JavaScriptでタブレイアウト

  • カテゴリー:Labs
  • facebook4
  • はてなブックマーク3
  • Google+4
  • Pocket0
  • Twitter0