CSSブレンドモードとSVGを使用して、製品画像の色を動的に変更します。

CSSブレンドモードとSVGを使用して、製品画像の色を動的に変更します。

数日前、Codepen で @Kyle Wetton が書いた、CSS ブレンディング モードと SVG を使用してソファの色を変更する例を見ました。非常に興味深い事例です。これは、実際のビジネス シナリオでの応用を思い出させます。たとえば、美容アプリケーションにも同様のシナリオがあります。この効果を実現する方法についてさらに詳しく知りたいですか?もしそうなら、読み続けてください。

CSS ブレンドモードと SVG を使用してソファの色を変更する

次のデモは、Codepen で @Kyle Wetton が作成したエフェクトからのものです。

色を変更してみると、さまざまなソファの色が表示されます。

面白いと思いませんか?

実際、実際のシーンでも、美容アプリケーションなど、同様の効果がいくつかあります。

実施原理や効果を知りたい方は、ぜひ読み進めてください。

必要な基礎知識

上記の例の効果をうまく実装したい場合は、少しの基礎知識が必要です。たとえば、CSS 混合モード、SVG などです。

CSS ブレンド モードのさまざまなプロパティ値を使用すると、画像の効果を簡単に変更できます。

CSS 混合モードでは、他の多くの効果も実現できますが、ここでは詳しく説明しません。

さらに、写真を切り抜くスキルも必要です。しかし、フロントエンドではこれは問題にならないと思います。

ソファのスキンを変更する方法

次に、これを実践して、まずは@Kyle Wetton のケースを分析してみましょう。この例は非常に単純で、HTML には 3 つの部分があります。

  • 非常に密集した SVG コードが山ほどあります。SVG を知らない学生にとっては、間違いなく恐怖感を覚えるでしょう (慌てないでくださいね)
  • 写真があります
  • ユーザーが色を選択できるコントロールがいくつかあります

この SVG コードを簡単に分析してみましょう。

<svg id="js-couch" class="couch__overlay" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" width="1000" height="394">
    <定義>
        <path d="M996.35 77.55q-1.85-1.95-8.65-3.75l-62.4-17.1q-9.3-2.75-12.15-2.5-1.8.15-2

要約する

以上が、CSS ブレンディング モードと SVG を使用して製品画像の色を動的に変更する方法についてご紹介しました。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

<<:  ウェブページのテーブルの境界線を設定する方法

>>:  IE6 での背景画像キャッシュ

推薦する

JavaScript キャンバス テトリス ゲーム

テトリスは非常に古典的な小さなゲームで、私もそれを書いてみました。しかし、できるだけ簡潔で論理的なコ...

HTMLタグのデフォルトスタイルの配置

html、address、blockquote、body、dd、div、dl、dt、fieldset...

vite2.0 設定学習の詳しい説明(typescript 版)

導入悠宇希の原文です。 vite は Vue CLI に似ています。vite も、基本的なプロジェク...

詳細なハードウェア情報を取得するための Linux のいくつかのコマンドの詳細な説明

Linux システム、特にサーバー システムでは、デバイスのハードウェア情報を表示する必要がよくあり...

Mysql 8.0.17 winx64バージョンのインストール中に発生した問題を解決する

1. my.iniファイルを手動で作成して追加する # クライアントセクション # --------...

MySQL IFNULL判定問題の解決方法

問題: mybatis によって返される null 型のデータが消え、フロントエンドの表示にエラーが...

カルーセル例の JavaScript 実装

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

Vue.js を学ぶ際に遭遇する落とし穴

目次クラス void のポイントES6 矢印関数ヴュートファイvue-cli非同期と同期実行と展開ヒ...

MySQL 5.7 スレーブノードからマルチスレッド マスター スレーブ レプリケーションを構成する方法の詳細な説明

序文MySQL は MySQL 5.6 からマルチスレッド レプリケーションをサポートしていますが、...

CentOS 8.0.1905 は ZABBIX 4.4 バージョンをインストールします (検証済み)

Zabbix サーバー環境プラットフォームバージョン: ZABBIX バージョン 4.4システム:...

MySQL 5.7.10 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)

MySQL は比較的使いやすいリレーショナル データベースです。今日は、win10 システムを再イ...

MySQLにおけるテーブルインデックスの定義方法と導入

概要インデックスは、テーブル内の 1 つ以上の列に基づいて DBMS によって特定の順序で作成される...

停止したすべてのDockerコンテナを1つのコマンドで再起動する

停止したすべてのDockerコンテナを1つのコマンドで再起動するdocker ps -a | gre...

JSキャンバスは描画ボードと署名ボードの機能を実現します

この記事では、お絵かきボード/サインボード機能を実現するためのJSキャンバスの具体的なコードを参考ま...

CSS scroll-snap スクロールイベント停止と要素位置検出の実装

1. スクロールスナップはフロントエンド開発者にとって必須のスキルですCSS スクロール スナップは...