What’s special about Google Chrome’s tabs is that the activated tab can “eat” part of the inactive tab next to it. This poses some challenges with CSS. As shown below:
Of course, the requirement is that only two images can be used, and the width is adaptive. The images used:
Normal tab background:
Activated tab background:
Code:
<!DOCTYPE HTML> <head> <title>google chrome tab</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> /*simple reset*/ *{padding:0px;margin:0px;} /*clearfix*/ .clearfix:after {content: ".";display: block;height: 0;clear: both;visibility: hidden;} .clearfix {display: inline-block;} /* for IE/Mac */ #tab { font-size:12px;margin-left:40px;_margin-left:60px;}/*由于li有margin-left:-15px;所以tab的margin-left>15px;*/ /*margin-left:-15px; 让当前元素“缩进”到前一个元素的右侧*/ #tab li{float:left; display:block; height:26px;position:relative;margin-left:-15px;_margin-left:-30px;z-index:1;} #tab li a{color:#000; text-decoration:none; display:block;_float:left;_position:relative;_left:15px; height:26px;padding-left:30px;padding-right:15px; line-height:26px;margin-right:15px; background:url(normal.gif) no-repeat left top;} /*i置于右边*/ #tab li i{position:absolute; right:0px;top:0px; width:15px;height:26px; z-index:3;background:url(normal.gif) no-repeat right top;} /*当前激活的li在非激活之上(z-index)*/ #tab .active{z-index:2;top:1px; } #tab .active a{background:url(active.gif) no-repeat left top; } #tab .active i{background:url(active.gif) no-repeat -197px top;} .content{clear:both;border:solid 1px #bcc5d1;} </style> </head> <body> <ul id="tab"> <li><a href="http://www.php1.cn/"> <li class="active"><a href="http://www.php1.cn/"> <li><a href="http://www.php1.cn/"></ul> <div id="" class="content"> content </div> <script type="text/javascript"> //添加事件 var addHandler = window.addEventListener? function(elem,event,handler){elem.addEventListener(event,handler,false);}: function(elem,event,handler){elem.attachEvent("on"+event,handler);}; //实现.active切换 addHandler(window,"load",function(){ var arrLi = document.getElementById("tab").getElementsByTagName("li"); for (var i=0,l=arrLi.length;i<l ;i++ ){ (function(index){ addHandler(arrLi[index],"click",function(e){ var evt = (window.event||e),cur=evt.target||evt.srcElement; for (var j=0,jl=arrLi.length;j<jl ;j++ ){ arrLi[j].className=""; } ((cur.tagName.toLowerCase()=="a")?cur.parentNode:cur).className="active"; try{cur.blur();cur.parentNode.blur();}catch(e){} }); })(i); } }); </script> </body> </html>