CSSでプロセスナビゲーション効果を実現する(3つの方法)

CSSでプロセスナビゲーション効果を実現する(3つの方法)

CSS によりプロセスナビゲーション効果を実現します。具体的な内容は以下のとおりです。

::tip オンライン プロセス ナビゲーション効果には純粋な CSS を使用します。 この記事では、フレックスレイアウトを統一的に採用していますが、他のレイアウトを使用しても実現できます。コア原則は変わりません:::

## 方法 1: 切り取り この方法は IE ではサポートされていません

clip-path: polygon() を使用して三角形を直接描画します。計算する必要があるのは、おおよそのパーセンテージだけです。

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <meta name="ビューポート" content="width=デバイス幅">
        <スタイル>
            .nav-box {
                ディスプレイ: フレックス;
                リストスタイル: なし;
                フォントサイズ: 14px;
            }
            .nav-box li {
                空白: ラップなし;
                色: #019fe9;
                背景: #edf9ff;
                カウンター増分: listCounter;
                クリップパス: ポリゴン(87% 0, 100% 50%, 87% 100%, 0 100%, 13% 50%, 0 0);
                行の高さ: 40px;
                パディング: 0 25px;
                右マージン: -10px;
            }
            .nav-box li::before {
                コンテンツ: counter(listCounter) "-";
            }
            .nav-box .active {
                色: #fcfefe;
                背景: #009fe9;
            }
            .nav-box .active ~ li {
                色: #8e8e8e;
                背景: #ebedf0;
            }
        </スタイル>
    </head>
    <本文>
        <!-- コンテナ -->
        <ol class="nav-box">
            <li><a href="">ルールの説明</a></li>
            <li><a href="">イベントに参加する</a></li>
            <li class="active" aria-current="true"><a href="">抽選に参加する</a></li>
            <li><a href="">賞品の配布</a></li>
            <li><a href="">結果を表示</a></li>
        </ol>
    </本文>
</html>

## 方法 2: 転位を使用する

flex + transform : skewX(); は ie9+ でプレフィックス -ms- を実装します + このメソッドは before と after も完全に活用します。 + 原則 1 --- before + after を使用して上半分と下半分に分割します <Badge text="[このメソッドには、最初の末尾を別々に完了する必要があるという欠陥があります]" type="warn"/> + 原則 2 --- before + after を使用して左半分と右半分に分割します <Badge text="[このメソッドは、最初の before または after のみを処理して、最初の問題を回避する]" type="success"/>

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <meta name="ビューポート" content="width=デバイス幅">
       <スタイルスコープ>
            .nav-box {
                ディスプレイ: フレックス;
                リストスタイル: なし;
                フォントサイズ: 14px;
            }
            .nav-box li {
                空白: ラップなし;
                色: #019fe9;
                パディング: 0 15px 0 25px;
                行の高さ: 40px;
                左マージン: 3px;
                位置: 相対的;
                zインデックス: 99;
            }
            .nav-box li:最初の子{
                背景: #edf9ff;
                右マージン: 7px;
            }
            .nav-box .active:first-child{
                背景: #019fe9;
            }
            .nav-box li:first-child::before,
            .nav-box li:first-child::after{
                左: 7px;
            }
            .nav-box li::before,
            .nav-box li::after {
                コンテンツ: "";
                位置: 絶対;
                左: 0;
                高さ: 50%;
                幅: 100%;
                背景: #edf9ff;
                Zインデックス: -1;
            }
            .nav-box li::before {
                上: 0;
                変換: skew(30deg);
            }
            .nav-box li::after {
                下部: 0;
                変換: skew(-30deg);
            }
            .nav-box .active {
                色: #d7effb;
            }
            .nav-box .active::before,
            .nav-box .active::after {
                背景: #009fe9;
            }
            .active ~ li {
                色: #909091;
            }
            .active ~ li::before、
            .active ~ li::after {
                背景: #ebedf0;
            }
        </スタイル>
    </head>
    <本文>
        <!-- コンテナ -->
        <ol class="nav-box">
            <li class="active">1-ルールの説明</li>
            <li>2- 活動に参加する</li>
            <li>3- 抽選に参加する</li>
            <li>4- 賞品の配布</li>
            <li>5-参加結果</li>
        </ol>
    </本文>
</html>

## 方法 3: 境界線の三角形

前面と背面の三角形を生成するには、border を使用します。欠点は、インデックスを自分で定義する必要があることです。CSS カウンターはラベルなしでは使用できません。

<!DOCTYPE html>
<html>
<ヘッド>
  <メタ文字セット="utf-8">
  <meta name="ビューポート" content="width=デバイス幅">
  <スタイル>
    .nav-box{
        高さ:40px;
        行の高さ:40px;
        リストスタイル: なし;
        パディング:0;
        ディスプレイ:フレックス;
        フォントサイズ:14px;
        オーバーフロー: 非表示;
    }
    .nav-box li{
        パディング:0 10px 0 10px;
        右マージン: 18px;
        空白: ラップなし;
        位置:相対;
        色:#019fe9;
        背景:#edf9ff;
    }
    /* 三角形 */
    .nav-box li:before、.nav-box li:after{
        コンテンツ:'';
        位置:絶対;
        幅: 0;
        高さ: 0;
    }
    .nav-box li:before{
        右: -16px;
        境界線: 透明な実線;
        境界線の幅: 20px 0 20px 16px;
        左境界線の色:#edf9ff;
        zインデックス:2;
    }
    /* 白線 */
    .nav-box li:after{
        上: -3px;
        左: -18px;
        境界線: 実線 #edf9ff;
        境界線の幅: 23px 0 23px 18px;
        左境界線の色: 透明;
        zインデックス: 1;
    }
    .nav-box .active{
        色: #fff;
        背景:#009fe9;
    }
    .nav-box .active ~ li{
        色:#8e8e8e;
        背景:#ebedf0;
    }
    .nav-box .active:before{
        左境界線の色:#009fe9;
    }
    .nav-box .active:after{
        境界線の色: #009fe9;
        左境界線の色: 透明;
    }
    .nav-box .active ~ li:before{
        左境界線の色:#ebedf0;
    } 
    .nav-box .active ~ li:after{
        境界線の色: #ebedf0;
        左境界線の色: 透明;
    }
  </スタイル>
</head>
<本文>
    <ol class="nav-box">
        <li>1-ルールの説明</li>
        <li>2- 活動に参加する</li>
        <li class="active">3- 抽選に参加する</li>
        <li>4- 賞品の配布</li>
        <li>5-参加結果</li>
    </ol>
</本文>
</html>

要約する

上記は、エディターが紹介したプロセスナビゲーション効果(3つの方法)のCSS実装です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。エディターがすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

<<:  MySQL 分離列とプレフィックスインデックスの使用の概要

>>:  Docker ベースの ELK ログ システムを構築する方法

推薦する

Linux で MySQL データベースのデータ ファイル パスを変更する手順

rpm インストール方法を使用して MySQL データベースをインストールした後、データ ファイルの...

Centos7 で crontab + シェル スクリプトによる定期的な自動ファイル削除の問題を解決する

問題の説明:最近、rsyncで毎回同期するデータ量が多いが、データベースのbakファイルを保持する必...

MySQL ストレステストツールの使い方

1. MySQL 独自のストレステストツール - Mysqlslap mysqlslap は、mys...

Linux に MySql 5.7.21 をインストールするための詳細な手順

序文Linux で最も広く使用されているデータベースは MySQL です。この記事では、Linux ...

mysql5.7.14 解凍版インストールと設定方法 グラフィックチュートリアル (win10)

Win10はmysql5.7の解凍版をインストールします。参考までに、具体的な内容は次のとおりです...

要素の読み込み効果を実現するための純粋なHTML+CSS

これは Element UI の読み込みコンポーネントのエフェクトです。かっこいいですね。実装してみ...

Linux でのマルチスレッドにおけるフォークの紹介

目次質問:ケース(1)子スレッドを作成する前にフォークするケース(2)子スレッドを作成した後にフォー...

フォームタグの Enctype 属性とその応用例の紹介

Enctype : ブラウザがデータをサーバーに送り返すときに使用するエンコーディングのタイプを指定...

MySQL データベースの大文字と小文字の区別の問題

MySQL では、データベースはデータ ディレクトリ内のディレクトリに対応します。データベース内の各...

シンプルな時計を実装するJavaScript

この記事では、JavaScriptでシンプルな時計を実装するための具体的なコードを参考までに紹介しま...

VMware Workstationはデバイス/資格情報ガードと互換性がありません

仮想マシンをインストールするときに、「VMware ワークステーションはデバイス/資格情報ガードと互...

VueでTypescriptの設定手順を使用する

目次1. TypeScriptが古いVueプロジェクトに導入されるVue+Typescript プロ...

Vue が配列の変更を監視できない問題の解決方法

目次1. Vueリスナー配列2. vueが配列の変更を監視できない状況1. Vueリスナー配列Vue...

mysql5.7.19 winx64 インストールおよび構成方法のグラフィック チュートリアル (win10)

mysql 5.7.19 winx64のインストールチュートリアルは以下のように記録され、みんなと...