freeCodeCamp/guide/chinese/css/box-shadow/index.md

82 lines
3.3 KiB
Markdown
Raw Normal View History

---
title: Box Shadow
localeTitle: 盒子阴影
---
## 盒子阴影
`box-shadow`属性在元素的框架周围附加一个或多个阴影(可以在内部)。它是一个选项,让您有能力轻松设计精彩的阴影效果。框阴影是提升网页视觉效果的绝佳方式。
可以用几个属性描述盒子阴影,包括:
* X和Y偏离元素
* 模糊和传播半径
* 颜色
### 句法:
```css
div {
box-shadow: none | [inset? && [ <offset-x> <offset-y> <blur-radius>? <spread-radius>? <color>? ] ]#
}
```
* #### inset (default: none)
If not specified, the shadow is assumed to be a drop shadow (as if the box were raised above the content).
The presence of the `inset` keyword changes the shadow to one inside the frame
* #### offset-x offset-y
These are two `length` values to set the shadow offset. <offset-x> specifies the horizontal distance. Negative values place the shadow to the left of the element. `offset-y` specifies the vertical distance. Negative values place the shadow above the element. See `length` for possible units.
* #### blur-radius (default: 0)
This is a third `length` value. The larger this value, the bigger the blur, so the shadow becomes bigger and lighter. Negative values are not allowed. If not specified, it will be 0 (the shadow's edge is sharp).
* #### spread-radius (default: 0)
This is a fourth <length> value. Positive values will cause the shadow to expand and grow bigger, negative values will cause the shadow to shrink. If not specified, it will be 0 (the shadow will be the same size as the element).
* #### color
This value is used to set the color of the shadow, usually defined with hex `#000000`, rgba value `rgba(55,89,88,0.8)` or rgb value `rgb(55,89,88)`
#### Extended
To maximize compatibility, it is recommended that you declare box shadow property for `moz-appearance` and `webkit`, this extends the normal syntax to:
```
CSS DIV { box-shadownone | \[插图? && \[ \]\] -moz-box-shadow无| \[插图? && \[ \]\] -webkit-box-shadownone | \[插图? && \[ \]\] }
```
However, this step can be ignored if it is creating confusion, as moz property and webkit property will only work in specific applications such as Firefox, and are not on a standards track.
### Examples
#### Basic use
```
CSS div { 宽度200px; 身高50px; 背景色333; box-shadow10px 10px 5px #ccc; }
```
10px - offset-x
10px - offset-y
5px - blur
#ccc - light gray color
It will display
![image](https://raw.githubusercontent.com/krzysiekh/images/master/box-shadow1.png)
#### Inside box shadow
```
CSS div { 宽度200px; 身高50px; 背景色333; box-shadowinset 10px 10px 5px #ccc; }
```
It uses very similar code, but with inset value, which displays shadow inside the div element
![image](https://raw.githubusercontent.com/krzysiekh/images/master/box-shadow2.png)
#### Multiple box shadows
```
CSS div { 宽度200px; 身高50px; 背景色333; box-shadowinset 10px 10px 5px #ccc10px 10px 5px #ccc; } \`\`\`
您可以使用逗号组合前两个框阴影以在同一个div上获得多个框阴影
#### 更多信息
* 文件: [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow)