前端必修技能:高手進階核心知識分享 - CSS 陰影屬性詳解

CSS 涉及設計到陰影的相關內容包括三個方面:box-shadow屬性(盒子陰影)、 text-shadow屬性(文本陰影)、drop-shadow濾鏡。 本篇文章旨在詳細介紹和分析三種陰影的具體參數設置和典型用例。

box-shadow屬性(盒子陰影)

向容器div添加陰影屬性,box-shadow屬性可以設置一個或多個下拉陰影的框。注意:box-shadow可以給同一個元素設置多個陰影效果,并用逗號進行分隔。

box-shadow屬性(盒子陰影)語法

box-shadow: h-shadow v-shadow blur spread color inset;

boxShadow 屬性把一個或多個下拉陰影添加到框上。該屬性是一個用逗號分隔陰影的列表,每個陰影由 2-4 個長度值、一個可選的顏色值和一個可選的 inset 關鍵字來規定。省略長度的值是 0。

說明
h-shadow必需的。水平陰影的位置。允許負值
v-shadow必需的。垂直陰影的位置。允許負值
blur可選。模糊距離
spread可選。陰影的大小
color可選。陰影的顏色。在CSS顏色值尋找顏色值的完整列表
inset可選。 陰影向內擴散,否則陰影向外擴散。

box-shadow屬性(盒子陰影)屬性詳解

基本屬性 | rgba(0,0,0,1.0)

總結:通過上面的屬性演示,基本效果相信大家心里都已經有所收獲。但不知道你發現沒有,我們可以利用shadow屬性實現更多有趣的效果。
  • 利用 h-shadow 和 v-shadow 屬性,可以用來模擬盒子的邊框。
  • 利用 h-shadow、 v-shadow、 和 spread 屬性,我們可以給盒子的邊框增加不同顏色。
  • 結合動畫,利用v-shadow 和inset(內陰影) 可以實現按鈕按下去的效果
  • 再想想,還能做出什么更有趣的效果呢? 浮空? 跳動? 閃爍?

box-shadow屬性(盒子陰影)應用案例

  • 立體按鈕:利用 h-shadow 屬性,模擬按鈕的立體效果。
  • 七彩圓:利用 多重的 spread 屬性,通過調整 spread 數值大小實現了七色圓環套環效果。
  • 凹陷按鈕:利用 blur 屬性實現按鈕的外部漸變,利用inset 1像素的白色陰影,實現按鈕頂部的高光線效果。 當鼠標移動到按鈕上,利用 inset 屬性調整了陰影的灰度,以及1像素的按鈕邊框的高光,使按鈕模擬出被按下的凹陷效果。 文字陰影的配合也恰到好處的實現了凹陷的效果。
  • 閃爍的圓:利用了 blur屬性 與CSS動畫相結合,實現閃爍發光的效果。這個稍微調整一下,可以用來模擬太陽和月亮的發光效果。
  • 進度條:利用inset 1像素的白色陰影,實現進度條頂部的高光線效果,利用inset 5像素的白色陰影,實現按鈕水晶透明的材質效果(上半條高光)。利用inset陰影,模擬進度條灰色背景的凹陷效果
  • 浮空卡片:利用陰影效果,實現了卡片的立體感。配合css動畫,使鼠標移動到卡片上時,產生了卡片懸浮起來與投影產生分離的效果。
  • 運動的小球:球體本身就是通過內陰影實現的。另外疊加的投影配合動畫的放大縮小,實現了這種看起來球體由遠及近的效果。
  • 彩色的花:它是通過多層的彩色陰影疊加和旋轉產生的,也很有趣。
總結:通過上面的屬性應用案例,我們知道了可以利用shadow屬性實現更多有趣的效果,那么期待你去實現更多!

text-shadow屬性(文本陰影)

非常好理解,所見即所得!這個屬性,就是給文本添加陰影效果。注意:?text-shadow屬性連接一個或更多的陰影文本。屬性是陰影,指定的每2或3個長度值和一個可選的顏色值用逗號分隔開來。已失時效的長度為0。- css3 允許一段文字有多層陰影,多層之間用逗號隔開,每一層內,不同參數之間用空格隔開。

text-shadow屬性(文本陰影)語法

text-shadow: h-shadow v-shadow blur color;
描述
h-shadow必需。水平陰影的位置。允許負值。正負不表示大小,只表示方向。水平向右為正,向左為負,單位是px
v-shadow必需。垂直陰影的位置。允許負值。正負不表示大小,只表示方向。水平向下為正,向上為負,單位是px
blur可選。模糊的距離。數值越大陰影越模糊,單位px
color可選。陰影的顏色。參閱?CSS 顏色值。

text-shadow屬性(文本陰影)典型應用

