ホームページ > 記事 > ウェブフロントエンド > DIV+CSS_html/css_WEB-ITnose によって生成された 3 つのシンプルでクラシックかつ効率的なタブ ナビゲーションの簡単な分析
Web ページにタブを適用すると、Web ページがよりコンパクトに表示され、AJAX テクノロジーと組み合わせることで、限られたスペースでより多くのコンテンツをページに表示できるようになります。この記事では主に、いくつかの単純なタブ効果 (スライディング ドアや AJAX を含まない) の実装を例とともに紹介します。画像はありませんが、互換性が高く、誰もが直接使用するのに便利です。 最初の形式: 表示スタイルを変更することで実装されます。これは非常に一般的なため、詳細は説明しません。
<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>2 番目の形式: この構造はより複雑です。相対レイヤー (.menu1box) を外側に追加し、オーバーフロー非表示を設定し、タブ (#menu1) を絶対位置に設定し、レイヤー ポインターを 1 (z-index:1 ; ) に設定します。 )、下のメインブロック(.main1box)の高さが1pxでカバーできるようにします。メイン ブロックの境界線を 1 ピクセルの黒い境界線に設定し、上部マージン (margin-top) を -1 ピクセルに設定して、上部の境界線がタブの下に広がるようにします。タブ項目(li)の背景を白に変更すると、メインエリアの上端の一部を隠すことができます。この効果が得られます。
<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>JS コードの最初と 2 番目の形式:
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"; /*确定主区域显示哪一个对象*/}}第三种形式: 这也是一种不常用的方式,加一个相对层(.menu2box),利用一个背景层(#tip2)定位,通过改变层的左距离(left)实现效果。<pre class="brush: html; gutter: true; first-line: 1; highlight: []; html-script: false"><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>