目次
シンプルなソリューション
アウトラインとボックスシャドウ
SVG勾配
すべての形状のソリューション
フィルター:drop-shadow()
SVGフィルター
形状の再利用
オプション1:変換
これが完全な結果です!
ホームページ ウェブフロントエンド CSSチュートリアル SVG形状に二重境界を追加する方法

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

Mar 25, 2025 am 10:48 AM

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 までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

それは' Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

CI/CDで少し CI/CDで少し Apr 02, 2025 pm 06:21 PM

「ウェブサイト」は「モバイルアプリ」よりも適していると言いますが、Max Lynchからのこのフレーミングが好きです。

ブラウザから有効なCSSプロパティ値を取得できますか? ブラウザから有効なCSSプロパティ値を取得できますか? Apr 02, 2025 pm 06:17 PM

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

WordPressブロックエディターでのマークダウンとローカリゼーションを使用します WordPressブロックエディターでのマークダウンとローカリゼーションを使用します Apr 02, 2025 am 04:27 AM

WordPressエディターでユーザーに直接ドキュメントを表示する必要がある場合、それを行うための最良の方法は何ですか?

粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード 粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード Apr 03, 2025 am 10:30 AM

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

レスポンシブデザインのブラウザを比較します レスポンシブデザインのブラウザを比較します Apr 02, 2025 pm 06:25 PM

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

スティッキーヘッダーとフッターにCSSグリッドを使用する方法 スティッキーヘッダーとフッターにCSSグリッドを使用する方法 Apr 02, 2025 pm 06:29 PM

CSS Gridは、レイアウトをこれまで以上に簡単にするように設計されたプロパティのコレクションです。何でもするように、少し学習曲線がありますが、グリッドは

Googleフォント変数フォント Googleフォント変数フォント Apr 09, 2025 am 10:42 AM

Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

See all articles