程序員們都知道一般Tab都是靠Javascript來實現的
這兩種各有各優點
具體的Demo請查看這裡
方案一: 錨點 + :target
CSS
<a href="#dest">Link to Dest</a>
<p id="dest">This is a new paragraph
方案一便是利用:target偽類來實現Tab切換
HTML結構如下
<dl>
<dt class="tab
<dd id="a" class="content
Content A
</dd>
<dt class="tab
<dd id="b" class="content
Content B
</dd>
<dt class="tab
<dd id="c" class="content
Content C
</dd>
<dt class="tab
<dd id="d" class="content
Content D
</dd>
</dl>
使用該結構的一個好處在於缺少CSS時依然可以清晰的閱讀內容
關鍵的CSS代碼如下
dd{
padding:
/*隱藏Tab的內容*/
display:none;
margin
}
dd:target{
position: absolute;
/*顯示Tab的內容*/
display:block;
}
/*給Tab以及相應的內容設置相同的背景色*/
background: #CCFF
}
background: #CCFFFF;
}
background: #FFFF
}
background: #FFCCFF;
}
使用CSS方案的一個弊端在於不易區分哪個Tab是當前選中的
方案二: 純錨點
方案二的原理很簡單
具體的HTML結構如下
<ul id="tab_nv">
<li class="tab
<li class="tab
<li class="tab
<li class="tab
</ul>
<div id="tab_content">
<div id="a
Content A
</div>
<div id="b
Content B
</div>
<div id="c
Content C
</div>
<div id="d
Content D
</div>
</div>
由於和方案一的原理不一樣
關鍵的CSS代碼如下
/*給Tab Content容器設置高度*/
#tab_content{
height:
overflow: hidden;
}
/*給每個Tab Content定高度
#tab_content
padding:
height:
overflow: hidden;
}
與方案一一樣
總結
From:http://tw.wingwit.com/Article/program/PHP/201311/21019.html