CSS3 box-shadow闡述

一、box-shadow簡介

box-shadow用於對元素添加一個或多個投影。它的語法如下:

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

box-shadow屬性可以接受多個陰影值,用逗號分隔。在每個陰影值內部,可以包含1-4個值,分別為偏移量,模糊半徑,擴散半徑和顏色。其中,偏移量必選,其他值可選。下面,我們將按照參數的類型闡述box-shadow屬性。

二、陰影偏移量

h-shadowv-shadow是box-shadow屬性中必選的參數。它們分別表示陰影的水平和垂直偏移。可以為這兩個參數設置正負值,正數表示陰影在元素右側(水平偏移)、下側(垂直偏移),負數則表示陰影在元素左側、上側。

例如,下面的代碼演示了一個向右兩像素、向下三像素的紅色陰影:

box-shadow: 2px 3px red;

此外,h-shadow和v-shadow還可以是一個長度值或百分比值,它們決定了陰影的參照物。如果這兩個值為0,陰影將和元素重疊。

三、模糊半徑

blur參數可選,用於設置陰影的模糊半徑,也就是模糊的程度,數值越大越模糊。如果這個值為0,陰影就是一個純色的小圓點,沒有任何擴散效果。

例如,下面的代碼描繪了一個紅色模糊半徑為5像素的陰影:

box-shadow: 2px 3px 5px red;

四、擴散半徑

spread參數用於設置陰影的擴散半徑,也就是陰影擴展或收縮的程度,數值越大,陰影越大。如果這個值為負,陰影就縮小到元素內部。

例如,下面的代碼描繪了一個紅色擴散半徑為10像素的陰影:

box-shadow: 2px 3px 5px 10px red;

五、陰影顏色

color參數用於設置陰影的顏色,可以使用CSS顏色名、RGB值、十六進位值,也可以使用關鍵字none。如果省略這個值,默認是黑色。另外,如果在一個box-shadow值中沒有color值,陰影就不會出現。

例如,下面的代碼演示了一個偏移值為5像素、紅色、模糊半徑為5像素、擴散半徑為10像素的陰影:

box-shadow: 5px 5px 5px 10px red;

六、插入陰影

inset參數用於設置陰影是嵌入還是突出。如果值為inset,陰影被內嵌到元素中,而不是通過外部投射矩形框來繪製陰影。默認情況下,陰影是投射於元素之外。

例如,下面的代碼演示了一個偏移值為5像素、黑色、內嵌的陰影:

box-shadow: inset 5px 5px black;

七、不規則形狀陰影

box-shadow不僅能給常見的形狀添加陰影,也能給不規則形狀添加陰影,這點就是傳統實現方式所不能達到的。下面的代碼演示了如何給一個不規則的圖像添加陰影:

div {
width: 200px;
height: 200px;
background: url("https://mdn.mozillademos.org/files/16480/starsolid.gif"), url("https://mdn.mozillademos.org/files/16475/moon2.png");
background-size: 100px 100px, 80px 80px;
border-radius: 50%;
box-shadow: inset -3px -3px 3px rgba(0,0,0,0.5), 3px 3px 3px rgba(0,0,0,0.5);
}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/242318.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:47
下一篇 2024-12-12 12:48

相關推薦

  • 深入了解 display: -webkit-box

    一、外觀排列 display: -webkit-box 可以讓元素按照橫向或者縱向接排列。通過設置不同的屬性,還可以控制元素間的間距、對齊方式等。 .box { display: …

    編程 2025-04-25
  • 深入了解HTML box-shadow

    HTML box-shadow是CSS3的一種新特性,它可以使一個元素產生一個或多個陰影效果,並且與框的邊框之外呈現。本文將從多個角度深入探討HTML box-shadow的各種用…

    編程 2025-04-13
  • Bounding Box Regression詳解

    Bounding box regression是一種目標檢測領域中常用的技術。其基本思想是通過在圖像中找到目標的位置,並且利用訓練數據對其位置進行預測和調整,從而提高目標檢測的精確…

    編程 2025-02-05
  • Shadow Build:提高可維護性和構建速度的神器

    一、什麼是Shadow Build Shadow Build是一種軟體開發技術,它可以將構建過程與源代碼分離,提高代碼可維護性和構建速度。 傳統的構建過程包括編譯、鏈接、運行等步驟…

    編程 2025-01-27
  • 深入了解box-sizing:border-box

    一、box-sizing和border-box概述 box-sizing是CSS3中的一個屬性,它決定了元素的盒模型計算方式,默認為content-box。而border-box是…

    編程 2025-01-06
  • Python Tkinter List Box示例

    一、什麼是列表框? 列表框是Tkinter組件庫中一種常用的界面元素,它能夠展示並管理一組相關項目/選項。在實際使用中,列表框通常被用於從多個選項中選擇一個或多個,支持多種排序模式…

    編程 2025-01-06
  • 了解CSS box-sizing屬性

    CSS box-sizing屬性決定了一個盒子(box)的尺寸的計算方式,是一個非常實用的CSS屬性。在這篇文章中,我們將會從多個方面進行詳細的闡述。 一、基本概念和用法 box-…

    編程 2025-01-03
  • Box-Cox變換及其應用

    一、概述 Box-Cox變換是一種用於調整數據偏度的方法,廣泛應用於統計學和數據分析領域。它可以將數據轉化為服從正態分布或近似正態分布的形式,從而提高統計建模和預測的精度。 Box…

    編程 2024-12-28
  • 深入了解Shadow DOM:從shadow-root開始

    一、ShadowRoot Link CSS 在Web開發中,分離結構、樣式和行為是一項重要的原則。使用Shadow DOM可以將HTML代碼以及CSS樣式保護起來,防止與外部樣式沖…

    編程 2024-12-26
  • 探究CSS Box-sizing屬性的作用

    CSS的盒模型是指每個HTML元素都是一個矩形的盒子,它由四個部分組成:外邊距、邊框、內邊距和內容。這四個部分緊密相連,共同給元素的形式和功能帶來影響。而Box-sizing屬性可…

    編程 2024-12-26

發表回復

登錄後才能評論