我愛上了SVG。當然,一開始代碼看起來很稠密且困難,但是當您了解結果時,您會看到結果的美麗。獎勵是這些結果是代碼,因此可以將其連接到CMS。您的設計師可以放心,因為他們不必為您的網站上的每篇文章或產品重現效果。
今天,我想向您展示如何提出這種玻璃文字效果。
步驟0:耐心和空間
SVG可能會有很多事情要做,尤其是當您剛開始學習它時(如果是,克里斯的書是一個不錯的起點)。這實際上是一種全新的語言,尤其是對於缺乏設計排骨的人,有很多新的技術和考慮因素需要了解。但是,像HTML一樣,您會發現我們可以提供一些工具,以幫助使SVG更容易掌握。因此,請保持耐心並繼續嘗試!
另外,給自己空間。字面上地。 SVG代碼很密集,因此我喜歡使用兩三個新線路將其置於空間狀態。它使代碼更容易閱讀,並幫助我了解如何分離不同的零件,而視覺分散較少。哦,並使用評論標記您在文檔中的位置。這可以幫助組織您的想法並記錄您的發現。
在學習這種玻璃效果的過程中,我為每一步進行了演示,以幫助鞏固我們涵蓋的事情。
好的,現在我們已經做好了精神準備,讓我們進入它的肉!
步驟1:獲取基本圖像
首先:我們需要圖像作為玻璃效果的背景。在這裡,我們有一個
這是要注意的關鍵區別:我們正在鏈接到圖像。 SVG文件本身不會繪製柵格圖像,但是我們可以在SVG代碼中引用一個圖像,並確保資產位於我們指向的位置。如果您以前曾與Adobe Indesign合作過,那麼這很像是在佈局中鏈接到圖像資產 - 圖像在Indesign佈局中,但資產本身實際上居住在其他地方。
步驟2:扭曲圖像
到目前為止,直截了當,這是事情變得複雜的地方,因為我們將在剛插入的圖像中添加過濾器。該過濾器將扭曲圖像。如果您仔細觀察最後一步中的演示之間的差異,那麼您會發現圖像中對象的邊緣有點粗糙和波浪狀。那是工作中的過濾器!
首先,我們創建另一個
我們的第一個過濾器(#displacement)將扭曲我們的圖像。我們將使用胎兒和聯合置換術,每種薩拉·索伊丹(Sara Soueidan)所解釋的要好於我在這篇文章中的能力。博·傑克遜(Beau Jackson)還寫了一篇不錯的作品,展示瞭如何使用它們來產生雲效果。可以說,這兩個過濾器傾向於一起進行,我想將它們視為需要“搖擺”的東西時。
有了我們的過濾器容器,我們只需要在
<svg> <filter> <fedisplacementmap in2="“湍流”" in="“" sourcegraphic scale="“" xchannelselector="“" r ychannelselector="“" g></fedisplacementmap> </filter> </svg>
步驟3:剪輯文本
不過,我們不希望整個圖像被扭曲。我們將把扭曲的
為此,我們需要在
步驟4:顯示完整圖像
好的,所以我們將扭曲的
我們可以通過添加相同
我知道,我知道,這不是很整潔,我們正在重複自己。理想情況下,我們將過濾器直接設置在
<svg> <image xlink https:> </image></svg>
步驟5:再次放置文字…再次
接下來,我們將像最後一步一樣複製文本。不幸的是,由於文本在剪輯路徑中,因此現在無法渲染。我保證,這是我們最後一次重複這樣的內容!
現在,我們應該擁有一些看起來像普通圖像,上面有黑色文字。如果我們已經製作的
<svg> <clippath> <text x="“" y="“" text-andor="“中間”"> kyoto </text> </clippath> <text x="“" y="“" text-andor="“中間”"> kyoto </text> </svg>
步驟6:創建文本的黑暗邊緣
至少對我來說,這是開始變得令人興奮的地方! ?
我們想沿文本元素創建一個深色邊緣,當與光邊緣配對時(接下來我們將要查看),將在圖像上為文本的外觀增添深度。
我們想要一個新的過濾器,所以讓我們在過濾器的SVG元素中創建一個過濾器,並給它一個4“以達到玻璃效果,但是看看如果將其設置為1…或100,會發生什麼!
FeOffset用於在X-或Y軸上移動上一個原始(股骨學)中的所有“像素”。值dx =“ 5”和dy =“ 5”分別在x軸和y軸上移動“像素”。數字越高,他們移動的越遠。對DX的負數為負數,“像素”將向左移動。負面的dy,他們會上升!同樣,當您與他們一起玩耍時,您開始學習的東西。
我圍繞“像素”的引號的原因是因為它們不是像您在CSS中所期望的那樣的屏幕像素。相反,他們指的是我們在父
feflood很棒。如果您想用顏色填充屏幕,這是您需要的原始內容!您可能想知道為什麼我們現在無法閱讀我們的文本。那是因為您只能看到創建的最後一個過濾器原始的結果。每個先前的原語的結果都與我們的
在這裡,有些人開始對SVG感到沮喪。當您看不到某件事時,很難處理!相信我,隨著您與SVG合作,您會習慣這一點。實際上,接下來的幾個步驟將需要我們依靠這一點,並相信一切仍然存在。
繁殖力將為我們解決這個問題。它做什麼? MDN將其描述為:
這
SVG Filter使用Porter-Duff合成操作之一:在圖像空間中,在圖像空間中執行兩個輸入圖像的組合:在,in,in,in,cop,cop,out,xor和lighter上。
對我來說,吉布巴·賈巴(Jibba-Jabba)。我認為它會影響In2的顏色/α的α層。
有了這一點,我們可以再次看到我們的文本拼寫出來,並且由於我們使用的顏色略有透明,因此我們甚至可以看到扭曲的“玻璃”效果。偉大的!
<svg> <feconvolvematrix order="“" kernelmatrix="“" in="“" dark_edge_01 dark_edge_02></feconvolvematrix> <feoffset dx="“" dy="“" in="“" dark_edge_02 dark_edge_03></feoffset> <feflood flood-color="“" rgba dark_edge_04></feflood> <fecomposite in="“" dark_edge_04 in2="“" dark_edge_03 operator="“" dark_edge></fecomposite> </svg>
第7步:讓我們做輕邊
這與我們的字面意義上的基本相同,但是我們將使用負DX/DY值向向左移動並向左移動。這次我們還設置了略帶白色的顏色。我們的目標是良好的深度效果。
我們再次處於一個我們可以看到的是濾鏡原始的最新結果,但是我們看不到深色邊緣!繁殖不是我們要用來將它們融合在一起的東西,因為我們不希望淺邊緣顏色的深色邊緣的alpha……我們希望看到兩者!這導致我們……
<svg> <filter> <feconvolvematrix order="“" kernelmatrix="“" in="”" light_edge_01 light_edge_02></feconvolvematrix> <feoffset dx="“" dy="“" in="“" light_edge_02 light_edge_03></feoffset> <feflood flood-color="“" rgba light_edge_04></feflood> <fecomposite in="“" light_edge_04 in2="“" light_edge_03 operator="“" result="“" light_edge></fecomposite> </filter> </svg>
步驟8:結合邊緣
股!這是英雄。它使我們能夠取得許多原始結果並將其合併,製作新圖像。哇,我們現在可以一起看到黑暗和淺邊緣!
但是,我們確實希望它們是邊緣,而不是填充整個文本,因此我們需要刪除原始
<svg> <filter> <femerge edges> <femergenode in="“" dark_edge></femergenode> <femergenode in="“" light_edge></femergenode> </femerge> <fecomposite in="“" edges in2="“" sourcegraphic operator="“" out edges_complete></fecomposite> </filter> </svg>
現在,我們開始看起來像玻璃,只缺少一塊。
步驟9:是的,斜角
我們具有相當不錯的3D玻璃效果。但是,字母看起來很平坦。讓我們再增加一個效果,使它們看起來更圓潤。
為了實現這一目標,我們將創造出一種偏愛的效果。
首先,我們將使用fegaussianblur。這會稍微模糊我們現有的過濾器。我們將使用這種模糊的結果作為基礎,以添加一些fepecularighting。像往常一樣,請隨時在這裡玩數字,看看您可以獲得什麼效果!您可能要更改的主要屬性是照明顏色屬性。我們在這裡使用的圖像有點黑,因此我們使用的是明亮的照明色。如果您的圖像非常明亮,這將使字母難以閱讀,因此在這種情況下,您可能會使用較深的照明色。
<svg> <filter> <fegaussianblur stddeviation="“" bevel_blur></fegaussianblur> <fesculllighting bevel_lighting in="“" bevel_blur specularconstant="“" phepularexponent="“" lighting-color="“" rgba> </fesculllighting></filter></svg>
步驟10:現在在一起!
最後,準備好所有的碎片,我們最後一位動股會為完成效果做好一切準備!
<svg> <filter> <femerge> <femergenode in="“" edges_complete></femergenode> <femergenode in="“" bevel_complete></femergenode> </femerge> </filter> </svg>
這是一切在一起,很好地分開並評論:
<svg viewbox="“"> <image xlink https:> <clippath> <text x="“" y="“" text-andor="“中間”"> kyoto </text> </clippath> <text x="“" y="“" text-andor="“中間”" filter="“" url> kyoto </text> </image></svg> <svg> <filter> <fedisplacementmap in2="“湍流”" in="“" sourcegraphic scale="“" xchannelselector="“" r ychannelselector="“" g></fedisplacementmap> </filter> <filter> <feoffset dx="“" dy="“" in="“" dark_edge_01 dark_edge_03></feoffset> <feflood flood-color="“" rgba dark_edge_04></feflood> <fecomposite in="“" dark_edge_04 in2="“" dark_edge_03 operator="“" dark_edge></fecomposite> <feoffset dx="“" dy="“" in="“" light_edge_01 light_edge_03></feoffset> <feflood flood-color="“" rgba light_edge_04></feflood> <fecomposite in="“" light_edge_04 in2="“" light_edge_03 operator="“" result="“" light_edge></fecomposite> <femerge edges> <femergenode in="“" dark_edge></femergenode> <femergenode in="“" light_edge></femergenode> </femerge> <fecomposite in="“" edges in2="“" sourcegraphic operator="“" out edges_complete></fecomposite> <fegaussianblur stddeviation="“" bevel_blur></fegaussianblur> <fesculllighting bevel_lighting in="“" bevel_blur specularconstant="“" phepularexponent="“" lighting-color="“" rgba> <femerge> <femergenode in="“" edges_complete></femergenode> <femergenode in="“" bevel_complete></femergenode> </femerge> </fesculllighting></filter> </svg>
以上是用SVG產生逼真的玻璃效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在這篇文章中,布萊克·莫里(Blackle Mori)向您展示了一些駭客,同時試圖推動同位HTML支持的極限。如果您敢於使用這些,以免您也被標記為CSS罪犯。

具有CSS的自定義光標很棒,但是我們可以將JavaScript提升到一個新的水平。使用JavaScript,我們可以在光標狀態之間過渡,將動態文本放置在光標中,應用複雜的動畫並應用過濾器。

互動CSS動畫和元素相互啟動的元素在2025年似乎更合理。雖然不需要在CSS中實施乒乓球,但CSS的靈活性和力量的增加,可以懷疑Lee&Aver Lee有一天會成為一種

有關利用CSS背景濾波器屬性來樣式用戶界面的提示和技巧。您將學習如何在多個元素之間進行背景過濾器,並將它們與其他CSS圖形效果集成在一起以創建精心設計的設計。

好吧,事實證明,SVG的內置動畫功能從未按計劃進行棄用。當然,CSS和JavaScript具有承載負載的能力,但是很高興知道Smil並沒有像以前那樣死在水中

是的,讓#039;跳上文字包裝:Safari Technology Preview In Pretty Landing!但是請注意,它與在鉻瀏覽器中的工作方式不同。

此CSS-tricks更新了,重點介紹了年鑑,最近的播客出現,新的CSS計數器指南以及增加了幾位新作者,這些新作者貢獻了有價值的內容。

在大多數情況下,人們展示了@Apply的@Apply功能,其中包括Tailwind的單個property實用程序之一(會改變單個CSS聲明)。當以這種方式展示時,@Apply聽起來似乎很有希望。如此明顯


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

禪工作室 13.0.1
強大的PHP整合開發環境