[译](深入了解CSS Box Shadow)_html/css_WEB-ITnose
原文:A Close Look at CSS Box Shadow
CSS的box-shadow可以被用来给块级元素一个外阴影或者是内阴影。接下来让我们仔细地看一下这个CSS的特性吧。
举例
下面有三个把CSS的box-shadow属性使用在div里的例子。
例1:简单的外阴影
下面是是给副标题添加阴影的样式。
box-shadow:0 0 10px gray;
例2:内阴影
一个内阴影可以通过使用inset属性值来渲染出来。
box-shadow:inset 0 0 10px;
例3:偏移外阴影
这个例子中我们通过水平和垂直方向下和右偏移5px来实现阴影向右下方偏移
box-shadow:5px 5px 10px;
加入你想要阴影向左上方偏移呢?我们可以通过将水平和垂直方向的偏移量设置为-5px,正如下面的例子:
box-shadow:-5px -5px 10px;
既然你已经看到了box-shadow在现实中的使用,接下来让我们更加深入地了解一下。
语法
box-shadow的一般语法如下:
box-shadow:[inset] [horizontal offset] [vertical offset] [blur radius] [spread distance] [color]
CSS属性值
CSS的box-shadow可能会有6个属性值:
inset
horizontal offset
vertical offset
blur radius
spread distance
color
只有两个属性是必须的:水平偏移和垂直偏移量。
四个属性值,水平偏移,垂直偏移,模糊半径,扩展距离,必须使用CSS长度单元(比如:px,em,%等)
这个颜色值必须是必须是一个颜色单元,比如十六进制值(如:#000000)。
属性和值总结表
属性 | 是否必须 | 单位 | 默认值 |
---|---|---|---|
inset | 不是 | 关键词 | 没有指定的时候,阴影默认在外面 |
水平偏移 | 是 | 长度 | 没有默认值,一定有指定 |
垂直偏移 | 是 | 长度 | 没有默认值,一定要指定 |
模糊半径 | 不是 | 长度 | 0 |
扩展距离 | 不是 | 长度 | 0 |
颜色 | 不是 | 颜色 | 和box shadow属性作用的元素的color值一样 |
inset
如果inset关键词存在,盒阴影将会放在HTML元素的内部
box-shadow:inset 0 0 5px 5px olive;
作为对比,这里是一个没有inset属性的box-shadow样式。
box-shadow:0 0 5px 5px olive;
水平偏移
水平偏移控制了盒子阴影在x轴的偏移。正值会把盒子的阴影向右移动,负值的话会把它向左移动。
下面的例子中,我们把水平的偏移设置成20px,刚好是水平偏移量的两倍,所以阴影水平宽度刚好是垂直高度的两倍。
box-shadow:20px 10px;
垂直偏移
垂直偏移控制了盒阴影在y轴的偏移量。正值会把盒子的阴影向下移动,负值刚好相反会把盒子网上移动。
下面的例子中,垂直的偏移设置成-20px,刚好是水平偏移的两倍。同时,因为是负值,所以向上移动。
box-shadow:10px -20px;
模糊半径
这个模糊半径会影响到阴影的模糊和锐利程度。
模糊半径是可选的,如果你不指定它,默认值是0.另外,你不能指定它为负值,这个和水平偏移和垂直偏移不一样。
如果模糊半径是0,盒子阴影会很锐利并且它的颜色是很实的。随着你不断的增大这个值,它会变得越来越模糊和透明。
下面的例子,模糊半径被设置成20px,因此模糊度是相当突出。
box-shadow:5px 5px 20px;
扩展距离
这个扩展距离会让盒子的阴影在各个方向上都会变大或变小。如果它有一个正值,盒子阴影会在各个方向上增加大小。如果是负值,则会在各个方向上收缩。
值得注意的是,因为它的扩展距离是正5,所以会在各个方向上增加10px因为没有水平和垂直偏移。
box-shadow:0 0 10px 5px;
当扩展距离是负的时候,阴影就会在各个方向上收缩。下面的例子展示当阴影的宽度比盒子小的时候的情况
box-shadow:0 10px 10px -5px;
颜色
通过名字你就可以判断出来,颜色值会设置盒阴影的颜色。它可以通过任何可以表示颜色的方式来表示颜色。是否设置颜色值是可选的。
换句话说,默认情况下当你没有指明颜色值,阴影颜色会等于这个盒子对应的html元素的颜色值。比如有一个div的颜色被设置成红色,这个盒子阴影的颜色也会变成红色:
color:red;box-shadow:0 0 10px 5px;
如果你想要设置阴影的颜色和div的颜色不一样,可以通过下面的方式,你会发现尽管你的文字颜色是红色,盒子阴影颜色依然可以是蓝色。
color:red;box-shadow:0 0 10px 5px blue;
多阴影效果
这个就是能够让我们变得有创造力的CSS属性。你能够在一个盒子上设置多个阴影。
语法就像下面这样。
box-shadow: [box shadow properties 1], [box shadow properties 2], [box shadow properties n];
换句话说,你可以通过在每个属性设置组后面添加逗号(,)来实现多阴影。
下面的例子展示了两个阴影的情况,左上方红色的阴影,右下方蓝色的阴影。
box-shadow: -5px -5px 30px 5px red, 5px 5px 30px 5px blue;
浏览器支持
这个CSS的box-shadow属性有着很好地浏览器支持。使用这个属性在拖后腿的IE浏览器也能在IE9以后得到支持啦。
查看演示

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

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

Dreamweaver CS6
視覺化網頁開發工具

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

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML、CSS和JavaScript在Web開發中的作用分別是:1.HTML定義網頁結構,2.CSS控製網頁樣式,3.JavaScript添加動態行為。它們共同構建了現代網站的框架、美觀和交互性。

HTML的未來趨勢是語義化和Web組件,CSS的未來趨勢是CSS-in-JS和CSSHoudini,JavaScript的未來趨勢是WebAssembly和Serverless。 1.HTML的語義化提高可訪問性和SEO效果,Web組件提升開發效率但需注意瀏覽器兼容性。 2.CSS-in-JS增強樣式管理靈活性但可能增大文件體積,CSSHoudini允許直接操作CSS渲染。 3.WebAssembly優化瀏覽器應用性能但學習曲線陡,Serverless簡化開發但需優化冷啟動問題。

HTML的未來充滿了無限可能。 1)新功能和標準將包括更多的語義化標籤和WebComponents的普及。 2)網頁設計趨勢將繼續向響應式和無障礙設計發展。 3)性能優化將通過響應式圖片加載和延遲加載技術提升用戶體驗。

HTML、CSS和JavaScript在網頁開發中的角色分別是:HTML負責內容結構,CSS負責樣式,JavaScript負責動態行為。 1.HTML通過標籤定義網頁結構和內容,確保語義化。 2.CSS通過選擇器和屬性控製網頁樣式,使其美觀易讀。 3.JavaScript通過腳本控製網頁行為,實現動態和交互功能。

HTML是構建網頁結構的基石。 1.HTML定義內容結構和語義,使用、、等標籤。 2.提供語義化標記,如、、等,提升SEO效果。 3.通過標籤實現用戶交互,需注意表單驗證。 4.使用、等高級元素結合JavaScript實現動態效果。 5.常見錯誤包括標籤未閉合和屬性值未加引號,需使用驗證工具。 6.優化策略包括減少HTTP請求、壓縮HTML、使用語義化標籤等。

HTML、CSS和JavaScript是構建現代網頁的核心技術:1.HTML定義網頁結構,2.CSS負責網頁外觀,3.JavaScript提供網頁動態和交互性,它們共同作用,打造出用戶體驗良好的網站。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增強WebevebDevelopment。
