CSS での画像比較の簡単なトリック
入力範囲スライダーとその下にクラス名 .front、.back を持つ 2 つの div をクラス名 '.img-before-after の親 div 内に作成しましょう'。インライン スタイル width:50% を .front div
に割り当てます。
img-before-after、input-range、input-slider-thumb、front、の CSS を作成します]戻る
body { background: #d6d6d6; } .img-before-after { position: relative; width: 900px; height: 600px; } input[type="range"] { background: transparent; width: 100%; height: 100%; margin: 0; outline: none; position: absolute; z-index: 2; -webkit-appearance: none; } input[type="range"]::-webkit-slider-thumb { width: 10px; height: 600px; cursor: pointer; -webkit-appearance: none; background: black; }
.front と .back div の両方に背景画像を追加します。
.front, .back { position: absolute; width: 100%; height: 600px; background: url("https://shorturl.at/kbKhz") no-repeat; background-size: cover; z-index: 1; }
.back div を .front div の後ろに z-index で送信し、グレースケールにします。
.back { filter: grayscale(1); z-index: 0; }
入力スライダーをドラッグするときに、'.front' div の幅を動的に増減する必要があります。入力範囲の値を '.front' div.
の幅に追加する必要があります。
oninput="this.nextElementSibling.style.width = `${this.value}%`"
出力:
以下では、開発ツールでスライダー範囲をドラッグしたときに幅がどのように増減するかを確認できます。
以下のように、blur、invert などの CSS のさまざまなバリエーションを試すことができます。
ぼかし
.back { filter: blur(5px); z-index: 0; }
反転
.back { filter: invert(1); z-index: 0; }
最終出力: グレースケール
ご覧いただきありがとうございます...
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3