非常教程

CSS参考手册

背景和边框 | Backgrounds & Borders

盒子阴影 | box-shadow

box-shadowCSS 属性描述一个或多个阴影效果作为一个逗号分隔的列表。

/* offset-x | offset-y | color */
box-shadow: 60px -16px teal;

/* offset-x | offset-y | blur-radius | color */
box-shadow: 10px 5px 5px black;

/* offset-x | offset-y | blur-radius | spread-radius | color */
box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);

/* inset | offset-x | offset-y | color */
box-shadow: inset 5em 1em gold;

/* Any number of shadows, separated by commas */
box-shadow: 3px 3px red, -1em 0 0.4em olive;

/* Global keywords */
box-shadow: inherit;
box-shadow: initial;
box-shadow: unset;
box-shadow: 60px -16px teal;
box-shadow: 10px 5px 5px black;
box-shadow: 3px 3px red, -1em 0 0.4em olive;
box-shadow: inset 5em 1em gold;
box-shadow: 0 0 1em gold;
box-shadow: inset 0 0 1em gold;
box-shadow: inset 0 0 1em gold, 0 0 1em red;

box-shadow 属性使您能够从几乎任何元素的框架中投射阴影。如果border-radius在具有箱形阴影的元素上指定了box shadow,则box shadow将具有相同的圆角。多个方块阴影的 z排序与多个文本阴影(第一个指定的阴影在最上方)相同。

Box-shadow 生成器是一个交互式工具,允许您生成 box-shadow。

初始值

none

适用于

all elements. It also applies to ::first-letter.

继承

no

媒体

visual

计算值

any length made absolute; any specified color computed; otherwise as specified

动画类型

a shadow list

规范的顺序

the unique non-ambiguous order defined by the formal grammar

语法

使用以下命令指定一个box-shadow:

  • Two, three, or four <length> values.
    • If only two values are given, they are interpreted as <offset-x><offset-y> values.
    • If a third value is given, it is interpreted as a <blur-radius>.
    • If a fourth value is given, it is interpreted as a <spread-radius>.
  • Optionally, the inset keyword.
  • Optionally, a <color> value.

要指定多个阴影,请提供逗号分隔的阴影列表。

inset如果未指定(默认),则阴影被假定为阴影(就像框被提升到内容之上一样)。

inset关键字的存在将阴影更改为帧内的阴影(就像内容在框内被压下一样)。插入阴影绘制在边界内(甚至透明),高于背景,但低于内容。<offset-x><offset-y>这些是<length>设置阴影偏移的两个值。<offset-x>指定水平距离。负值将阴影放置在元素的左侧。<offset-y>指定垂直距离。负值将阴影放置在元素上方。查看<length>可能的单位。

如果两个值都是0,则阴影放置在元素后面(并且如果<blur-radius>和/或被<spread-radius>设置,可能会产生模糊效果)。<blur-radius>这是第三个<length>值。这个值越大,模糊越大,因此阴影变得越来越轻。负值是不允许的。如果没有指定,它将是0(阴影的边缘是锐利的)。该规范没有包括如何计算模糊半径的确切算法,但是,它的确如下详述:

...对于长而直的阴影边缘,这应该创建一个颜色过渡,即与阴影边缘垂直并居中的模糊距离的长度,范围从阴影内半径终点处的完整阴影颜色到完全透明在它外面的端点。

<spread-radius>这是第四个<length>值。正值会导致阴影扩大并变大,负值会导致阴影缩小。如果未指定,它将是0(阴影将与元素的大小相同)。<color>查看<color>可能的关键字和符号的值。

如果未指定,则使用的颜色取决于浏览器 —— 通常是该color属性的值,但请注意,Safari 在此情况下正在绘制透明阴影。

插值

列表中的每个阴影(none视为0长度列表)通过颜色(作为颜色)分量,以及 x,y,模糊和(适当时)散布(作为长度)分量进行插值。对于每个阴影,如果两个输入阴影都是或者不是inset,则内插阴影在这方面必须与输入阴影相匹配。如果任何一对输入阴影有一个inset而另一个不是inset,则整个阴影列表是不可插入的。如果阴影列表具有不同的长度,那么较短的列表在末尾填充阴影,其颜色是transparent,所有长度都是0,并且其inset(或不)与较长列表匹配。

形式语法

none | <shadow>#where <shadow> = inset? && <length>{2,4} && <color>?where <color> = <rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>where <rgb()> = rgb( [ [ <percentage>{3} | <number>{3} ] [ / <alpha-value> ]? ] | [ [ <percentage>#{3} | <number>#{3} ] , <alpha-value>? ] )<rgba()> = rgba( [ [ <percentage>{3} | <number>{3} ] [ / <alpha-value> ]? ] | [ [ <percentage>#{3} | <number>#{3} ] , <alpha-value>? ] )<hsl()> = hsl( [ <hue> <percentage> <percentage> [ / <alpha-value> ]? ] | [ <hue>, <percentage>, <percentage>, <alpha-value>? ] )<hsla()> = hsla( [ <hue> <percentage> <percentage> [ / <alpha-value> ]? ] | [ <hue>, <percentage>, <percentage>, <alpha-value>? ] )where <alpha-value> = <number> | <percentage><hue> = <number> | <angle>

现场示例

  • box-shadow test
  • box-shadow tutorial and examples
  • Box Shadow CSS Generator

规范

规范

状态

解释

CSS Backgrounds and Borders Module Level 3The definition of 'box-shadow' in that specification.

Candidate Recommendation

Initial definition

浏览器兼容性

Feature

Chrome

Edge

Firefox (Gecko)

Internet Explorer

Opera

Safari

Basic support

10.01 1.0-webkit

(Yes)

4.0 (2.0)3 3.5 (1.9.1)-moz

9.02

10.51

5.11 3.0 -webkit

Multiple shadows

10.0 1.0-webkit

(Yes)

4.0 (2.0) 3.5 (1.9.1)-moz

9.0

10.5

5.1 3.0 -webkit

inset keyword

10.0 4.0-webkit

(Yes)

4.0 (2.0) 3.5 (1.9.1)-moz

9.0

10.5

5.1 5.0 -webkit

Spread radius

10.0 4.0-webkit

(Yes)

4.0 (2.0) 3.5 (1.9.1)-moz

9.0

10.5

5.1 5.0 -webkit

Feature

Edge

Safari Mobile

Opera Mini

Opera Mobile

Android

Basic support

(Yes)

5.01-webkit

?

(Yes)1

(Yes)-webkit1

Multiple shadows

(Yes)

5.0 (Yes)-webkit

?

?

?

inset keyword

(Yes)

5.0 (Yes)-webkit

?

?

?

Spread radius

(Yes)

5.0 (Yes)-webkit

?

?

?

背景和边框 | Backgrounds & Borders相关

1.定位 |
2.背景 | background
3.背景附件 | background-attachment
4.背景裁剪 | background-clip
5.背景颜色 | background-color
6.背景图片 | background-image
7.背景来源 | background-origin
8.背景图片位置 | background-position
9.背景位置-x | background-position-x
10.背景位置-y | background-position-y
11.背景重复 | background-repeat
12.背景大小 | background-size
13.边框 | border
14.底部边框 | border-bottom
15.底部边框颜色 | border-bottom-color
16.左下角的边框半径 | border-bottom-left-radius
17.右下角的边框半径 | border-bottom-right-radius
18.边框底部样式 | border-bottom-style
19.边框底部宽度 | border-bottom-width
20.边框颜色 | border-color
21.边框图片 | border-image
22.边框图像开始 | border-image-outset
23.边框图像重复 | border-image-repeat
24.边框图像使用范围 | border-image-slice
25.边框图像路径 | border-image-source
26.边框图像宽度 | border-image-width
27.左边框 | border-left
28.左边框颜色 | border-left-color
29.左边框宽度 | border-left-width
30.边框半径 | border-radius
31.右边框 | border-right
32.右边框颜色 | border-right-color
33.右边框样式 | border-right-style
34.右边框宽度 | border-right-width
35.边框样式 | border-style
36.边框属性 | border-top
37.边框属性颜色 | border-top-color
38.边框左上角半径 | border-top-left-radius
39.边框右上角半径 | border-top-right-radius
40.边框样式属性 | border-top-style
41.上边框宽度 | border-top-width
42.边框宽度 | border-width
43.背景和边框 | CSS Background and Borders
44.背景图像生成 | CSS Background and Borders: Border-image generator
45.边界半径生成 | CSS Background and Borders: Border-radius generator
46.框阴影生成 | CSS Background and Borders: Box-shadow generator
47.缩放背景图像 | CSS Background and Borders: Scaling background images
48.多个背景 | CSS Background and Borders: Using CSS multiple backgrounds
49.背景和边框 | CSS Backgrounds and Borders
CSS

