menu
menu

キーワード検索

 

最近の投稿

【制作Tips】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