SVGアイコンは、スケーラビリティ、小さなファイルサイズ、CSSスタイリング機能のおかげで、最新のWebデザインでますます使用されており、レスポンシブWebサイトに最適です。
この記事では、SVG画像の「スケルトン」が変更されたままですが、表面の外観を簡単に変更できます。
この記事は、SVGの単一の部分を変更できないという問題の解決策を提案しています。これには、SVGの各形状のシンボルを作成し、各シンボルが同じViewboxに作成され、必要に応じて各要素のスタイルが可能になります。
著者は、Adobe IllustratorとGulpを使用してSVGシンボルの構築のワークフローを詳述し、この方法はすべての最新のブラウザと互換性があることに注意してください。
ファイルサイズ、スケーラビリティ、CSSスタイリング機能のおかげで、2016年には、最新のWebページでのSVGの広範な使用が大幅に改善されました。アイコンシステムで使用できます(独自のSVGアイコンの構築を参照)が、場合によってはアイコンフォントが望ましい場合があります(アイコンWARS:FONTSおよびSVGを参照)。
しかし、SVGはロゴまたはグラフィック要素(少なくとも過度に複雑な要素ではない)にも使用できます。また、その自然な柔軟性により、レスポンシブWebサイトに最適なソリューションになります(サラソウライダンの「CSSを使用したレスポンシブSVGの作成」を参照)。
SVGを使用すると、CSSを活用して要素全体のサイズと色を見つけて変更できますが、SVGコードがHTMLページに埋め込まれていない限り、この方法で個々の部分を変更することはできません。
質問
より簡単な例を見てみましょう。これは、複数の色で表示する必要がある画像です。
伝統的に、3つの別々の画像を作成します。しかし、単一のSVGファイルを使用してレンダリング時にスタイルを整える場合はどうなりますか?
また、ブラウザキャッシュを活用するために「SVGシンボル」に画像を作成する方法はありますか?
私はそれを「スキン可能なSVGシンボル」と呼びます - SVG画像の「スケルトン」は同じままですが、表面の外観は簡単に変更されます。
理想的な解決策は、CSSセレクターを介してシンボリック要素にアクセスし、いくつかのルールを追加することです(埋め込みSVGで使用する方法と同じ)。
以下の例では、各三角形にクラス(上、右、下、左)を追加し、画像をシンボルとして配置し、次のようにCSSを介して変更しようとしました。
.top { fill: #356BA5; } .right { fill: #357FD9; } /* and so on... */
残念ながら、現時点では、これは以下のCodepenデモに示すように、Firefoxでのみ機能します。 Firefoxでのみ2番目の画像が青い色合いに表示されます(便宜上、ペンにシンボリックコードを埋め込みましたが、外部SVGファイルを使用すると同じ結果が得られます)。
大規模なプロジェクトでは、多くのそのような要素があり、メンテナンスの問題が重要な要素であるため、プロジェクトリソースをより適切に整理する方法を常に探しています。
私の目標は純粋なCSSソリューションです。前の例は、CSSを介して回転、移動、およびシェーディングできる単一の三角形SVGを使用して書き直すことができます。
しかし、私はこの解決策が好きではありません。問題を変えるだけで問題を解決しないように思えます。同じ形状の現実世界のロゴコンポーネントはいくつありますか?
Sara Soueidanは、この問題を私よりもよく説明し、CSS変数を使用する巧妙なソリューションを提供します。残念ながら、CSS変数は依然として実験的な手法であり、Microsoftブラウザーはそれらをサポートしていません。
solution
頻繁に起こるように、解決策は非常に単純なので、以前は期待していなかったので愚かに感じるでしょう。
数ヶ月前に新しいミディアムロゴを見たときに発見しました(メディアがロゴコードを変更したようです - あなたは私を信じなければなりません)。
中程度のロゴは、それぞれ異なる固体で満たされた4つの「形」で構成されていることがわかります。白黒バージョンは、緑色のバージョンと同じです(もちろん色を除く)。
単一のファイルの両方のバージョンを所有するソリューションは、各シンボルのシンボルを単純に構築することです。 それを例に適用し、画像内の各形状のシンボルを作成しましょう。それらはすべて、画像全体と同じビューボックス(0 0 54 54)を共有するため、追加の指示なしに正しい位置に配置されます。シンボルコードで塗りつぶし、ストローク、スタイル、その他の属性を使用しないように注意してください)。
これで、それらを単一のSVGコンテナに結合することができます:
<svg xmlns="https://www.w3.org/2000/svg"> <symbol id="top" viewBox="0 0 54 54"> <polygon points="54 0 0 0 27 27 54 0"></polygon> </symbol> <symbol id="right" viewBox="0 0 54 54"> <polygon points="54 54 54 0 27 27 54 54"></polygon> </symbol> <symbol id="bottom" viewBox="0 0 54 54"> <polygon points="0 54 54 54 27 27 0 54"></polygon> </symbol> <symbol id="left" viewBox="0 0 54 54"> <polygon points="0 0 0 54 27 27 0 0"></polygon> </symbol> </svg>
各使用要素は必要に応じてスタイリングでき、最も重要なことは、すべての最新のブラウザーと互換性があります。
<svg> <use class="top" xlink:href="#top"></use> <use class="right" xlink:href="#right"></use> <use class="bottom" xlink:href="#bottom"></use> <use class="left" xlink:href="#left"></use> </svg>
codepen link 3
このようなSVGファイルをアレンジするだけです。もちろん、手動で行うことはできますが、多くのグラフィック要素を管理する必要がある場合、またはより多くのプロジェクトでそれらをすばやく編集および再利用する必要がある場合は、よりスマートでより速いワークフローが必要です。 Adobe IllustratorといくつかのGulpを使用したソリューションを見つけました。svgシンボル構造ワークフロー
この手法の原則は、「独自のSVGアイコンを作成する」と「IllustratorとIcomoonを使用してアイコンフォントを作成する」記事で紹介したのと同じですので、最初のステップについてはチェックしてください。
下の画像のように、2つの要素があるとします。各要素は、特定のアートボードに配置されています:
便宜上、いくつかの色を追加しましたが、充填色(もしあれば、ストロークカラー、ストロークサイズなど)がCSSを介して編集されることがわかっています。
各シンボルにはアートボードが必要なので、各画像を各色の部分と同じくらい多くのアートボードにセグメント化する必要があります。
これは、Illustratorで非常に迅速に実行でき、各要素を切断し、ターゲットアートボードを選択し、[所有権]コマンドのペーストを選択できます。
各アートボードには特定の名前があることに注意してください。シンボリックIDに使用されます。
新しい「ファイル→エクスポート→画面としてエクスポート」コマンドを使用して、SVGとしてアートボードをエクスポートできます。
これは、最新のIllustratorバージョンの非常に便利な新しいツールです。単一のコマンドを使用して、各アートボードまたはユーザー定義のリソースを複数の形式で保存できます。
エクスポートパネルから「アートボード」を選択し、「SVG」を出力形式に設定し、ターゲットフォルダーを選択します。
gulp を使用しています
次のセクションは少し技術的ですが、必要に応じて、このような多用途のSVGを生成するための迅速で簡潔な方法が得られます。
コマンドを回避できます。
ここに結果の例があります(このペンであっても、便利なためにSVGファイルを埋め込みましたが、外部ファイルとして安全にリンクできます):
外部シンボリックリンク(すべてのIE)をサポートしていないブラウザでは、svg4Everybodyすべての使用要素を一致するシンボルのコンテンツに置き換えます。したがって、使用に適用されるすべてのCSSルールは有効になりません。 これは、内部シンボリック要素(パス、円など)に適合するようにCSSセレクターを調整することで解決できますが、これは少し難しい場合があります。 ボーナス このワークフローには無制限のバリエーションがあります。ストローク、テキストなどを処理できます。 探索する価値のあるもう1つの興味深い機能は、イラストレーターのシンボルの使用です。それらはSVGシンボルとしてエクスポートされ、多くの可能性をもたらします。 お読みいただきありがとうございます。 スキン可能なSVGシンボルに関するよくある質問 SVGシンボルには、JPEG、PNG、GIFなどの他の画像形式と比較して多くの利点があります。まず、SVGはスケーラブルなベクトルグラフィックスです。つまり、品質を失うことなくサイズ変更できます。これは、同じ画像をさまざまなサイズのさまざまなデバイスに表示する必要があるレスポンシブWebデザインに特に役立ちます。第二に、SVGシンボルはCSSを使用してスタイリングできるため、設計の柔軟性が向上します。最後に、SVGのファイルサイズは通常、ビットマップのカウンターパートよりも小さく、ロードをスピードアップしてウェブサイトのパフォーマンスを向上させることができます。 id="umbrella"
しかし、Illustratorの古いバージョンは、Illustratorファイル名をアートボード名に接続してファイル名を作成するため、イラストレーターのファイル名を削除するにはファイルの名前を変更する必要があります。
<svg id="Layer_1" data-name="Layer 1" xmlns="https://www.w3.org/2000/svg" width="54" height="54" viewBox="0 0 54 54">
<title>umbrella-handle</title>
<path d="..." fill="#603813"></path>
</svg>
要素を削除します
<style></style>
cleanupnumericValues:値を合理的なレベルの精度に回す Webデザインに他の画像形式ではなく、SVGシンボルを使用することの利点は何ですか?
SVGシンボルは、Chrome、Firefox、Safari、Edgeなどのすべての最新のWebブラウザーで広くサポートされています。ただし、インターネットエクスプローラーの古いバージョン(IE8以下)はSVGをサポートしていません。これらの古いブラウザをサポートする必要がある場合は、PNGまたはJPEG画像をフォールバックとして提供する必要がある場合があります。
SVGシンボルをアニメーション化する方法は?
HTMLでSVGシンボルを使用できますか?
はい、SVGシンボルはHTMLに直接埋め込むことができます。これは、
およびタグを使用して実行できます。 <svg></svg>
タグは、SVGシンボルを定義するために使用され、<symbol></symbol>
タグはインスタンス化するために使用されます。これにより、SVGシンボルを一度に定義し、HTML全体で複数回再利用できます。 <symbol></symbol>
<use></use>
SVGシンボルをよりアクセスしやすくするにはどうすればよいですか?
SVGシンボルをよりアクセスしやすくするには、svgの>および
タグを使用して、代替テキストを提供する必要があります。 タグは、SVGの短い説明的なタイトルを提供し、<title></title>
タグはより長い説明を提供します。これらのタグはスクリーンリーダーによって読み取られ、視覚障害のあるユーザーに重要なコンテキストを提供します。 <desc></desc>
CSSでSVGシンボルを使用できますか?
はい、SVGシンボルはCSSの背景画像として使用できます。これは、SVGをデータURLとしてエンコードし、それをbackground-image
属性の値として使用することで実行できます。ただし、この方法では、SVGをCSSでスタイリングまたはアニメーション化することはできません。
パフォーマンスのためにSVGシンボルを最適化する方法は?
SVGシンボルをパフォーマンスのために最適化する方法はいくつかあります。まず、SVGコードを圧縮してファイルサイズを縮小できます。次に、GZIP圧縮を使用してファイルサイズをさらに削減できます。最後に、HTTP/2を使用してSVGを提供することができます。これにより、より高速で効率的なデータ転送が可能になります。
JavaScriptでSVGシンボルを使用できますか?
はい、SVGシンボルはJavaScriptで操作できます。これにより、色、サイズ、場所、視認性など、SVGのプロパティを動的に変更できます。 JavaScriptを使用して、SVGをアニメーション化したり、インタラクティブSVGを作成したり、SVGを動的にロードすることもできます。
レスポンシブSVGシンボルを作成する方法は?
レスポンシブSVGシンボルを作成するには、絶対ユニット(ピクセルなど)ではなく、SVGの幅と高さに相対単位(割合など)を使用する必要があります。これにより、SVGは親要素でスケーリングできます。また、属性を使用して、SVGのアスペクト比と座標系を指定することもできます。これにより、スケーリングすることができます。 viewBox
HTMLでSVGシンボルを使用できますか?
はい、SVGシンボルはHTMLに直接埋め込むことができます。これは、
およびタグを使用して実行できます。 <svg></svg>
タグは、SVGシンボルを定義するために使用され、<symbol></symbol>
タグはインスタンス化するために使用されます。これにより、SVGシンボルを一度に定義し、HTML全体で複数回再利用できます。 <symbol></symbol>
<use></use>
SVGシンボルをよりアクセスしやすくするにはどうすればよいですか?
>および
タグを使用して、代替テキストを提供する必要があります。タグは、SVGの短い説明的なタイトルを提供し、<title></title>
タグはより長い説明を提供します。これらのタグはスクリーンリーダーによって読み取られ、視覚障害のあるユーザーに重要なコンテキストを提供します。 <desc></desc>
CSSでSVGシンボルを使用できますか?
はい、SVGシンボルはCSSの背景画像として使用できます。これは、SVGをデータURLとしてエンコードし、それをbackground-image
属性の値として使用することで実行できます。ただし、この方法では、SVGをCSSでスタイリングまたはアニメーション化することはできません。
パフォーマンスのためにSVGシンボルを最適化する方法は?
SVGシンボルをパフォーマンスのために最適化する方法はいくつかあります。まず、SVGコードを圧縮してファイルサイズを縮小できます。次に、GZIP圧縮を使用してファイルサイズをさらに削減できます。最後に、HTTP/2を使用してSVGを提供することができます。これにより、より高速で効率的なデータ転送が可能になります。
JavaScriptでSVGシンボルを使用できますか?
はい、SVGシンボルはJavaScriptで操作できます。これにより、色、サイズ、場所、視認性など、SVGのプロパティを動的に変更できます。 JavaScriptを使用して、SVGをアニメーション化したり、インタラクティブSVGを作成したり、SVGを動的にロードすることもできます。
レスポンシブSVGシンボルを作成する方法は?
レスポンシブSVGシンボルを作成するには、絶対ユニット(ピクセルなど)ではなく、SVGの幅と高さに相対単位(割合など)を使用する必要があります。これにより、SVGは親要素でスケーリングできます。また、属性を使用して、SVGのアスペクト比と座標系を指定することもできます。これにより、スケーリングすることができます。 viewBox
以上が「ReskinNable」SVGシンボル:それらの作り方(..そしてなぜ)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

AIの分野での中国の女性の技術力の台頭:Deepseekの女性の技術分野への貢献とのコラボレーションの背後にある物語は、ますます重要になっています。中国の科学技術省からのデータは、女性科学技術労働者の数が巨大であり、AIアルゴリズムの開発においてユニークな社会的価値感度を示していることを示しています。この記事では、携帯電話の名誉に焦点を当て、その背後にある女性チームの強さを探り、Deepseek Bigモデルに最初に接続し、技術の進歩を促進し、技術開発の価値座標系を再構築する方法を示します。 2024年2月8日、Honorは、Deepseek-R1 FullbloodバージョンのBig Modelを正式に立ち上げ、Android Campで最初のメーカーになり、Deepseekに接続し、ユーザーから熱狂的な反応を喚起しました。この成功の背後にある女性チームメンバーは、製品の決定、技術的なブレークスルー、ユーザーを行っています

DeepseekはZhihuに関する技術記事をリリースし、Deepseek-V3/R1推論システムを詳細に導入し、初めて主要な財務データを開示し、業界の注目を集めました。この記事は、システムの毎日のコストの利益率が545%に高いことを示しており、グローバルなAIビッグモデルの利益の新たな高値を設定しています。 Deepseekの低コスト戦略は、市場競争において有利になります。モデルトレーニングのコストは同様の製品の1%から5%であり、V3モデルトレーニングのコストはわずか5576百万米ドルであり、競合他社のコストよりもはるかに低くなっています。一方、R1のAPI価格設定は、Openaio3-Miniの1/7〜1/2です。これらのデータは、DeepSeekテクノロジールートの商業的実現可能性を証明し、AIモデルの効率的な収益性も確立します。

Mideaは、Deepseek Big Model -Midea Fresh and Clean Air Machine T6を装備した最初のエアコンをリリースします。このエアコンには、環境に応じて温度、湿度、風速などのパラメーターをインテリジェントに調整できる、高度な空気インテリジェントな駆動システムが装備されています。さらに重要なことは、DeepSeek Big Modelを統合し、400,000を超えるAI Voiceコマンドをサポートすることです。 Mideaの動きは、業界での激しい議論を引き起こし、特に白物と大規模なモデルを組み合わせることの重要性を懸念しています。従来のエアコンの単純な温度設定とは異なり、Midea Fresh and Clean Air Machine T6は、より複雑で曖昧な指示を理解し、家庭環境に従って湿度をインテリジェントに調整し、ユーザーエクスペリエンスを大幅に改善します。

ウェブサイトの構築は最初のステップに過ぎません:SEOとバックリンクの重要性 ウェブサイトを構築することは、それを貴重なマーケティング資産に変換するための最初のステップにすぎません。検索エンジンでのWebサイトの可視性を向上させ、潜在的な顧客を引き付けるために、SEO最適化を行う必要があります。バックリンクは、ウェブサイトのランキングを改善するための鍵であり、Googleや他の検索エンジンにWebサイトの権限と信頼性を示しています。 すべてのバックリンクが有益であるわけではありません:有害なリンクを特定して回避する すべてのバックリンクが有益であるわけではありません。有害なリンクはあなたのランキングに害を及ぼす可能性があります。優れた無料のバックリンクチェックツールは、ウェブサイトへのリンクのソースを監視し、有害なリンクを思い出させます。さらに、競合他社のリンク戦略を分析し、それらから学ぶこともできます。 無料のバックリンクチェックツール:SEOインテリジェンスオフィサー

DeepSeek-R1はBaidu LibraryとNetDiskを支援します。深い思考と行動の完璧な統合は、わずか1か月で多くのプラットフォームに迅速に統合されました。大胆な戦略的レイアウトにより、BaiduはDeepSeekをサードパーティモデルのパートナーとして統合し、それをそのエコシステムに統合します。これは、「ビッグモデル検索」の生態学的戦略の大きな進歩を示しています。 Baidu SearchとWenxin Intelligent Intelligent Platformは、DeepSeekおよびWenxin Bigモデルの深い検索関数に最初に接続し、ユーザーに無料のAI検索エクスペリエンスを提供します。同時に、「Baiduに行くときにあなたが知っている」という古典的なスローガンとBaiduアプリの新しいバージョンは、WenxinのBig ModelとDeepseekの機能も統合し、「AI検索」と「ワイドネットワーク情報の改良」を起動します。

コード生成のAIプロンプトエンジニアリング:開発者ガイド コード開発の風景は、大きな変化を遂げています。 大規模な言語モデル(LLMS)と迅速なエンジニアリングのマスタリングは、今後数年間で開発者にとって非常に重要です。 th

このGOベースのネットワーク脆弱性スキャナーは、潜在的なセキュリティの弱点を効率的に識別します。 Goの同時機能機能を速度で活用し、サービスの検出と脆弱性のマッチングが含まれます。その能力と倫理を探りましょう


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 中国語版
中国語版、とても使いやすい

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック



