検索

SVG形状に二重境界を追加する方法

誰かがあなたにランダムな幾何学的なSVG形状に二重境界を追加するように頼むとしましょう。何らかの理由で、グラフィックエディターを使用することはできません - 実行時に生成する必要があります - したがって、CSSまたはSVG構文内で解決する必要があります。

あなたの最初の質問は次のとおりです。ストロークスタイルのようなものはありますか:SVGのダブル?まあ、答えはまだありません、そしてそれはそれほど簡単ではありません。しかし、とにかく私が明らかにする方法を見るためにそれを試みます。サークル、長方形、ポリゴンの3つの異なる基本形状の可能性を探ります。透明な色を2本の線の中央に保持できるものを指します。

スポイラーアラート:少なくともCSSとSVGを使用して、すべての結果にはマイナス面がありますが、私の意図を歩きましょう。

シンプルなソリューション

これらはすべての形状では機能しませんが、ソリューションの中で最も簡単です。

アウトラインとボックスシャドウ

CSSプロパティのアウトラインとボックスシャドウは、形状またはSVGの境界ボックスにのみ適用されるため、どちらも正方形と長方形にのみ優れたソリューションです。また、カスタムプロパティを使用して柔軟な色を許可します。

アウトラインのあるCSSの2行しか必要ありません。さらに、形状を通して背景色を表示します。

  • ? 1つの形状のみの解決策。
  • ✅単純なコード
  • bordersは滑らかです
  • crand透過的な背景

Box-ShadowはCSSの1行しか必要ですが、Box-Shadowを直接形に適用できないため、各形状に独自のSVGがあることを確認する必要があります。考慮すべきもう1つのことは、宣言に背景の色を適用しなければならないということです。

  • ? 1つの形状のみの解決策
  • ✅単純なコード
  • bordersは滑らかです
  • ?透明な背景はありません

SVG勾配

SVGラジアル勾配は、円でのみ動作します。勾配をストロークに直接適用できますが、コードで何度も色を宣言する必要があるため、変数を使用する方が良いです。

  • ? 1つの形状のみの解決策
  • ✅単純なコード
  • ?境界線は滑らかです
  • ?透明な背景はありません

すべての形状のソリューション

これらはすべての形状で動作しますが、コードは肥大化または複雑になる可能性があります。

フィルター:drop-shadow()

最後に、すべての形状の1つのソリューション!フィルターが形状に直接適用されないため、それぞれの形状が独自のを使用する必要があります。 CSSで1つの宣言を使用しており、変数を使用して柔軟な色を持っています。欠点?境界線はあまり滑らかに見えません。

  • すべて、すべての形状の1つのソリューション
  • ✅単純なコード
  • ?境界線はピクセル化されています
  • ?透明な背景はありません

SVGフィルター

これは非常に柔軟なソリューションです。フィルターを作成し、SVGのフィルター属性を介してシェイプに追加できます。ここの複雑な部分はフィルター自体です。外側の境界用に1つ、バックグラウンドフラッド用に1つ、前面に形状をペイントするために3つの絵画が必要です。結果はドロップシェードを使用するよりも良く見えますが、境界線はまだピクセル化されています。

  • すべて、すべての形状の1つのソリューション
  • ?複雑なコード
  • ?境界線はピクセル化されています
  • ?透明な背景はありません

形状の再利用

ここにはいくつかの可能なオプションがあります。

オプション1:変換

このソリューションには変換が必要です。メイン図の色とストロークの色があり、もう一方の人物には塗りつぶし、赤いストロークがなく、中央にスケーリングされ、再配置されている他の数字に1つの数字を配置します。 で形状を定義しました。トリックは、ビューボックスの半分をネガティブ空間に翻訳することです。そうすれば、それらをスケーリングすると、図の中心からそれを行うことができます。

  • すべて、すべての形状の1つのソリューション
  • ?重複したコード
  • bordersは滑らかです
  • crand透過的な背景
オプション2:

Doug SchepersによるWWW-SVGメーリングリストに、SVG を使用する巧妙なソリューションが見つかりました。繰り返しますが、を使用して、形を一度定義し、2回参照する必要があります。今回はメインの形状がより大きなストロークを持っています。メインの形状の2番目のShapeHashalfthestroke、fillなし、背景の色に合ったストローク。

  • すべて、すべての形状の1つのソリューション
  • ?重複したコード
  • bordersは滑らかです
  • ?透明な背景はありません

これが完全な結果です!

ちょうどあなたがそれらをすべて1か所に持っています。他の可能な解決策を考えることができることを教えてください!

以上がSVG形状に二重境界を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
スクリーンリーダーの分解:アクセス可能なフォームとベストプラクティススクリーンリーダーの分解:アクセス可能なフォームとベストプラクティスMar 08, 2025 am 09:45 AM

これは、フォームアクセシビリティについて行った小さなシリーズの3番目の投稿です。 2番目の投稿を逃した場合は、「ユーザーフォーカスの管理:Focus-Visible」をご覧ください。で

WordPressブロックと要素にボックスシャドウを追加しますWordPressブロックと要素にボックスシャドウを追加しますMar 09, 2025 pm 12:53 PM

CSS Box-Shadowおよびアウトラインプロパティは、WordPress 6.1でTheme.jsonサポートを獲得しました。実際のテーマでどのように機能するか、そしてこれらのスタイルをWordPressブロックと要素に適用するために必要なオプションのいくつかの例を見てみましょう。

GraphQLキャッシングの使用GraphQLキャッシングの使用Mar 19, 2025 am 09:36 AM

最近GraphQLの作業を開始した場合、またはその長所と短所をレビューした場合、「GraphQLがキャッシュをサポートしていない」または

最初のカスタムSvelteトランジションを作成します最初のカスタムSvelteトランジションを作成しますMar 15, 2025 am 11:08 AM

Svelte Transition APIは、コンポーネントがカスタムSVELTE遷移を含むドキュメントを入力または離れるときにアニメーション化する方法を提供します。

上品でクールなカスタムCSSスクロールバー:ショーケース上品でクールなカスタムCSSスクロールバー:ショーケースMar 10, 2025 am 11:37 AM

この記事では、Scrollbarsの世界に飛び込みます。私は知っています、それはあまりにも魅力的ではありませんが、私を信じてください、よく設計されたページは手をつないで行きます

ショー、Don' t Tellショー、Don' t TellMar 16, 2025 am 11:49 AM

あなたのウェブサイトのコンテンツプレゼンテーションの設計にどれくらいの時間に費やしますか?新しいブログ投稿を書いたり、新しいページを作成したりするとき、あなたは考えていますか

Redwood.jsと動物相を使用してイーサリアムアプリを構築しますRedwood.jsと動物相を使用してイーサリアムアプリを構築しますMar 28, 2025 am 09:18 AM

最近のビットコインの価格が20k $ $ USDを超えており、最近30Kを破ったので、イーサリアムを作成するために深く掘り下げる価値があると思いました

NPMコマンドは何ですか?NPMコマンドは何ですか?Mar 15, 2025 am 11:36 AM

NPMコマンドは、サーバーの開始やコンパイルコードなどの1回限りのプロセスまたは継続的に実行されるプロセスとして、さまざまなタスクを実行します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。