」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > CSS 中帶有 Drop-Shadow 的真實感陰影

CSS 中帶有 Drop-Shadow 的真實感陰影

發佈於2024-07-30
瀏覽:342

介紹

Image description

最近,我們面臨著為與 Little Thai 合作的新專案創建逼真陰影的挑戰。經過廣泛的研究,我們發現可用的資訊並不多。我們開始使用 CSS 中的 drop-shadow 指令來開發自己的技術,結果非常驚人。今天我們想與社區分享我們是如何實現這一目標的,以便每個人都能從這一進步中受益。

這部分開發的要求很明確;我們需要為 Little Thai 商店的產品提供逼真的陰影。為什麼?我們的想法是創建一個數位展示櫃,以便用戶可以購買該公司提供的產品。該提案的想法是以俯視視角展示產品,就好像它們被放置在桌子上一樣。為了使其更加真實,我們需要這些成分來產生逼真的陰影。此時,有兩個選擇。一方面,可以用 Photoshop 來完成。該影片解釋瞭如何做到這一點。另一方面,它可以透過 CSS 使用新的 drop-shadow 指令來完成。

這是一個挑戰,因為正如我們所提到的,沒有關於如何在 Photoshop 中製作逼真陰影的資訊。然而,這使我們不必在 Photoshop 中編輯商店中的數十種產品,而且不必每次添加新產品時都進行編輯。那怎麼辦呢?

科技

CSS中的drop-shadow指令是為圖形元素添加陰影的強大工具。然而,在尋求逼真效果時,它的使用並不總是那麼簡單。我們的解決方案是基於應用具有不同參數的多個陰影來實現更深、更真實的效果。

使用的 CSS 程式碼

這是我們用來創造逼真陰影的 CSS 程式碼:

過濾器: drop-shadow(17px 17px 13px rgba(0, 0, 0, 0.3)) drop-shadow(7px 7px 4.5px rgba(0, 0, 0, 0.3));

程式碼說明

第一個陰影:17px 17px 13px rgba(0, 0, 0, 0.3):這個陰影是最大且最分散的。這些參數表示陰影在 X 軸和 Y 軸上位移 17 像素,模糊為 13 像素,不透明度為 30%。

第二個陰影:7px 7px 4.5px rgba(0, 0, 0, 0.3):此陰影比第一個陰影更小且漫反射更少。這些參數表示陰影在 X 軸和 Y 軸上位移 7 像素,模糊度為 4.5 像素,不透明度為 30%。

這兩個陰影的組合創造了一種單一陰影難以實現的深度感和真實感。

視覺範例 以下是使用我們的真實感陰影技術的最終結果的視覺範例:

需要強調兩點:

— 陰影在柔和的灰色色調而不是純白色上效果最佳。

-在這種情況下,陰影是為頂視圖設計的。在其他拍攝角度下效果不佳。

實際應用

該技術可用於多種環境,從線上商店中的產品圖像到公司網站上的圖形元素。創建逼真陰影的能力可以顯著改善項目的視覺外觀和感知品質。

CSS 中的線上真實感陰影產生器

您可以在 MandarinaWebs 網站找到線上產生器

結論

我們非常高興與開發人員和設計師社群分享這項技術。我們相信,對於任何希望增強網路專案美感的專業人士來說,它都是一個有價值的工具。我們很樂意聽到您的回饋,並了解您如何在自己的工作中應用此技術。