h1{ text-shadow: 2px 2px 5px #ff0000; }

下面是這句代碼的效果:

水平方向向右 2 像素,垂直方向 向下2 像素,模糊距離 5 像素,顏色紅色。需要注意的是,? text-shadow 屬性 與 box-shadow屬性不同,不支持spread 屬性,即不可以調節投影擴散的大小。

text-shadow屬性(文本陰影)應用實例

Drop-shadow 濾鏡

Drop-shadow 可以接受的<shadow>參數介紹

drop-shadow濾鏡可以接受 (shadow)屬性除了"inset"關鍵字的其他值。
  • <offset-x> <offset-y>(必須) 這是設置陰影偏移量的兩個 <length>值. <offset-x> 設定水平方向距離. 負值會使陰影出現在元素左邊. <offset-y>設定垂直距離.負值會使陰影出現在元素上方。查看<length>可能的單位. 如果兩個值都是0, 則陰影出現在元素正后面 (如果設置了 <blur-radius> and/or <spread-radius>,會有模糊效果).
  • <blur-radius> (可選) 這是第三個code><length>值. 值越大,越模糊,則陰影會變得更大更淡.不允許負值 若未設定,默認是0 (則陰影的邊界很銳利).
  • <spread-radius> (可選)? 這是第四個 <length>值. 正值會使陰影擴張和變大,負值會是陰影縮小.若未設定,默認是0 (陰影會與元素一樣大小).
  • 注意: Webkit, 以及一些其他瀏覽器 不支持第四個長度,如果加了也不會渲染。
  • <color> (可選)? ?查看 <color>該值可能的關鍵字和標記。若未設定,顏色值基于瀏覽器。在Gecko (Firefox), Presto (Opera)和Trident (Internet Explorer)中, 會應用colorcolor屬性的值。另外, 如果顏色值省略,WebKit中陰影是透明的。

PS: 由于篇幅和時間有限,本例涉及到的有趣的CSS效果代碼,我將在后續幾日的 CSS技巧 文章中發布出來。當然,大家需要哪個代碼,也可以在評論區留言給我。我會優先發出來的。感謝大家持續關注我!謝謝!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41540.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41540.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41540.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

預防臨床預測模型中可能的“算法歧視”

預防臨床預測模型中可能的“算法歧視” 概要&#xff1a;如果訓練數據中存在性別方面的不均衡&#xff0c;會讓訓練出的模型存在性別方面的“算法歧視”&#xff0c;進而導致某種性別下存在更多的誤診誤治&#xff0c;最終造成醫療資源分配的不公平的倫理問題&#xff0c;導致模…

04.C1W3.Vector Space Models

往期文章請點這里 目錄 Vector Space ModelsWord by Word and Word by DocWord by Document DesignWord by Document DesignVector Space Euclidean DistanceEuclidean distance for n-dimensional vectors Euclidean distance in PythonCosine Similarity: IntuitionCosine S…

STM32-SPI和W25Q64

本內容基于江協科技STM32視頻學習之后整理而得。 文章目錄 1. SPI&#xff08;串行外設接口&#xff09;通信1.1 SPI通信簡介1.2 硬件電路1.3 移位示意圖1.4 SPI時序基本單元1.5 SPI時序1.5.1 發送指令1.5.2 指定地址寫1.5.3 指定地址讀 2. W25Q642.1 W25Q64簡介2.2 硬件電路2…

嵌入式C語言面試相關知識——內存管理(不定期更新)

嵌入式C語言面試相關知識——內存管理&#xff08;不定期更新&#xff09; 一、博客聲明二、自問題目1、嵌入式系統的內存布局是怎么樣的&#xff1f;2、動態內存分配在嵌入式系統中的使用有什么注意事項&#xff1f;3、什么是內存碎片&#xff0c;如何減少內存碎片&#xff1f…

win11自動刪除文件的問題,安全中心提示

win11自動刪除文件的問題&#xff0c;解決方法&#xff1a; 1.點擊任務欄上的開始圖標&#xff0c;在顯示的應用中&#xff0c;點擊打開設置。 或者點擊電腦右下角的開始也可以 2.點擊設置。也可以按Wini打開設置窗口。 3.左側點擊隱私和安全性&#xff0c;右側點擊Windows安全…

我國網絡安全領域有哪些法律法規?主要內容是什么?

1. 背景介紹 網絡信息安全方面的法規在全球范圍內都有相應的立法&#xff0c;我們主要的立法有《網絡安全法》、《密碼法》、《數據安全法》以及《個人信息保護法》。當前也有一些相關的條例和管理辦法&#xff0c;接下來就為大家一一介紹。 2. 法規介紹 在中國&#xff0c;…

多線程(進階)

前言&#x1f440;~ 上一章我們介紹了線程池的一些基本概念&#xff0c;今天接著分享多線程的相關知識&#xff0c;這些屬于是面試比較常見的&#xff0c;大部分都是文本內容 常見的鎖策略 樂觀鎖 悲觀鎖 輕量鎖 重量級鎖 自旋鎖 掛起等待鎖 可重入鎖和不可重入鎖 互斥…

Leetcode 3207. Maximum Points After Enemy Battles

Leetcode 3207. Maximum Points After Enemy Battles 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3207. Maximum Points After Enemy Battles 1. 解題思路 這一題的話其實關鍵在于說是想明白最優策略&#xff0c;事實上這道題的最優策略就是撿著最弱的enemy薅&#xff0c;…

接口測試分析、設計以及實現

接口相關理論 ui功能測試和接口測試哪個先執行&#xff1f;–為什么 結論&#xff1a;接口測試先執行 原因&#xff1a;ui功能測試需要等待前端頁面開發完成、后臺接口開發完后且前端與后端聯調完成。ui功能測試與接口測試的區別&#xff1f; ui功能&#xff1a;功能調用&am…

學習筆記——交通安全分析14

目錄 前言 當天學習筆記整理 5城市主干道交通安全分析 結束語 前言 #隨著上一輪SPSS學習完成之后&#xff0c;本人又開始了新教材《交通安全分析》的學習 #整理過程不易&#xff0c;喜歡UP就點個免費的關注趴 #本期內容接上一期13筆記 當天學習筆記整理 5城市主干道交…

Avalonia中的Property

文章目錄 前言附加屬性樣式屬性直接屬性總結前言 在WPF中, 是可以定義依賴屬性和附加屬性的 依賴屬性: 當您需要單獨創建控件時, 并且希望控件的某個部分能夠支持數據綁定時, 你則可以使用到依賴屬性。 通過DependencyProperty.Register注冊依賴屬性 附加屬性: 這種情況很多,…

【原理+使用】DeepCache: Accelerating Diffusion Models for Free

論文&#xff1a;arxiv.org/pdf/2312.00858 代碼&#xff1a;horseee/DeepCache: [CVPR 2024] DeepCache: Accelerating Diffusion Models for Free (github.com) 介紹 DeepCache是一種新穎的無訓練且幾乎無損的范式&#xff0c;從模型架構的角度加速了擴散模型。DeepCache利…

【因果推斷】優惠券政策對不同店鋪的影響

這次依然是用之前rossmann店鋪競賽的數據集。 之前的數據集探索處理在這里已經做過了&#xff0c;此處就不再贅述了CSDN鏈接 數據集地址&#xff1a;競賽鏈接 這里探討數據集中Promo2對于每家店鋪銷售額的影響。其中&#xff0c;Promo2是一個基于優惠券的郵寄活動&#xff0c;發…

SQL Server 2022 中的 Tempdb 性能改進非常顯著

無論是在我的會話中還是在我寫的博客中&#xff0c;Tempdb 始終是我的話題。然而&#xff0c;當談到 SQL Server 2022 中引入的重大性能變化時&#xff0c;我從未如此興奮過。他們解決了我們最大的性能瓶頸之一&#xff0c;即系統頁面閂鎖并發。 在 SQL Server 2019 中&#x…

三級_網絡技術_06_IP地址規劃技術

1.下列對IPv6地址表示中&#xff0c;錯誤的是()。 AE1A:0:0:0:0:A2:F3:FE08:5 E3E0::1A90:FE:0:4CA2:9C5C E2C1::0:0:81/48 :E140:1A5C:0:05D9 2.下列對IPv6地址表示中&#xff0c;錯誤的是()。 1F1A:0:0:0:0:A2:F3:FE08:3 E360::2A90:FE:0:4CA2:9C5A B2C1::0:0:81/48 …

Go語言如何入門,有哪些書推薦?

Go 語言之所以如此受歡迎&#xff0c;其編譯器功不可沒。Go 語言的發展也得益于其編譯速度夠快。 對開發者來說&#xff0c;更快的編譯速度意味著更短的反饋周期。大型的 Go 應用程序總是能在幾秒鐘之 內完成編譯。而當使用 go run編譯和執行小型的 Go 應用程序時&#xff0c;其…

如何利用Github Action實現自動Merge PR

我是螞蟻背大象(Apache EventMesh PMC&Committer)&#xff0c;文章對你有幫助給項目rocketmq-rust star,關注我GitHub:mxsm&#xff0c;文章有不正確的地方請您斧正,創建ISSUE提交PR~謝謝! Emal:mxsmapache.com 1. 引言 GitHub Actions 是 GitHub 提供的一種強大而靈活的自…

(九)Docker 的網絡通信

文章目錄 1、常用模式2、概念了解2.1、Docker 內容器的通信2.2、宿主機和 Docker容器的通信 1、常用模式 直接使用 端口映射&#xff0c;宿主機:宿主機端口->容器 ip:容器端口端口映射宿主機 hosts 映射&#xff0c;首先在宿主機 /etc/hosts文件中增加 宿主機 ip:容器 host…

Mojo: 輕量級Perl框架的魔力

在Perl的豐富生態系統中&#xff0c;Mojolicious&#xff08;簡稱Mojo&#xff09;是一個輕量級的實時Web框架&#xff0c;以其極簡的API和強大的功能而受到開發者的喜愛。Mojo不僅適用于構建高性能的Web應用&#xff0c;還可以用來編寫簡單的腳本和命令行工具。本文將帶你探索…

SSM中小學生信息管理系統 -計算機畢業設計源碼02677

摘要 隨著社會的發展和教育的進步&#xff0c;中小學生信息管理系統成為學校管理的重要工具。本論文旨在基于SSM框架&#xff0c;采用Java編程語言和MySQL數據庫&#xff0c;設計和開發一套高效、可靠的中小學生信息管理系統。中小學生信息管理系統以學生為中心&#xff0c;通過…