层叠样式表( Cascading Style Sheets )是一种用来表现 HTML 或 XML 等文件样式的计算机语言。CSS 不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

CSS目录

1.动画和转换 | Animations & Transitions
2.背景和边框 | Backgrounds & Borders
3.基本框模型 | Basic Box Model
4.基本用户界面 | Basic User Interface
5.框对齐 | Box Alignment
6. 级联和继承 | Cascading & Inheritance
7.颜色 | Color
8. 合成与混合 | Compositing & Blending
9.条件和规则 | Conditional Rules
10.计数器样式 | Counter Styles
11.设备适配 | Device Adaptation
12.扩展 | Extensions
13.滤镜效果 | Filter Effects
14.灵活的框布局 | Flexible Box Layout
15.字体 | Fonts
16.片段模块 | Fragmentation
17.全屏 API | Fullscreen API
18. 生成内容 | Generated Content
19.网格布局 | Grid Layout
20.图像值 | Image Values
21.初始线格局 | Inline Layout
22.列表和计数器 | Lists & Counters
23.逻辑属性 | Logical Properties
24.面具 | Masking
25.媒体查询 | Media Queries
26.杂项 | Miscellaneous
27.Miscellaneous Level 1
28.Miscellaneous Level 2
29.运动路径 | Motion Path
30. 多列布局 | Multi-column Layout
31.命名空间 | Namespaces
32.项目模型 | Object Model View
33.网页媒体 | Paged Media
34.定位布局 | Positioned Layout
35.伪元素 | Pseudo-
36.节奏大小 | Rhythmic Sizing
37. Ruby布局 | Ruby Layout
38.可缩放矢量图形 | Scalable Vector Graphics
39.滚动快照 | Scroll Snap
40.选择 | Selectors
41.形状 | Shapes
42.文本 | Text
43.文字装饰 | Text Decoration
44.变换 | Transforms
45.值和单位 | Values & Units
46.变量 | Variables
47.写入模型 | Writing Modes
48.CSS 教程
49.CSS 创建
50.CSS Id 和 Class选择器
51.CSS 简介
52.CSS 盒子模型
53.CSS Table(表格)
54.CSS 列表样式(ul)
55.CSS 链接(link)
56.CSS Fonts(字体)
57.CSS Text(文本)
58.CSS Backgrounds(背景)
59.CSS Display(显示) 与 Visibility(可见性)
60.CSS 尺寸 (Dimension)
61.CSS 分组和嵌套
62.CSS 轮廓(outline)属性
63.CSS Border(边框)
64.CSS 图像透明/不透明
65.CSS 导航栏
66.CSS 伪元素
67.CSS 伪类
68.CSS Float(浮动)
69.CSS Position(定位)
70.CSS 总结
71.CSS 属性选择器
72.CSS 媒体类型
73.CSS 图像拼合技术
74.CSS 实例
75.CSS 组合选择符
76.响应式 Web 设计 – 框架
77.响应式 Web 设计 – 视频(Video)
78.CSS 提示工具(Tooltip)
79.CSS 布局 Overflow
80.CSS 计数器
81.CSS 表单