CSSカスタム属性をICON SYSTEMに作成します WebページにSVGを含める方法はたくさんあり、各テクノロジーには独自の利点と短所があります。 SASS関数を使用して、HTMLタグをいじることを避けて、過去数年にわたってCSSに直接アイコンをインポートしてきました。 すべてのアイコンソースコードを備えたSASSリストがあります。各アイコンは、SASS関数を使用してデータURIとしてエンコードされ、ページのルートにあるカスタムプロパティに保存されます。 要するに ここで提供するのは、CSSにSVGアイコンライブラリを直接作成するSASS機能です。 SVGソースコードは、SASS関数によってコンパイルされます。SASS関数は、データURIとしてエンコードし、アイコンをCSSカスタムプロパティに保存します。その後、外部画像と同じように、CSSのどこでもアイコンを使用できます。 これは私の個人的なウェブサイトコードから直接抽出された例です。 demo .c-filters__summary h2:after { content: var(--svg-down-arrow); position: relative; top: 2px; margin-left: auto; animation: closeSummary .25s ease-out; } SASS構造 / *すべてのアイコンソースコード */ $ svg-icons:( バーガー: '< svg data-line = "" scss = "" viewbox = "0 ...' ); / * sass関数エンコードアイコン */ @function svg($ name){ @return url( 'data:image/svg xml、#{$ encodedsvg}'); } / *各アイコンをカスタムプロパティに保存します */ :根 { @each $ name、$ code in $ svg-icons { -SVG-#{$ name}:#{svg($ name)}; } } / *ボタンにハンバーガーアイコンを追加 */ .menu ::後{ コンテンツ:var( - svg-burger); } このテクノロジーには利点と短所の両方があるので、プロジェクトにこのソリューションを実装する前に、これらの要因を必ず検討してください。 pro SVGファイルにはHTTPリクエストは必要ありません。 すべてのアイコンは1つの場所に保存されます。 アイコンを更新する必要がある場合は、各HTMLテンプレートファイルをトラバースする必要はありません。 アイコンはCSSでキャッシュされています。 アイコンのソースコードを手動で編集できます。 追加タグを追加してHTMLを汚染しません。 まだCSSを使用して、アイコンの色またはいくつかの側面を変更できます。 短所 CSSを使用してアニメーションを追加したり、SVGの特定の部分を更新したりすることはできません。 アイコンが多いほど、コンパイルされたCSSファイルが大きくなります。 私は主にこの手法をロゴやイラストではなく、アイコンに使用します。エンコードされたSVGは常に元のファイルよりも大きいため、 を使用しています。