[CSS+JS]同一页面可以重复使用的选项卡收藏

本文介绍了一种选项卡的设计与实现方法,通过HTML和CSS构建布局,并使用JavaScript实现交互效果。选项卡包含日志、相册、分享和群组四个部分,展示了不同类型的展示效果。
None.gif <! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
None.gif
< html  xmlns ="http://www.w3.org/1999/xhtml" >< head >
None.gif
None.gif
None.gif
< meta  http-equiv ="Content-Type"  content ="text/html; charset=GB2312" >
None.gif
< title > 选项卡 </ title >
ExpandedBlockStart.gifContractedBlock.gif
< style  type ="text/css" > dot.gif
InBlock.gif<!--
ExpandedSubBlockStart.gifContractedSubBlock.gif
/**//* 初始化 */
ExpandedSubBlockStart.gifContractedSubBlock.gifbody 
{dot.gif}{
InBlock.giffont
: 12px/1 "宋体", SimSun, serif;
InBlock.gifbackground
:#fff;
InBlock.gifcolor
:#000;
ExpandedSubBlockEnd.gif
}

InBlock.giful,
InBlock.gifli,
InBlock.gifdl,
InBlock.gifdt,
ExpandedSubBlockStart.gifContractedSubBlock.gifdd 
{dot.gif}{
InBlock.gifmargin
:0;
ExpandedSubBlockStart.gifContractedSubBlock.gifpadding
:0;  /**//* 清除浏览器默认的margin和padding值 */
ExpandedSubBlockEnd.gif
}

