CSS がタブ ページ切り替えを実装する方法に関するコード共有

小云云
リリース: 2018-02-02 10:33:43
オリジナル
1663 人が閲覧しました

この記事では、タブページ切り替えを実装するためのCSSを使用したサンプルコードを主に紹介します。必要な方は参考にしていただければ幸いです。助けます。

1.hover

その親要素.navIに移動すると、マウスのホバー状態がトリガーされ、親要素に追加されるスタイルはposition:relative;z-index:1;になります。これにより、レベルの Z インデックスが増加します。子要素のナビゲーション内容の階層競争では、「親要素よりも子の方が価値がある」ということになり、親要素の方が上位にあれば、そのナビゲーション内容が重なった状態で上位に表示されます


<style>
body,p{margin: 0;}
h2{margin: 0;font-size:100%;}
ul{margin: 0;padding: 0;list-style: none;}   
a{text-decoration: none;color:inherit;}
.box{width: 572px;border: 1px solid #999;overflow: hidden;}
.nav{margin-left: -1px;font: 14px "微软雅黑";overflow: hidden;background-color: #f1f1f1;}
.navI{float: left;width: 33.333%;box-sizing: border-box;}
.navI-tit{line-height: 40px;text-align: center;cursor: pointer;border-left: 1px solid #cecece;border-bottom: 1px solid #cecece;}
.navI-txt{width: 572px;height:200px;text-indent:2em;line-height: 2;background:#fff;}
.ml1{margin-left: -100%;}
.ml2{margin-left: -200%;}
.navI_active{position:relative;z-index:1;}
/*重点代码*/
.navI:hover{position:relative;z-index:1;}
.navI:hover .navI-tit{background:#fff;border-bottom:none;}
</style>

<p class="box">
    <ul class="nav">
        <li class="navI navI_active">
            <h2 class="navI-tit">课程</h2>
            <p class="navI-txt">课程内容</p>
        </li>
        <li class="navI">
            <h2 class="navI-tit">学习计划</h2>
            <p class="navI-txt ml1">学习计划内容</p>
        </li>
        <li class="navI">
            <h2 class="navI-tit">技能图谱</h2>
            <p class="navI-txt ml2">技能图谱内容</p>
        </li>
    </ul>   
</p>
ログイン後にコピー

2. アンカーポイント

ナビゲーションタイトルをクリックすると、ターゲットの疑似クラスがトリガーされ、対応するナビゲーションコンテンツのz-indexが変更され、現在のナビゲーションコンテンツが3つのナビゲーションの中で優先されます。同時に、現在のナビゲーション タイトルのスタイルが変更されます。


3.radio

ナビゲーション タイトルをクリックすると、チェックされた疑似クラスがトリガーされ、対応するナビゲーション コンテンツの Z-index が変更され、3 つのナビゲーション コンテンツのうち最上位のレイヤーが表示されるようになります。同時に、現在のナビゲーション タイトルのスタイルを変更します。

<style>
body,p{margin: 0;}
h2{margin: 0;font-size:100%;}
ul{margin: 0;padding: 0;list-style: none;}   
a{text-decoration: none;color:inherit;}
.box{width: 572px;border: 1px solid #999;overflow: hidden;}
.nav{margin-left: -1px;font: 14px "微软雅黑";overflow: hidden;background-color: #f1f1f1;}
.navI{float: left;width: 33.333%;box-sizing: border-box;position:relative;}
.navI-tit{position:absolute;top:0;left:0;right:0;box-sizing: border-box;line-height: 40px;height: 40px;text-align: center;cursor: pointer;border-left: 1px solid #cecece;border-bottom: 1px solid #cecece;}
.navI-txt{width: 572px;height:200px;margin-top: 40px;text-indent:2em;line-height: 2;background:#fff;}
.ml1{margin-left: -100%;}
.ml2{margin-left: -200%;}
.navI_active{z-index:1;}
/*重点代码*/
.navI-txt:target{position:relative;z-index:1;}
.navI-txt:target ~ .navI-tit{background:#fff;border-bottom:none;}
</style>
<p class="box">
    <ul class="nav">
        <li class="navI navI_active">
            <p class="navI-txt" id="kc">课程内容</p>
            <a class="navI-tit" href="#kc">课程</a>
        </li>
        <li class="navI">
            <p class="navI-txt ml1" id="xx">学习计划内容</p>
            <a class="navI-tit" href="#xx">学习计划</a>
        </li>
        <li class="navI">
            <p class="navI-txt ml2" id="jn">技能图谱内容</p>
            <a class="navI-tit" href="#jn">技能图谱</a>
        </li>
    </ul>   
</p>
ログイン後にコピー

関連する推奨事項:


WeChat アプレットのタブ ページ切り替え更新データの詳細な紹介


js によるブラウザーのタブ ページ切り替えの監視例

jQuery テクノロジを使用してタブ ページ インターフェイス 2_jquery を実装する

以上がCSS がタブ ページ切り替えを実装する方法に関するコード共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート