Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Kurze Analyse von drei empfohlenen einfachen Tab-Navigationen (Webseiten-Tabs)_Erfahrungsaustausch

PHP中文网
Freigeben: 2016-05-16 12:07:45
Original
2129 Leute haben es durchsucht

Durch das Anwenden von Tabs auf eine Webseite kann die Webseite kompakter erscheinen, und durch die Kombination mit der AJAX-Technologie kann die Seite mehr Inhalte auf begrenztem Raum anzeigen. In diesem Artikel wird hauptsächlich die Implementierung mehrerer einfacher Tab-Effekte (ohne Schiebetüren und AJAX) vorgestellt, mit Beispielen, ohne Bilder, guter Kompatibilität und bequemer direkter Verwendung für jedermann.
Die erste Form: wird durch Ändern des Anzeigestils erreicht. Dies kommt sehr häufig vor, daher werde ich nicht auf Details eingehen.

<div id="tabs0">  
<ul class="menu0" id="menu0">  
  <li onclick="setTab(0,0)" class="hover">新闻</li>  
  <li onclick="setTab(0,1)">评论</li>  
  <li onclick="setTab(0,2)">技术</li>  
  <li onclick="setTab(0,3)">点评</li>  
</ul>  
<div class="main" id="main0">  
  <ul class="block"><li>新闻列表</li></ul>  
  <ul><li>评论列表</li></ul>  
  <ul><li>技术列表</li></ul>  
  <ul><li>点评列表</li></ul>  
</div>  
</div>
Nach dem Login kopieren



Die zweite Form: Diese Struktur ist komplizierter. Fügen Sie außen eine relative Ebene (.menu1box) hinzu, legen Sie das Ausblenden des Überlaufs fest und blenden Sie die Registerkarte aus ( #menu1) ist auf absolute Positionierung eingestellt und der Ebenenzeiger ist auf 1 (z-index:1;) gesetzt, sodass die Höhe des unteren Hauptblocks (.main1box) um 1 Pixel abgedeckt werden kann. Stellen Sie den Rand des Hauptblocks auf einen 1 Pixel großen schwarzen Rand und den oberen Rand (margin-top) auf -1 Pixel ein, sodass der obere Rand bis unter die Registerkarte reicht. Wenn Sie den Hintergrund eines Tab-Elements (li) in Weiß ändern, können Sie einen Teil des oberen Randes des Hauptbereichs verdecken. Dieser Effekt wird erreicht.

<div id="tabs1">  
<div class="menu1box">  
  <ul id="menu1">  
   <li class="hover" onmouseover="setTab(1,0)"><a href="#">新闻</a></li> 
   <li onmouseover="setTab(1,1)"><a href="#">评论</a></li>  
   <li onmouseover="setTab(1,2)"><a href="#">技术</a></li>  
   <li onmouseover="setTab(1,3)"><a href="#">点评</a></li>  
  </ul>  
</div>  
<div class="main1box">  
  <div class="main" id="main1">  
   <ul class="block"><li>新闻列表</li></ul>  
   <ul><li>评论列表</li></ul>  
   <ul><li>技术列表</li></ul>  
   <ul><li>点评列表</li></ul>  
  </div>  
</div>  
</div>
Nach dem Login kopieren


Die erste und zweite Form des JS-Codes:

function setTab(m,n){  
var tli=document.getElementById("menu"+m).getElementsByTagName("li"); /*获取选项卡的LI对象*/  
var mli=document.getElementById("main"+m).getElementsByTagName("ul"); /*获取主显示区域对象*/  
for(i=0;i<tli.length;i++){  
  tli[i].className=i==n?"hover":""; /*更改选项卡的LI对象的样式,如果是选定的项则使用.hover样式*/  
  mli[i].style.display=i==n?"block":"none"; /*确定主区域显示哪一个对象*/  
}  
}
Nach dem Login kopieren

Die dritte Form: Dies ist auch eine ungewöhnliche Methode. Fügen Sie einen Verwandten hinzu Ebene (.menu2box), verwenden Sie eine Hintergrundebene (#tip2) zur Positionierung und erzielen Sie den Effekt, indem Sie den linken Abstand (links) der Ebene ändern.

<div id="tabs2">  
<div class="menu2box">  
  <div id="tip2"></div>  
  <ul id="menu2">  
   <li class="hover" onmouseover="nowtab(2,0)"><a href="#">新闻</a></li> 
   <li onmouseover="nowtab(2,1)"><a href="#">评论</a></li>  
   <li onmouseover="nowtab(2,2)"><a href="#">技术</a></li>  
   <li onmouseover="nowtab(2,3)"><a href="#">点评</a></li>  
  </ul>  
</div>  
  <div class="main" id="main2">  
新闻内容  
</div>  
</div>
Nach dem Login kopieren

Wirkungsdemonstration:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" /> 
<title>简洁Tab</title> 
<style type="text/css"> 
<!-- 
body,div,ul,li{ 
 margin:0 auto; 
 padding:0; 
} 
body{ 
 font:12px "宋体"; 
 text-align:center; 
} 
a:link{ 
 color:#00F; 
 text-decoration:none; 
} 
a:visited { 
 color: #00F; 
 text-decoration:none; 
} 
a:hover { 
 color: #c00; 
 text-decoration:underline; 
} 
ul{ 
 list-style:none; 
} 
.main{ 
 clear:both; 
 padding:8px; 
 text-align:center; 
} 


/*第一种形式*/ 
#tabs0 { 
 height: 200px; 
 width: 400px; 
 border: 1px solid #cbcbcb; 
 background-color: #f2f6fb; 
} 
.menu0{ 
 width: 400px; 
} 
.menu0 li{ 
 display:block; 
 float: left; 
 padding: 4px 0; 
 width:100px; 
 text-align: center; 
 cursor:pointer; 
 background: #FFFFff; 
} 
.menu0 li.hover{ 
 background: #f2f6fb; 
} 
#main0 ul{ 
 display: none; 
} 
#main0 ul.block{ 
 display: block; 
} 


/*第二种形式*/ 
#tabs1{ 
 text-align:left; 
 width:400px; 
} 
.menu1box{ 
 position:relative; 
 overflow:hidden; 
 height:22px; 
 width:400px; 
 text-align:left; 
} 
#menu1{ 
 position:absolute; 
 top:0; 
 left:0; 
 z-index:1; 
} 
#menu1 li{ 
 float:left; 
 display:block; 
 cursor:pointer; 
 width:72px; 
 text-align:center; 
 line-height:21px; 
 height:21px; 
} 
#menu1 li.hover{ 
 background:#fff; 
 border-left:1px solid #333; 
 border-top:1px solid #333; 
 border-right:1px solid #333; 
} 
.main1box{ 
 clear:both; 
 margin-top:-1px; 
 border:1px solid #333; 
 height:181px; 
 width:400px; 
} 
#main1 ul{ 
 display: none; 
} 
#main1 ul.block{ 
 display: block; 
} 

/*第三种形式*/ 
.menu2box{ 
 position:relative; 
 overflow:hidden; 
 height:22px; 
 width:400px; 
 text-align:left; 
 background: #FFFFff; 
} 
#tabs2 { 
 height: 200px; 
 width: 400px; 
 border: 1px solid #cbcbcb; 
 background-color: #f2f6fb; 
} 
#tip2{ 
 position:absolute; 
 top:0; 
 left:0; 
 height:22px; 
 line-height:22px; 
 z-index:0; 
 width:100px; 
 background: #f2f6fb; 
} 
#menu2{ 
 position:absolute; 
 top:0; 
 left:0; 
 z-index:1; 
} 
#menu2 li{ 
 display:block; 
 float: left; 
 padding: 4px 0; 
 width:100px; 
 text-align: center; 
 cursor:pointer; 
} 
--> 
</style> 
<script> 
<!-- 
/*第一种形式 第二种形式 更换显示样式*/ 
function setTab(m,n){ 
 var tli=document.getElementById("menu"+m).getElementsByTagName("li"); 
 var mli=document.getElementById("main"+m).getElementsByTagName("ul"); 
 for(i=0;i<tli.length;i++){ 
  tli[i].className=i==n?"hover":""; 
  mli[i].style.display=i==n?"block":"none"; 
 } 
} 

/*第三种形式 利用一个背景层定位*/ 
var m3={0:"",1:"评论内容",2:"技术内容",3:"点评内容"} 
function nowtab(m,n){ 
 if(n!=0&&m3=="")m3=document.getElementById("main2").innerHTML; 
 document.getElementById("tip"+m).style.left=n*100+&#39;px&#39;; 
 document.getElementById("main2").innerHTML=m3[n]; 
} 
//--> 
</script> 
</head> 
<body> 

 

 
<!--第一种形式--> 
<div id="tabs0"> 
 <ul class="menu0" id="menu0"> 
  <li onclick="setTab(0,0)" class="hover">新闻</li> 
  <li onclick="setTab(0,1)">评论</li> 
  <li onclick="setTab(0,2)">技术</li> 
  <li onclick="setTab(0,3)">点评</li> 
 </ul> 
 <div class="main" id="main0"> 
  <ul class="block"><li>新闻列表</li></ul> 
  <ul><li>评论列表</li></ul> 
  <ul><li>技术列表</li></ul> 
  <ul><li>点评列表</li></ul> 
 </div> 
</div> 

<!--第二种形式--> 
<div id="tabs1"> 
 <div class="menu1box"> 
  <ul id="menu1"> 
   <li class="hover" onmouseover="setTab(1,0)">新闻</li> 
   <li onmouseover="setTab(1,1)">评论</li> 
   <li onmouseover="setTab(1,2)">技术</li> 
   <li onmouseover="setTab(1,3)">点评</li> 
  </ul> 
 </div> 
 <div class="main1box"> 
  <div class="main" id="main1"> 
   <ul class="block"><li>新闻列表</li></ul> 
   <ul><li>评论列表</li></ul> 
   <ul><li>技术列表</li></ul> 
   <ul><li>点评列表</li></ul> 
  </div> 
 </div> 
</div> 



 

 

<!--第三种形式--> 
<div id="tabs2"> 
 <div class="menu2box"> 
  <div id="tip2"></div> 
  <ul id="menu2"> 
   <li class="hover" onmouseover="nowtab(2,0)">新闻</li> 
   <li onmouseover="nowtab(2,1)">评论</li> 
   <li onmouseover="nowtab(2,2)">技术</li> 
   <li onmouseover="nowtab(2,3)">点评</li> 
  </ul> 
 </div> 
  <div class="main" id="main2"> 
新闻内容 
 </div> 
</div> 

</body> 
</html>
Nach dem Login kopieren

Das Obige ist eine kurze Analyse von drei empfohlenen einfachen Tab-Navigation (Webseiten-Tabs). _ Für Inhalte zum Erfahrungsaustausch achten Sie bitte auf die chinesische PHP-Website (m.sbmmt.com), um weitere verwandte Inhalte zu erhalten!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!