この記事は共有および集約することを歓迎します。全文を転載する必要はありません。著作権を尊重してください。サークルはとても小さいです。緊急に必要な場合は、許可を得るためにご連絡ください。 1. それ以上圧縮できないPNG画像 たとえば、以下に示す PNG 画像 (1/2 サイズで表示) は、トップの PNG ツールを使用して圧縮した後でも 122K のままです。 元の画像のアドレスはこちらです: https://image.zhangxinxu.com/image/blog/202005/card.png PNGのサイズは次のとおりです。 プロジェクトにこのような画像が 1 つだけであれば問題ありません。ただし、ページにこのサイズの PNG が一度に多数ある場合、最初の読み込みでパフォーマンスへの影響が非常に顕著になります。たとえば、下の図の 4 つのカード画像は 500K です。 カードの背景も複雑なグラフィックなので、端や角は透明にする必要があります。JPG 形式に変更しても確実に機能しません (端や角が単色になります)。さらに最適化する方法はありませんか? はい、CSS マスクの助けを借りて PNG 画像のサイズを大幅に最適化します。 2. マスク画像とPNGサイズの最適化
この方法は実行可能です。デモはここにあります。 具体的な手順は以下のとおりです。 1.PNGをJPGに変換する まず、PNG 画像を JPG に保存します。以下に示すように、画像品質の 50% で十分です。 この時点で、画像サイズは 50% 以上削減できます。 2. PNGアウトラインに基づいて単色のPNGを作成する PNG画像のサイズが大きいのは、色が濃すぎるからです。単色にすれば、サイズは100分の1以下に縮小できます。 現時点では、純黒で塗りつぶされた PNG 画像のサイズは 1K 未満です。 3.マスクを使用してJPGの角を白く透明にする JPG カード画像が <img src="カード.jpg"> 次の CSS コードを使用します。 画像 { -webkit-マスクイメージ: url(card-mask.png); マスク画像: url(card-mask.png); } 角が透明でサイズが小さい、元の 122K PNG 画像と同じ効果が得られます。 card-mask.png の四隅は透明なので、card.jpg が card-mask.png をマスク画像として適用すると、四隅も透明になります。 4. マスク画像のクロスドメイン制限 Chrome などのブラウザのセキュリティ アップグレードにより、現在マスク画像へのクロスドメイン アクセスが制限されており、次のようなエラー プロンプトが表示されます。
ソリッドカラーマスクイメージを base64 形式に変換できます。次に例を示します。
百聞は一見にしかず、こちらをクリックしてください: CSSマスクを使用したPNG画像サイズの最適化デモ JPG 形式のカードの最終的な効果は次の図に示されています (4 つの角は透明です)。 3. 最適化された効果の比較 最適化前後の 4 つの画像のサイズ比較は次のとおりです。 4 枚の画像の元のサイズは 458K ですが、最適化された画像のサイズは 197K+1K となり、サイズが56.8%削減されました。 クィア〜 要約する CSS マスクを使用して PNG 画像のサイズを大幅に最適化する方法についての記事はこれで終わりです。CSS マスクに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
<<: Docker で MySQL マスター スレーブ レプリケーションを実装するためのサンプル コード
>>: iFrameは背景を覆うポップアップレイヤーとして使うのに最適です
チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...
場合によっては、次のような機能を実装したいことがあります。リンクをクリックします。リンクがブラウザで...
概要: Oracle scottユーザーには4つのテーブルがあり、実験やデータ検証に便利です。現在は...
Bステーションでパスワードを入力するときに目を覆っているこの画像を見たことがある人もいると思いますこ...
目次1. MySQLをダウンロードする2. MySQLをインストールする3. MySQL の基本的な...
データベースを操作する過程では、いくつかの指標を日付別にまとめたり、一定期間内の合計金額をカウントし...
この記事では、参考までにメッセージボードを実装するためのJavaScriptの具体的なコードを紹介し...
目次ノードイベントループイベントループ図メインスレッドイベントループタイマーキューの仕組み投票キュー...
目次1. 何ですか2. 使用数値列挙文字列列挙異種列挙自然3. 応用シナリオ要約する1. 何ですか列...
現在のデータベースでサポートされているエンジンを表示します エンジンを表示 +-----------...
ビッグデータはますます注目を集めており、ビッグデータのいくつかの構成要素に精通していないと、自慢でき...
1. 自然なレイアウト<br />レイアウトは変更せずに自動的に左揃えになります。 2....
今日、データベース操作はますますアプリケーション全体のパフォーマンスのボトルネックになりつつあり、こ...
目次1. 初心者が陥りがちな間違い2. Iteratorのremove()メソッドを使用する3. f...
目次序文1. ルーティングの遅延読み込み1. ルートの遅延読み込みが必要なのはなぜですか? 2. ル...