CSS 属性値正規マッチングセレクターの使い方 (ヒント)

CSS 属性値正規マッチングセレクターの使い方 (ヒント)

属性値の正規一致セレクターには 3 つの種類があります。

  • [属性^="値"]
  • [属性$="値"]
  • [属性*="値"]

これら 3 つの属性セレクターは、単語ではなく文字と一致します。アングル記号^ 、ドル記号$ 、アスタリスク*は、正規表現における特別な識別子であり、それぞれ前の一致、次の一致、任意の一致を表します。

これらのセレクターを使用すると、純粋な CSS で非常に優れた機能を作成できます。
<!-- 続き -->

ハイパーリンクの小さなアイコンとファイルタイプのグラフィックを表示します

[attr^="val"]前方一致セレクターを使用すると、 <a>要素のリンク アドレス タイプを決定し、対応する小さいアイコンを表示できます。ハイパーリンクを表示する小さいアイコンのスタイルは次のとおりです。

[href] {パディング左: 18px;}
/* リンクアドレス*/
[href^="https"],
[href^="//"] {
    背景: url("./images/link.png") 繰り返しなし 左;
}
/* ウェブページ内のアンカーリンク */
[href^="#"]
    背景: url("./images/anchor.png") 繰り返しなし 左;
}
/* 携帯電話とメール */
[href^="電話番号:"]
    背景: url("./images/tel.png") 繰り返しなし 左;
}
[href^="メール送信先:"]
    背景: url("./images/e-mail.png") 繰り返しなし 左;
}

効果

[attr$="val"]を使用し、セレクターを一致させることで、ファイルタイプの小さなアイコンを表示できます。 CSS は次のとおりです。

/* PDF ファイルを指す */
[href$=".pdf"]
    背景: url("./images/pdf.png") 繰り返しなし 左;
}
/* zipファイルをダウンロード */
[href$=".zip"] {
    背景: url("./images/zip.png") 繰り返しなし 左;
}
/* 画像リンク*/
[href$=".png"],
[href$=".gif"],
[href$=".jpg"],
[href$=".jpeg"],
[href$=".webp"]
    背景: url("./images/image.png") 繰り返しなし 左;
}

効果は以下のとおりです

CSS属性セレクタ検索フィルタリング技術

属性セレクターを使用すると、アドレス帳や都市リストなどの検索フィルタリング効果を実現できます。これによりパフォーマンスが向上し、必要なコードが少なくなります。

HTML 構造は次のとおりです。

<input type="search" id="input" placeholder="都市名またはピンインを入力してください" />
<ul>
    <li data-search="重慶市chongqing">重慶市</li>
    <li data-search="ハルビン市haerbin">ハルビン市</li>
    <li data-search="長春市changchun">長春市</li>
    <li data-search="長沙市長沙">長沙市</li>
    <li data-search="沪shanghai">上海</li>
    <li data-search="杭州市杭州">杭州市</li>
</ul>

この時点で、入力ボックスにコンテンツを入力すると、一致検証用のコードを自分で記述しなくても、入力コンテンツに基づいて CSS コードを動的に作成することで、検索と一致の効果を実現できます。

var eleStyle = document.createElement('style');
document.head.appendChild(eleStyle);
// テキスト入力ボックス input.addEventListener('input', function() {
    var 値 = this.value.trim();
    eleStyle.innerHTML = value ? '[data-search]:not([data-search*="' + value +'"]) { display: none; } ' : '';
});

以上で、CSS 属性値正規一致セレクターを賢く使う方法(コツ)についての記事は終了です。CSS 属性値正規一致に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  シンプルなプログレスバーを作成するための HTML+CSS

>>:  Javascript ツリー メニュー (11 項目)

推薦する

VMware仮想マシンにdeepin20をインストールする最も完全で詳細なプロセス

仮想マシンソフトウェア: VMware Workstationイメージ: deepin-deskto...

既存のMySQLデータベースの文字セットを統一する方法

序文データベースでは、一部のデータ テーブルとデータは latin1 であり、一部のデータ テーブル...

MySQL 8.0.13 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)

MySQL 8.0.13 のインストールと設定方法を皆さんと共有したいと思います。お役に立てれば幸...

Vue.js でフォントを読み込む正しい方法

目次font-faceでフォントを正しく宣言するフォントをプリロードするフォントをホストするにはli...

IDEA2021 tomcat10 サーブレットの新しいバージョンの落とし穴

私が学習していたときに使用していたバージョンは比較的新しいものであり、インターネット上のチュートリア...

Docker ベースのよく使われる CentOS7 イメージの概要

目次1 Dockerをインストールする2 国内ミラーソースの設定3 中国語環境基本版Centos7イ...

データベースインデックスの知識ポイントの概要

目次ファーストルックインデックスインデックスの概念インデックスファイルの構成インデックスの役割SQL...

Alibaba Cloud CentOS7 サーバーの nginx 構成と FAQ の分析

序文:この記事は、jackyzm のブログ https://www.cnblogs.com/jack...

Win10 MySQLでCSVをエクスポートする2つの方法

Win10 で csv をエクスポートする方法は 2 つあります。1 つ目はツールを使用することです...

Vue でコンポーネントを一括インポート、登録、使用する方法

序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...

RedHat 6.5/CentOS 6.5 に MySQL 5.7.20 をインストールするための詳細なチュートリアル

rpmインストールパッケージをダウンロードするMySQL公式サイト: https://dev.mys...

JavaScript進捗管理の詳しい説明

目次序文質問原理テスト序文プログラムを作成するときに、読み込みの進行状況やアップロードの進行状況など...

Linux で Ceph 分散ソフトウェアをインストールして使用する方法に関するチュートリアル

目次序文1. 基本環境1. サービス配信2. ネットワーク構成(全ノード) 3. SSHパスワードフ...

パフォーマンス負荷診断にMySQLシステムデータベースを使用する方法

ある達人がかつて、自分の妻のことを知るのと同じくらい、自分が管理するデータベースのことを知るべきだと...

ノードにおけるhttpモジュールの使用と実行プロセス

ノードにおけるhttpの役割は何ですか? httpモジュールの役割は、サーバーの作成と記述を支援する...