版本聲明 本文轉載於:https://dev.to/mandarina_webs/photorealistic-shadows-in-css-with-drop-shadow-3b92?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 如何配置Pytesseract以使用數字輸出的單位數字識別?
    如何配置Pytesseract以使用數字輸出的單位數字識別?
    Pytesseract OCR具有單位數字識別和僅數字約束 在pytesseract的上下文中,在配置tesseract以識別單位數字和限制單個數字和限制輸出對數字可能會提出質疑。 To address this issue, we delve into the specifics of Te...
    程式設計 發佈於2025-04-01
  • 如何使用Java.net.urlConnection和Multipart/form-data編碼使用其他參數上傳文件?
    如何使用Java.net.urlConnection和Multipart/form-data編碼使用其他參數上傳文件?
    使用http request 上傳文件上傳到http server,同時也提交其他參數,java.net.net.urlconnection and Multipart/form-data Encoding是普遍的。 Here's a breakdown of the process:Mu...
    程式設計 發佈於2025-04-01
  • 如何干淨地刪除匿名JavaScript事件處理程序?
    如何干淨地刪除匿名JavaScript事件處理程序?
    刪除匿名事件偵聽器將匿名事件偵聽器添加到元素中會提供靈活性和簡單性,但是當要刪除它們時,可以構成挑戰,而無需替換元素本身就可以替換一個問題。 element? element.addeventlistener(event,function(){/在這里工作/},false); 要解決此問題,請考...
    程式設計 發佈於2025-04-01
  • 如何檢查對像是否具有Python中的特定屬性?
    如何檢查對像是否具有Python中的特定屬性?
    方法來確定對象屬性存在尋求一種方法來驗證對像中特定屬性的存在。考慮以下示例,其中嘗試訪問不確定屬性會引起錯誤: >>> a = someClass() >>> A.property Trackback(最近的最新電話): 文件“ ”,第1行, attributeError:SomeClass實...
    程式設計 發佈於2025-04-01
  • 如何從Google API中檢索最新的jQuery庫?
    如何從Google API中檢索最新的jQuery庫?
    從Google APIS 問題中提供的jQuery URL是版本1.2.6。對於檢索最新版本,以前有一種使用特定版本編號的替代方法,它是使用以下語法:獲取最新版本:未壓縮)While these legacy URLs still remain in use, it is recommended ...
    程式設計 發佈於2025-04-01
  • 如何在JavaScript對像中動態設置鍵?
    如何在JavaScript對像中動態設置鍵?
    在嘗試為JavaScript對象創建動態鍵時,如何使用此Syntax jsObj['key' i] = 'example' 1;不工作。正確的方法採用方括號: jsobj ['key''i] ='example'1; 在JavaScript中,數組是一...
    程式設計 發佈於2025-04-01
  • 為什麼PYTZ最初顯示出意外的時區偏移?
    為什麼PYTZ最初顯示出意外的時區偏移?
    與pytz 最初從pytz獲得特定的偏移。例如,亞洲/hong_kong最初顯示一個七個小時37分鐘的偏移: 差異源利用本地化將時區分配給日期,使用了適當的時區名稱和偏移量。但是,直接使用DateTime構造器分配時區不允許進行正確的調整。 example pytz.timezone(&#...
    程式設計 發佈於2025-04-01
  • 如何正確使用與PDO參數的查詢一樣?
    如何正確使用與PDO參數的查詢一樣?
    在pdo 中使用類似QUERIES在PDO中的Queries時,您可能會遇到類似疑問中描述的問題:此查詢也可能不會返回結果,即使$ var1和$ var2包含有效的搜索詞。錯誤在於不正確包含%符號。 通過將變量包含在$ params數組中的%符號中,您確保將%字符正確替換到查詢中。沒有此修改,PD...
    程式設計 發佈於2025-04-01
  • 如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    為有效的slug生成首先,該函數用指定的分隔符替換所有非字母或數字字符。此步驟可確保slug遵守URL慣例。隨後,它採用ICONV函數將文本簡化為us-ascii兼容格式,從而允許更廣泛的字符集合兼容性。 接下來,該函數使用正則表達式刪除了不需要的字符,例如特殊字符和空格。此步驟可確保slug僅包...
    程式設計 發佈於2025-04-01
  • eval()vs. ast.literal_eval():對於用戶輸入,哪個Python函數更安全?
    eval()vs. ast.literal_eval():對於用戶輸入,哪個Python函數更安全?
    稱量()和ast.literal_eval()中的Python Security 在使用用戶輸入時,必須優先確保安全性。強大的python功能eval()通常是作為潛在解決方案而出現的,但擔心其潛在風險。 This article delves into the differences betwee...
    程式設計 發佈於2025-04-01
  • 如何使用Regex在PHP中有效地提取括號內的文本
    如何使用Regex在PHP中有效地提取括號內的文本
    php:在括號內提取文本在處理括號內的文本時,找到最有效的解決方案是必不可少的。一種方法是利用PHP的字符串操作函數,如下所示: 作為替代 $ text ='忽略除此之外的一切(text)'; preg_match('#((。 &&& [Regex使用模式來搜索特...
    程式設計 發佈於2025-04-01
  • 如何在php中使用捲髮發送原始帖子請求?
    如何在php中使用捲髮發送原始帖子請求?
    如何使用php 創建請求來發送原始帖子請求,開始使用curl_init()開始初始化curl session。然後,配置以下選項: curlopt_url:請求 [要發送的原始數據指定內容類型,為原始的帖子請求指定身體的內容類型很重要。在這種情況下,它是文本/平原。要執行此操作,請使用包含以下標頭...
    程式設計 發佈於2025-04-01
  • 如何在GO編譯器中自定義編譯優化?
    如何在GO編譯器中自定義編譯優化?
    在GO編譯器中自定義編譯優化 GO中的默認編譯過程遵循特定的優化策略。 However, users may need to adjust these optimizations for specific requirements.Optimization Control in Go Compi...
    程式設計 發佈於2025-04-01
  • 如何將來自三個MySQL表的數據組合到新表中?
    如何將來自三個MySQL表的數據組合到新表中?
    mysql:從三個表和列的新表創建新表 答案:為了實現這一目標,您可以利用一個3-way Join。 選擇p。 *,d.content作為年齡 來自人為p的人 加入d.person_id = p.id上的d的詳細信息 加入T.Id = d.detail_id的分類法 其中t.taxonomy ...
    程式設計 發佈於2025-04-01
  • 為什麼Microsoft Visual C ++無法正確實現兩台模板的實例?
    為什麼Microsoft Visual C ++無法正確實現兩台模板的實例?
    在Microsoft Visual C 中,Microsoft consions用戶strate strate strate strate strate strate strate strate strate strate strate strate strate strate strate st...
    程式設計 發佈於2025-04-01

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3