淘先锋技术网

首页 1 2 3 4 5 6 7


用于在元素的框架上添加阴影效果。你可以在同一个元素上设置多个阴影效果,并用逗号将他们分隔开。该属性可设置的值包括阴影的X轴偏移量Y轴偏移量模糊半径扩散半径颜色

1、属性值规则

  • 当给出两个、三个或四个 <length> 值时。
    • 如果只给出两个值, 那么这两个值将会被当作水平阴影、垂直阴影来解释。
    • 如果给出了第三个值,那么第三个值将会被当作模糊距离解释。
    • 如果给出了第四个值, 那么第四个值将会被当作阴影尺寸来解释。
  • 可选,inset关键字。
  • 可选,颜色值。

2、取值

2.1、inset 内/外阴影

如果没有指定 inset,默认阴影在边框外,即阴影向外扩散。

使用 inset 关键字会使得阴影落在盒子内部,这样看起来就像是内容被压低了。此时阴影会在边框之内 (即使是透明边框)、背景之上、内容之下。

2.2、<offset-x> <offset-y>水平阴影/垂直阴影

这是头两个 <length> 值,用来设置阴影偏移量。x,y 是按照数学二维坐标系来计算的,只不过y垂直方向向下。 <offset-x> 设置水平偏移量,正值阴影则位于元素右边,负值阴影则位于元素左边。 <offset-y> 设置垂直偏移量,正值阴影则位于元素下方,负值阴影则位于元素上方。
如果两者都是0,那么阴影位于元素后面。这时如果设置了 <blur-radius><spread-radius> 则有模糊效果。需要考虑 inset。

2.3、<blur-radius>模糊距离

这是第三个 <length> 值。值越大,模糊面积越大,阴影就越大越淡。 不能为负值。默认为0,此时阴影边缘锐利。本规范不包括如何计算模糊半径的精确算法,但是,它详细说明如下:
对于长而直的阴影边缘,它会创建一个过渡颜色用于模糊 以阴影边缘为中心、模糊半径为半径的局域,过渡颜色的范围在完整的阴影颜色到它最外面的终点的透明之间。

2.4、<spread-radius>阴影的尺寸

这是第四个 <length> 值。取正值时,阴影扩大;取负值时,阴影收缩。默认为0,此时阴影与元素同样大。需要考虑 inset

2.5、<color>阴影的颜色

通常是color的值

3、示例

/* x偏移量 | y偏移量 | 阴影颜色 */
box-shadow: 60px -16px teal;

/* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影颜色 */
box-shadow: 10px 5px 5px black;

/* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影扩散半径 | 阴影颜色 */
box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);

/* 插页(阴影向内) | x偏移量 | y偏移量 | 阴影颜色 */
box-shadow: inset 5em 1em gold;

/* 任意数量的阴影,以逗号分隔 */
box-shadow: 3px 3px red, -1em 0 0.4em olive;
    div {
      width: 100px;
      height: 100px;
      background-color: #ccc;
      box-shadow: 10px 10px 10px 10px rgba(0, 0, 0, .5);
    }

在这里插入图片描述

4、注意点

如果元素同时设置了 border-radius 属性,那么阴影也会有圆角效果。

写在最后

如果你感觉文章不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!