亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
步驟0:耐心和空間
步驟1:獲取基本圖像
步驟2:扭曲圖像
步驟3:剪輯文本
步驟4:顯示完整圖像
步驟5:再次放置文字…再次
步驟6:創(chuàng)建文本的黑暗邊緣
第7步:讓我們做輕邊
步驟8:結(jié)合邊緣
步驟9:是的,斜角
步驟10:現(xiàn)在在一起!
首頁 web前端 css教學(xué) 用SVG產(chǎn)生逼真的玻璃效果

用SVG產(chǎn)生逼真的玻璃效果

Apr 18, 2025 am 10:01 AM

用SVG產(chǎn)生逼真的玻璃效果

我愛上了SVG。當(dāng)然,一開始代碼看起來很稠密且困難,但是當(dāng)您了解結(jié)果時,您會看到結(jié)果的美麗。獎勵是這些結(jié)果是代碼,因此可以將其連接到CMS。您的設(shè)計師可以放心,因為他們不必為您的網(wǎng)站上的每篇文章或產(chǎn)品重現(xiàn)效果。

今天,我想向您展示如何提出這種玻璃文字效果。

步驟0:耐心和空間

SVG可能會有很多事情要做,尤其是當(dāng)您剛開始學(xué)習(xí)它時(如果是,克里斯的書是一個不錯的起點)。這實際上是一種全新的語言,尤其是對於缺乏設(shè)計排骨的人,有很多新的技術(shù)和考慮因素需要了解。但是,像HTML一樣,您會發(fā)現(xiàn)我們可以提供一些工具,以幫助使SVG更容易掌握。因此,請保持耐心並繼續(xù)嘗試!

另外,給自己空間。字面上地。 SVG代碼很密集,因此我喜歡使用兩三個新線路將其置於空間狀態(tài)。它使代碼更容易閱讀,並幫助我了解如何分離不同的零件,而視覺分散較少。哦,並使用評論標(biāo)記您在文檔中的位置。這可以幫助組織您的想法並記錄您的發(fā)現(xiàn)。

在學(xué)習(xí)這種玻璃效果的過程中,我為每一步進(jìn)行了演示,以幫助鞏固我們涵蓋的事情。

好的,現(xiàn)在我們已經(jīng)做好了精神準(zhǔn)備,讓我們進(jìn)入它的肉!

步驟1:獲取基本圖像

首先:我們需要圖像作為玻璃效果的背景。在這裡,我們有一個元素和。這類似於在HTML中添加用SVG產(chǎn)生逼真的玻璃效果。您會注意到SVG元素中“ Viewbox屬性”的尺寸和元素相同。這樣可以確保與我們鏈接到的實際圖片完全相同。

這是要注意的關(guān)鍵區(qū)別:我們正在鏈接到圖像。 SVG文件本身不會繪製柵格圖像,但是我們可以在SVG代碼中引用一個圖像,並確保資產(chǎn)位於我們指向的位置。如果您以前曾與Adobe Indesign合作過,那麼這很像是在佈局中鏈接到圖像資產(chǎn) - 圖像在Indesign佈局中,但資產(chǎn)本身實際上居住在其他地方。

步驟2:扭曲圖像

到目前為止,直截了當(dāng),這是事情變得複雜的地方,因為我們將在剛插入的圖像中添加過濾器。該過濾器將扭曲圖像。如果您仔細(xì)觀察最後一步中的演示之間的差異,那麼您會發(fā)現(xiàn)圖像中對象的邊緣有點粗糙和波浪狀。那是工作中的過濾器!

首先,我們創(chuàng)建另一個以保持過濾器。這意味著,如果我們想重複使用過濾器(例如頁面上的多個元素),那麼我們完全可以!

我們的第一個過濾器(#displacement)將扭曲我們的圖像。我們將使用胎兒和聯(lián)合置換術(shù),每種薩拉·索伊丹(Sara Soueidan)所解釋的要好於我在這篇文章中的能力。博·傑克遜(Beau Jackson)還寫了一篇不錯的作品,展示瞭如何使用它們來產(chǎn)生雲(yún)效果??梢哉f,這兩個過濾器傾向於一起進(jìn)行,我想將它們視為需要“搖擺”的東西時。

有了我們的過濾器容器,我們只需要在上使用過濾器屬性將該過濾器應(yīng)用於我們的圖像!

 <svg>

  
  
  
  
  <filter>
    
    <fedisplacementmap in2="“湍流”" in="“" sourcegraphic scale="“" xchannelselector="“" r ychannelselector="“" g></fedisplacementmap>
  </filter>

  

</svg> 

步驟3:剪輯文本

不過,我們不希望整個圖像被扭曲。我們將把扭曲的的形狀剪切到某些文本的形狀。從本質(zhì)上講,這將是“通過”玻璃的圖片的一部分。

為此,我們需要在中添加元素並給它一個ID?,F(xiàn)在,在我們的的剪輯中調(diào)用此ID將其形狀限制為我們的的形狀。精彩的!

步驟4:顯示完整圖像

好的,所以我們將扭曲的夾在上是布宜諾,但是現(xiàn)在圖像的其餘部分消失了。沒有布宜諾。

我們可以通過添加相同的副本來抵消這一點,但是在我們現(xiàn)有的之前沒有剪輯路徑或過濾器屬性。這是我喜歡添加一些不錯的評論以保持整潔的地方。這個想法就像將透明層放在我們到目前為止的層面上。

我知道,我知道,這不是很整潔,我們正在重複自己。理想情況下,我們將過濾器直接設(shè)置在元素上,並使用in =“ fordisplacementmap的背景圖像屬性扭曲文本背後的內(nèi)容,而無需額外的元素。不幸的是,這具有較差的瀏覽器支持,因此我們將使用多個圖像。

 <svg>

  

  
  <image xlink https:>
  

</image></svg> 

步驟5:再次放置文字…再次

接下來,我們將像最後一步一樣複製文本。不幸的是,由於文本在剪輯路徑中,因此現(xiàn)在無法渲染。我保證,這是我們最後一次重複這樣的內(nèi)容!

現(xiàn)在,我們應(yīng)該擁有一些看起來像普通圖像,上面有黑色文字。如果我們已經(jīng)製作的上的失真過濾器是我們可以看到的“通過”玻璃,那麼我們的新將是玻璃本身。

 <svg>

  

  
  <clippath>
    <text x="“" y="“" text-andor="“中間”"> kyoto </text>
  </clippath>
        
  
  <text x="“" y="“" text-andor="“中間”"> kyoto </text>



</svg> 

步驟6:創(chuàng)建文本的黑暗邊緣

至少對我來說,這是開始變得令人興奮的地方! ?

我們想沿文本元素創(chuàng)建一個深色邊緣,當(dāng)與光邊緣配對時(接下來我們將要查看),將在圖像上為文本的外觀增添深度。

我們想要一個新的過濾器,所以讓我們在過濾器的SVG元素中創(chuàng)建一個過濾器,並給它一個4“以達(dá)到玻璃效果,但是看看如果將其設(shè)置為1…或100,會發(fā)生什麼!

FeOffset用於在X-或Y軸上移動上一個原始(股骨學(xué))中的所有“像素”。值dx =“ 5”和dy =“ 5”分別在x軸和y軸上移動“像素”。數(shù)字越高,他們移動的越遠(yuǎn)。對DX的負(fù)數(shù)為負(fù)數(shù),“像素”將向左移動。負(fù)面的dy,他們會上升!同樣,當(dāng)您與他們一起玩耍時,您開始學(xué)習(xí)的東西。

我圍繞“像素”的引號的原因是因為它們不是像您在CSS中所期望的那樣的屏幕像素。相反,他們指的是我們在父上設(shè)置的尺寸。我認(rèn)為它們是百分比。在我們的示例中,我們已經(jīng)使用了這些設(shè)置ViewBox =“ 0 0 1890 1260”。這意味著我們的是1890年的“像素”寬。如果我們設(shè)置dx =“ 189”,則意味著我們將在SVG上移動10%的元素(1890除以189)。

feflood很棒。如果您想用顏色填充屏幕,這是您需要的原始內(nèi)容!您可能想知道為什麼我們現(xiàn)在無法閱讀我們的文本。那是因為您只能看到創(chuàng)建的最後一個過濾器原始的結(jié)果。每個先前的原語的結(jié)果都與我們的元素有關(guān)。 Feflood的結(jié)果就像它的名字一樣:顏色氾濫。它不知道您以前做了什麼,也不在乎 - 它只是將顏色填滿區(qū)域。

在這裡,有些人開始對SVG感到沮喪。當(dāng)您不到某件事時,很難處理!相信我,隨著您與SVG合作,您會習(xí)慣這一點。實際上,接下來的幾個步驟將需要我們依靠這一點,並相信一切仍然存在。

繁殖力將為我們解決這個問題。它做什麼? MDN將其描述為:

SVG Filter使用Porter-Duff合成操作之一:在圖像空間中,在圖像空間中執(zhí)行兩個輸入圖像的組合:在,in,in,in,cop,cop,out,xor和lighter上。

對我來說,吉布巴·賈巴(Jibba-Jabba)。我認(rèn)為它會影響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步:讓我們做輕邊

這與我們的字面意義上的基本相同,但是我們將使用負(fù)DX/DY值向向左移動並向左移動。這次我們還設(shè)置了略帶白色的顏色。我們的目標(biāo)是良好的深度效果。

我們再次處於一個我們可以看到的是濾鏡原始的最新結(jié)果,但是我們看不到深色邊緣!繁殖不是我們要用來將它們?nèi)诤显谝黄鸬臇|西,因為我們不希望淺邊緣顏色的深色邊緣的alpha……我們希望看到兩者!這導(dǎo)致我們……

 <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:結(jié)合邊緣