InBlock.giful,
ExpandedSubBlockStart.gifContractedSubBlock.gifli 
{dot.gif}{
ExpandedSubBlockStart.gifContractedSubBlock.giflist-style
:none outside;  /**//* 清除浏览器中列表项默认的占位 */
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif
{dot.gif}{
InBlock.giftext-decoration
:none;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gifimg 
{dot.gif}{
InBlock.gifborder
:0;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif
/**//* 选项卡整体外观定义 */
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList 
{dot.gif}{
InBlock.gifwidth
:400px;
InBlock.gifheight
:160px;
InBlock.gifoverflow
:hidden;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabBox 
{dot.gif}{
InBlock.gifheight
:100%;
InBlock.gifposition
:relative;
InBlock.gifbackground
:#09c;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabBox li 
{dot.gif}{
InBlock.giffloat
:left;
InBlock.gifwidth
:25%;
InBlock.giftext-align
:center;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList h4 
{dot.gif}{
InBlock.gifmargin
:0;
InBlock.gifheight
:26px;
InBlock.giffont-size
:1em;
InBlock.gifline-height
:22px;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList h4 a 
{dot.gif}{
InBlock.gifcolor
:#039;
InBlock.giffont-weight
:normal;
InBlock.gifdisplay
:block;
InBlock.gifbackground
:#bfeafd url(img/tabList_btn.png) no-repeat;
InBlock.gifpadding-left
:5px;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList h4 a span 
{dot.gif}{
InBlock.gifdisplay
:block;
InBlock.gifbackground
:url(img/tabList_btn.png) no-repeat top right;
InBlock.gifpadding-right
:5px;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList h4 a:hover,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabOn h4 a
{dot.gif}{
InBlock.gifbackground-position
:0 -50px;
ExpandedSubBlockEnd.gif
}
 
InBlock.gif.tabList h4 a:hover span,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabOn h4 a span 
{dot.gif}{
InBlock.gifbackground-position
:right -50px;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox li
{dot.gif}{
InBlock.gifwidth
:auto;
InBlock.gifmargin-top
:0;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox 
{dot.gif}{
InBlock.gifwidth
:390px;
InBlock.gifheight
:130px;
InBlock.gifborder
:1px solid #069;
InBlock.giftext-align
:left;
InBlock.gifoverflow
:hidden;
InBlock.gifbackground
:#fff;
InBlock.gifposition
:absolute;
InBlock.giftop
:22px;
InBlock.gifleft
:0;
InBlock.gifdisplay
:none;
InBlock.gifmargin
:4px;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList li:hover .tabContentBox,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabOn .tabContentBox 
{dot.gif}{
InBlock.gifdisplay
:block;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif
/**//* 以下是对各项内容的CSS定义 */
InBlock.gif.tabList .tabContentBox .blog,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox .group 
{dot.gif}{
InBlock.gifcolor
:#999;
InBlock.gifline-height
:2em;
InBlock.gifmargin
:5px;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList .tabContentBox .blog dt,
InBlock.gif.tabList .tabContentBox .group dt,
InBlock.gif.tabList .tabContentBox .blog dd,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox .group dd
{dot.gif}{
InBlock.giffloat
:left;
InBlock.gifborder-bottom
: 1px dotted #9cf;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList .tabContentBox .blog dt,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox .group dt 
{dot.gif}{
InBlock.gifwidth
:60%;
InBlock.gifwhite-space
:nowrap;
InBlock.gifoverflow
:hidden;
InBlock.gifclear
:left;
InBlock.giffont-size
:1.1em;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList .tabContentBox .blog dt a,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox .group dt a 
{dot.gif}{
InBlock.gifcolor
:#039;
InBlock.gifdisplay
:block;
InBlock.gifmargin-left
:5px;
InBlock.gifpadding-left
:12px;
InBlock.gifbackground
: url(img/tabList_icon1.png) no-repeat 5px 11px;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList .tabContentBox .blog dt a:hover,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox .group dt a:hover 
{dot.gif}{
InBlock.gifcolor
:#f90;
InBlock.gifbackground-position
:5px -19px;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList .tabContentBox .blog dd,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox .group dd 
{dot.gif}{
InBlock.gifcolor
:#0cf;
InBlock.gifwidth
:20%;
InBlock.giffloat
:left;
InBlock.gifwhite-space
:nowrap;
InBlock.gifoverflow
:hidden;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList .tabContentBox .blog dd a,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox .group dd a 
{dot.gif}{
InBlock.gifcolor
:#069;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList .tabContentBox .blog dd a:hover,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox .group dd a:hover 
{dot.gif}{
InBlock.gifcolor
:#f90;
ExpandedSubBlockEnd.gif
}

InBlock.gif.tabList .tabContentBox .album li,
ExpandedSubBlockStart.gifContractedSubBlock.gif.tabList .tabContentBox .share li
{dot.gif}{
InBlock.gifwidth
:24.9%;
InBlock.giffloat
:left;
InBlock.gifpadding-top
:15px;
InBlock.giftext-align
:center;
ExpandedSubBlockEnd.gif
}

ExpandedBlockEnd.gif-->
None.gif
</ style >
ExpandedBlockStart.gifContractedBlock.gif
< script  type ="text/javascript"  language ="javascript" > dot.gif
InBlock.gif
<!--
InBlock.gifwindow.onload 
= tabEffect;
InBlock.gif
function tabEffect()
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif    
var allElements = document.getElementsByTagName('*');
InBlock.gif    
for (var i=0; i<allElements.length; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
if (allElements[i].className.indexOf('tabOption'>= 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            allElements[i].onmouseover 
= mouseOver;
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedSubBlockEnd.gif}

InBlock.gif
function mouseOver()
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif    tabList 
= this.parentNode;
InBlock.gif    tabOptions 
= tabList.getElementsByTagName("li");
InBlock.gif    
for (var i=0; i<tabOptions.length; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
if (tabOptions[i].className.indexOf('tabOption'>= 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            tabOptions[i].className 
= "tabOption";
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

InBlock.gif    
this.className += " tabOn";
ExpandedSubBlockEnd.gif}

ExpandedBlockEnd.gif
-->
None.gif
</ script >
None.gif
</ head >< body >
None.gif
< div  class ="tabList"  id ="tabList1" >
None.gif  
< ul  class ="tabBox" >
None.gif    
< li  class ="tabOption tabOn" >< h4 >< href ="http://www.ddcat.net/blog/"  title ="单击,跳转到所有[日志]列表" >< span > 日志 </ span ></ a ></ h4 >
None.gif      
< div  class ="tabContentBox" >
None.gif      
< dl  class ="tabContent blog" >
None.gif        
< dt >< href ="http://www.ddcat.net/1"  title ="日志标题:优秀广告设计,不服不行!" > 优秀广告设计,不服不行! </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="作者:QUESTER" > QUESTER </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif        
< dt >< href ="http://www.ddcat.net/2"  title ="日志标题:Photoshop 的真人动漫效果" > Photoshop 的真人动漫效果 </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="作者:snl" > snl </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif        
< dt >< href ="http://www.ddcat.net/3"  title ="日志标题:网站内容结构化探讨" > 网站内容结构化探讨 </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="作者:豆猫" > 豆猫 </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif        
< dt >< href ="http://www.ddcat.net/4"  title ="日志标题:CSSzengarden的代码里还有什么" > CSSzengarden的代码里还有什么 </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="作者:greengnn" > greengnn </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif        
< dt >< href ="http://www.ddcat.net/5"  title ="日志标题:某些人眼中的色彩" > 某些人眼中的色彩 </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="作者:amethyst01" > amethyst01 </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif      
</ dl >
None.gif      
</ div >  
None.gif    
</ li >
None.gif    
< li  class ="tabOption" >< h4 >< href ="http://www.ddcat.net/album/"  title ="单击,跳转到所有[相册]列表" >< span > 相册 </ span ></ a ></ h4 >
None.gif      
< div  class ="tabContentBox" >
None.gif      
< ul  class ="tabContent album" >
None.gif        
< li >< href ="http://www.ddcat.net/img1"  title ="查看相册内容" >< img  src ="tab_files/cover.jpg"  alt ="封面"  title ="相册的标题"  width ="80"  height ="100" ></ a ></ li >
None.gif        
< li >< href ="http://www.ddcat.net/img1"  title ="查看相册内容" >< img  src ="tab_files/cover.jpg"  alt ="封面"  title ="相册的标题"  width ="80"  height ="100" ></ a ></ li >
None.gif        
< li >< href ="http://www.ddcat.net/img1"  title ="查看相册内容" >< img  src ="tab_files/cover.jpg"  alt ="封面"  title ="相册的标题"  width ="80"  height ="100" ></ a ></ li >
None.gif        
< li >< href ="http://www.ddcat.net/img1"  title ="查看相册内容" >< img  src ="tab_files/cover.jpg"  alt ="封面"  title ="相册的标题"  width ="80"  height ="100" ></ a ></ li >        </ ul >
None.gif      
</ div >
None.gif    
</ li >
None.gif    
< li  class ="tabOption" >< h4 >< href ="http://www.ddcat.net/share/"  title ="单击,跳转到所有[分享]列表" >< span > 分享 </ span ></ a ></ h4 >
None.gif      
< div  class ="tabContentBox" >
None.gif      
< ul  class ="tabContent share" >
None.gif        
< li >< href ="http://www.ddcat.net/img2"  title ="查看内容" >< img  src ="tab_files/photo.jpg"  alt ="封面"  title ="相册的标题"  width ="80"  height ="100" ></ a ></ li >
None.gif        
< li >< href ="http://www.ddcat.net/img2"  title ="查看内容" >< img  src ="tab_files/photo.jpg"  alt ="封面"  title ="相册的标题"  width ="80"  height ="100" ></ a ></ li >
None.gif        
< li >< href ="http://www.ddcat.net/img2"  title ="查看内容" >< img  src ="tab_files/photo.jpg"  alt ="封面"  title ="相册的标题"  width ="80"  height ="100" ></ a ></ li >
None.gif        
< li >< href ="http://www.ddcat.net/img2"  title ="查看内容" >< img  src ="tab_files/photo.jpg"  alt ="封面"  title ="相册的标题"  width ="80"  height ="100" ></ a ></ li >
None.gif      
</ ul >
None.gif      
</ div >
None.gif    
</ li >
None.gif    
< li  class ="tabOption" >< h4 >< href ="http://www.ddcat.net/group/"  title ="单击,跳转到所有[群组]列表" >< span > 群组 </ span ></ a ></ h4 >
None.gif      
< div  class ="tabContentBox" >
None.gif      
< dl  class ="tabContent group" >
None.gif        
< dt >< href ="http://www.ddcat.net/1"  title ="标题:优秀广告设计,不服不行!" > 优秀广告设计,不服不行! </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="群组:设计视觉" > 设计视觉 </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif        
< dt >< href ="http://www.ddcat.net/2"  title ="标题:Photoshop 的真人动漫效果" > Photoshop 的真人动漫效果 </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="群组:手绘爱好者" > 手绘爱好者 </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif        
< dt >< href ="http://www.ddcat.net/3"  title ="标题:网站内容结构化探讨" > 网站内容结构化探讨 </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="群组:WEB标准化" > WEB标准化 </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif        
< dt >< href ="http://www.ddcat.net/4"  title ="标题:CSSzengarden的代码里还有什么" > CSSzengarden的代码里还有什么 </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="群组:WEB标准化" > WEB标准化 </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif        
< dt >< href ="http://www.ddcat.net/5"  title ="标题:某些人眼中的色彩" > 某些人眼中的色彩 </ a ></ dt >
None.gif        
< dd  class ="name" >< href ="#11"  title ="群组:设计视觉" > 设计视觉 </ a ></ dd >
None.gif        
< dd > 2009-01-10 </ dd >
None.gif      
</ dl >
None.gif      
</ div >
None.gif    
</ li >
None.gif  
</ ul >
None.gif
</ div >
None.gif
</ body ></ html >



选项卡

转载于:https://www.cnblogs.com/cutepig/archive/2009/03/12/1410001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值