搜尋
首頁web前端css教學如何在SVG形狀上添加雙邊框

如何在SVG形狀上添加雙邊框

假設有人要求您在一些隨機的幾何SVG形狀中添加雙重邊框。由於某種原因,您無法使用任何圖形編輯器(需要在運行時生成它們),因此您必須使用CSS或SVG語法中解決它。

您的第一個問題可能是:是否有諸如中風風格的東西:SVG中的Double?好吧,答案還沒有,這並不容易。但是無論如何,我都會嘗試發現我可以發現哪些方法。我將探索三種不同基本形狀的可能性:圓,矩形和多邊形。指向可以在兩條線的中間保持透明顏色的那些。

擾流板警報:所有結果至少在CSS和SVG中都具有不利影響,但讓我介紹您的意圖。

簡單的解決方案

這些並不能與所有形狀一起使用,但它們是最簡單的解決方案。

輪廓和盒子陰影

CSS屬性概述和盒子陰影僅適用於形狀或SVG的邊界框,因此兩者僅適用於正方形和矩形的絕佳解決方案。它們還可以使用自定義屬性允許靈活的顏色。

它僅需使用兩條CSS的輪廓線,而且可以使背景顏色通過形狀可見。

  • ?僅用於一種形狀。
  • ✅簡單的代碼
  • ✅邊界很光滑
  • ✅透明背景

盒子陰影只需要一行CSS,但是我們必須確保每個形狀都有自己的SVG,因為我們不能直接將盒子陰影直接應用到形狀上。要考慮的另一件事是,我們必須在聲明中應用背景的顏色。

  • ?僅用於一種形狀
  • ✅簡單的代碼
  • ✅邊界很光滑
  • ?沒有透明背景

SVG梯度

SVG徑向梯度僅在圓圈上起作用☺️。我們可以將梯度直接應用於中風,但是最好使用變量,因為我們必須在代碼中多次聲明顏色。

  • ?僅用於一種形狀
  • ✅簡單的代碼
  • ?邊界很光滑
  • ?沒有透明背景

所有形狀的解決方案

這些將與所有形狀一起使用,但是代碼可能會變成腫或複雜。

過濾器:drop-shadow()

最後,一個解決所有形狀的解決方案!我們必須具有自己的>,因為過濾器不會直接應用於形狀。我們正在使用CSS中的一份聲明,並使用變量具有靈活的顏色。缺點?邊界看起來不太光滑。

  • ✅所有形狀的解決方案
  • ✅簡單的代碼
  • ?邊界看起來像素化
  • ?沒有透明背景

SVG過濾器

這是一個非常靈活的解決方案。我們可以創建一個過濾器,並通過SVG的過濾器屬性將其添加到形狀中。這裡複雜的部分是過濾器本身。我們需要三幅畫,一幅用於外邊界,一幅用於背景洪水,最後一幅用於繪製前面的形狀。結果看起來比使用DropShod更好,但是邊界仍然是像素化的。

  • ✅所有形狀的解決方案
  • ?複雜代碼
  • ?邊界看起來像素化
  • ?沒有透明背景

重複形狀

這裡有幾個可能的選項。

選項1:變換

該解決方案需要轉換。我們將一個人物放在另一個圖形上,其中主人物具有填充的顏色和筆觸顏色,而另一個圖形沒有填充,紅色衝程,並縮放並重新定位到中心。我們在上定義了形狀。訣竅是將視圖框的一半轉換為負空間,以便當我們擴展它們時,我們可以從圖中的中心進行操作。

  • ✅所有形狀的解決方案
  • ?重複的代碼
  • ✅邊界很光滑
  • ✅透明背景
選項2:

我在Doug Schepers的WWW-SVG郵件列表中找到了一個巧妙的解決方案,該解決方案使用SVG 。同樣,它需要定義一次形狀,並使用兩次指它們。這次,主要形狀的中風更大。主要形狀的第二個ShapeHashalfthestroke,無填充,Anda筆觸與背景顏色相匹配。

  • ✅所有形狀的解決方案
  • ?重複的代碼
  • ✅邊界很光滑
  • ?沒有透明背景

這是完整的結果!

就是這樣,您將它們全部放在一個地方。讓我知道您可以想到其他可能的解決方案!

以上是如何在SVG形狀上添加雙邊框的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
CSS旋轉木馬內的捲軸驅動動畫CSS旋轉木馬內的捲軸驅動動畫May 16, 2025 am 09:50 AM

嘿,不是與滾動區域一起使用的相當新的CSS功能嗎?哦,是的,那是捲軸驅動的動畫。是否應該在滾動瀏覽CSS旋轉木馬中的項目時觸發動畫嗎?

CSS包含:為您的項目選擇正確的方法CSS包含:為您的項目選擇正確的方法May 16, 2025 am 12:02 AM

ThebestmethodforincludingCSSdependsonprojectsizeandcomplexity:1)Forlargerprojects,useexternalCSSforbettermaintainabilityandperformance.2)Forsmallerprojects,internalCSSissuitabletoavoidextraHTTPrequests.Alwaysconsidermaintainabilityandperformancewhenc

這不應該發生:對不可能進行故障排除這不應該發生:對不可能進行故障排除May 15, 2025 am 10:32 AM

解決這些不可能的問題之一,這是您從未想過的其他問題的問題。

@KeyFrames vs CSS過渡:有什麼區別?@KeyFrames vs CSS過渡:有什麼區別?May 14, 2025 am 12:01 AM

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

使用頁面CMS進行靜態站點內容管理使用頁面CMS進行靜態站點內容管理May 13, 2025 am 09:24 AM

我知道,我知道:有大量的內容管理系統選項可用,而我進行了幾個測試,但實際上沒有一個是一個,y'知道嗎?怪異的定價模型,艱難的自定義,有些甚至最終成為整個&

鏈接HTML中CSS文件的最終指南鏈接HTML中CSS文件的最終指南May 13, 2025 am 12:02 AM

鏈接CSS文件到HTML可以通過在HTML的部分使用元素實現。 1)使用標籤鏈接本地CSS文件。 2)多個CSS文件可通過添加多個標籤實現。 3)外部CSS文件使用絕對URL鏈接,如。 4)確保正確使用文件路徑和CSS文件加載順序,優化性能可使用CSS預處理器合併文件。

CSS Flexbox與網格:全面評論CSS Flexbox與網格:全面評論May 12, 2025 am 12:01 AM

選擇Flexbox還是Grid取決於佈局需求:1)Flexbox適用於一維佈局,如導航欄;2)Grid適合二維佈局,如雜誌式佈局。兩者在項目中可結合使用,提升佈局效果。

如何包括CSS文件:方法和最佳實踐如何包括CSS文件:方法和最佳實踐May 11, 2025 am 12:02 AM

包含CSS文件的最佳方法是使用標籤在HTML的部分引入外部CSS文件。 1.使用標籤引入外部CSS文件,如。 2.對於小型調整,可以使用內聯CSS,但應謹慎使用。 3.大型項目可使用CSS預處理器如Sass或Less,通過@import導入其他CSS文件。 4.為了性能,應合併CSS文件並使用CDN,同時使用工具如CSSNano進行壓縮。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。