股!這是英雄。它使我們能夠取得許多原始結(jié)果並將其合併,製作新圖像。哇,我們現(xiàn)在可以一起看到黑暗和淺邊緣!

但是,我們確實希望它們是邊緣,而不是填充整個文本,因此我們需要刪除原始佔用的空間。接下來,我們需要的另一個繁殖物可以砍掉原始的源圖。因為我們使用股骨學(xué)來為我們的邊緣增添了字母,所以我們現(xiàn)在可以從雌性的結(jié)果中切碎原始字母。

 <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> 

現(xiàn)在,我們開始看起來像玻璃,只缺少一塊。

步驟9:是的,斜角

我們具有相當(dāng)不錯的3D玻璃效果。但是,字母看起來很平坦。讓我們再增加一個效果,使它們看起來更圓潤。

為了實現(xiàn)這一目標(biāo),我們將創(chuàng)造出一種偏愛的效果。

首先,我們將使用fegaussianblur。這會稍微模糊我們現(xiàn)有的過濾器。我們將使用這種模糊的結(jié)果作為基礎(chǔ),以添加一些fepecularighting。像往常一樣,請隨時在這裡玩數(shù)字,看看您可以獲得什麼效果!您可能要更改的主要屬性是照明顏色屬性。我們在這裡使用的圖像有點黑,因此我們使用的是明亮的照明色。如果您的圖像非常明亮,這將使字母難以閱讀,因此在這種情況下,您可能會使用較深的照明色。

 <svg>
  <filter>
  
    

    <fegaussianblur stddeviation="“" bevel_blur></fegaussianblur>
    <fesculllighting bevel_lighting in="“" bevel_blur specularconstant="“" phepularexponent="“" lighting-color="“" rgba>
      
    
    
</fesculllighting></filter></svg> 

步驟10:現(xiàn)在在一起!

最後,準(zhǔn)備好所有的碎片,我們最後一位動股會為完成效果做好一切準(zhǔn)備!

 <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產(chǎn)生逼真的玻璃效果的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
CSS教程,用於創(chuàng)建加載旋轉(zhuǎn)器和動畫 CSS教程,用於創(chuàng)建加載旋轉(zhuǎn)器和動畫 Jul 07, 2025 am 12:07 AM

創(chuàng)建CSS加載旋轉(zhuǎn)器的方法有三種:1.使用邊框的基本旋轉(zhuǎn)器,通過HTML和CSS實現(xiàn)簡單動畫;2.使用多個點的自定義旋轉(zhuǎn)器,通過不同延遲時間實現(xiàn)跳動效果;3.在按鈕中添加旋轉(zhuǎn)器,通過JavaScript切換類來顯示加載狀態(tài)。每種方法都強調(diào)了設(shè)計細(xì)節(jié)如顏色、大小、可訪問性和性能優(yōu)化的重要性,以提升用戶體驗。

解決CSS瀏覽器兼容性問題和前綴 解決CSS瀏覽器兼容性問題和前綴 Jul 07, 2025 am 01:44 AM

