CSS3学习之阴影

使用CSS3我们可以方便地给文本和元素添加阴影效果,涉及到的属性:

  • text-shadow
  • box-shadow

浏览器兼容

Property Chrome IE Firefox Safari Opera
text-shadow 4.0 10.0 3.5 4.0 9.6
box-shadow 10.0 9.0 4.0 5.1 10.5

CSS3 文本阴影

CSS3中的 text-shadow 属性有两个作用:产生阴影和模糊主体,这样在不使用图片时能给文字增加质感。text-shadow曾经在css2中就出现过,但在css2.1版本中又被抛弃了,现在css3.0版本又重新捡回来了。

其语法如下所示:

1
text-shadow: h-shadow v-shadow blur-radius color|none|initial|inherit;

如果要添加多个阴影,用逗号分隔开多个阴影效果即可

  • h-shadow 必须,水平偏移距离;正值时阴影向右偏移,负值时阴影向左偏移
  • v-shadow 必须,垂直偏移距离;正值时阴影向下偏移,负值时阴影向上偏移
  • blur-radius 可选,阴影的模糊程度,不能是负值,值越大阴影越模糊,反之阴影越清晰,不需要阴影模糊可以将Blur值设置为0,默认为0
  • color 可选,阴影的颜色,所有CSS3支持的颜色都可以使用
  • none 默认值,表示不使用阴影效果

下面是几个简单地文本阴影示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
.text-shadow-demo-1 {
font-size: 24px;
text-shadow: 0 0 3px #EE3300, 0 0 5px #0033EE;
}
.text-shadow-demo-2 {
color: white;
font-size: 24px;
text-shadow: 1px 1px 2px black, 0 0 20px blue, 0 0 5px darkblue;
}
.text-shadow-demo-3 {
color: yellow;
font-size: 24px;
text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}

文本阴影效果
文本阴影效果
文本描边效果

更多示例可参看文首的参考资料

CSS3 盒子阴影

box-shadow 属性用来给HTML元素添加阴影效果,用法与 text-shadow 类似,其语法如下:

1
box-shadow: none|h-shadow v-shadow blur spread color |inset|initial|inherit;

box-shadowtext-shadow 一样可以使用一个或多个投影,如果使用多个投影时必须需要用逗号“,”分开

属性值 说明
none 默认值,不使用阴影效果
h-shadow 必须,阴影水平偏移量,正值阴影在对象右边,负值阴影在对象左边
v-shadow 必须,阴影垂直偏移量,正值阴影在对象下边,负值阴影在对象上边
blur 可选,阴影模糊半径,只能为正值,值越大阴影的边缘就越模糊
spread 可选,阴影扩展半径,如果值为正,则整个阴影都延展扩大,值为负则缩小
color 可选,如果不设定任何颜色时,浏览器会取默认色
inset 可选,默认投影方式是外阴影,如果取其唯一值“inset”,则将外阴影变成内阴影

下面是几个示例共用CSS代码:

1
2
3
4
5
.box {
height: 60px;
width: 300px;
background: yellow;
}

最简单的阴影效果,只有水平和垂直方向上的偏移:

1
2
3
.box-shadow-1 {
box-shadow: 6px 6px;
}

只指定阴影水平和垂直偏移

给阴影指定一个颜色:

1
2
3
.box-shadow-2 {
box-shadow: 6px 6px #336633;
}
指定阴影颜色

再加一个模糊效果:

1
2
3
.box-shadow-3 {
box-shadow: 6px 6px 5px #336633;
}

指定阴影模糊效果

下面是一个比较常见的卡片效果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
div.card {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19);
width: 240px;
text-align: center;
}
div.header {
background-color: #4CAF50;
color: white;
padding: 10px;
font-size: 40px;
}
div.container {
padding: 10px;
}

1

January 1, 2017

文章目录
  1. 1. 浏览器兼容
  2. 2. CSS3 文本阴影
  3. 3. CSS3 盒子阴影
|