處理CSS瀏覽器兼容性和前綴問題需理解瀏覽器支持差異並合理使用廠商前綴。 1.了解常見問題如Flexbox、Grid支持不一,position:sticky失效,動畫表現(xiàn)不同;2.查閱CanIuse確認(rèn)特性支持情況;3.正確使用-webkit-、-moz-、-ms-、-o-等廠商前綴;4.推薦使用Autoprefixer自動添加前綴;5.安裝PostCSS並配置browserslist指定目標(biāo)瀏覽器;6.構(gòu)建時自動處理兼容性;7.老項目可用Modernizr檢測特性;8.不必追求所有瀏覽器一致,確

顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什麼區(qū)別? 顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什麼區(qū)別? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:inline,block,andinline-blockinHTML/CSSarelayoutbehavior,spaceusage,andstylingcontrol.1.Inlineelementsflowwithtext,don’tstartonnewlines,ignorewidth/height,andonlyapplyhorizo????ntalpadding/margins—idealforinlinetextstyling

使用CSS剪輯路徑創(chuàng)建自定義形狀 使用CSS剪輯路徑創(chuàng)建自定義形狀 Jul 09, 2025 am 01:29 AM

使用CSS的clip-path屬性可以裁剪元素為自定義形狀,如三角形、圓形缺口、多邊形等,無需依賴圖片或SVG。其優(yōu)勢包括:1.支持circle、ellipse、polygon等多種基本形狀;2.可響應(yīng)式調(diào)整,適配移動端;3.易於動畫化,可結(jié)合hover或JavaScript實現(xiàn)動態(tài)效果;4.不影響佈局流,僅裁剪顯示區(qū)域。常見用法如圓形裁剪clip-path:circle(50pxatcenter)和三角形裁剪clip-path:polygon(50%0%,1000%,00%)。注意

造型與CSS不同訪問的鏈接 造型與CSS不同訪問的鏈接 Jul 11, 2025 am 03:26 AM

設(shè)置訪問過鏈接的樣式能提升用戶體驗,尤其在內(nèi)容密集型網(wǎng)站中幫助用戶更好導(dǎo)航。 1.使用CSS的:visited偽類可定義已訪問鏈接樣式,如顏色變化;2.注意瀏覽器出於隱私限制僅允許修改部分屬性;3.顏色選擇應(yīng)與整體風(fēng)格協(xié)調(diào),避免突兀;4.移動端可能不顯示該效果,建議結(jié)合其他視覺提示如icon輔助標(biāo)識。

如何使用CSS創(chuàng)建響應(yīng)式圖像? 如何使用CSS創(chuàng)建響應(yīng)式圖像? Jul 15, 2025 am 01:10 AM

要使用CSS創(chuàng)建響應(yīng)式圖片,主要可通過以下方法實現(xiàn):1.使用max-width:100%和height:auto讓圖片在保持比例的同時自適應(yīng)容器寬度;2.結(jié)合HTML的srcset和sizes屬性智能加載適配不同屏幕的圖片源;3.利用object-fit和object-position控製圖片裁剪與焦點展示。這些方法共同確保圖片在不同設(shè)備上清晰、美觀地呈現(xiàn)。

什麼是常見的CSS瀏覽器不一致? 什麼是常見的CSS瀏覽器不一致? Jul 26, 2025 am 07:04 AM

不同瀏覽器對CSS解析存在差異,導(dǎo)致顯示效果不一致,主要包括默認(rèn)樣式差異、盒模型計算方式、Flexbox和Grid佈局支持程度及某些CSS屬性行為不一致。 1.默認(rèn)樣式處理不一致,解決方法是使用CSSReset或Normalize.css統(tǒng)一初始樣式;2.舊版IE的盒模型計算方式不同,建議統(tǒng)一使用box-sizing:border-box;3.Flexbox和Grid在邊緣情況或舊版本中表現(xiàn)有差異,應(yīng)多測試並使用Autoprefixer;4.某些CSS屬性行為不一致,需查閱CanIuse並提供降級

揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 Jul 08, 2025 am 02:16 AM

CSS單位的選擇取決於設(shè)計需求和響應(yīng)式要求。 1.px用於固定尺寸,適合精確控制但缺乏彈性;2.em是相對單位,受父元素影響易導(dǎo)致級聯(lián)問題,rem則基於根元素更穩(wěn)定,適合全局縮放;3.vw/vh基於視口大小,適合響應(yīng)式設(shè)計,但需注意極端屏幕下的表現(xiàn);4.選擇時應(yīng)根據(jù)是否需要響應(yīng)式調(diào)整、元素層級關(guān)係及視口依賴程度來決定,合理搭配使用可提升佈局靈活性與維護(hù)性。

See all articles