css提供了多种方式可以为元素或者文字添加不同的阴影效果。通过本节内容,你将学会如何使用这些方式,知道它们各自的用途。
box-shadow
box-shadow
是比较常用的一个属性,可以为元素边框周围添加一层阴影效果。
.ele {
box-shadow: 5px 5px 20px 5px #000;
}
box-shadow
接受的值,按照从左至右的顺序依次表示:
还可以在box-shadow
值最开始处添加inset
关键字,使阴影呈现在边框内部。
可以添加多个阴影,形成叠加效果。
.my-element {
box-shadow: 5px 5px 20px 5px darkslateblue, -5px -5px 20px 5px dodgerblue,
inset 0px 0px 10px 2px darkslategray, inset 0px 0px 20px 10px steelblue;
}
text-shadow
使用text-shadow
可以给文字添加阴影效果。与box-shadow
类似,但是作用对象是文字。
.ele {
text-shadow: 3px 3px 3px hotpink;
}
text-shadow
接受的值与box-shadow
一样。唯一不同的是,text-shadow
不能设置扩散半径和inset
关键字。
和box-shadow
一样,也可以给文字添加多个阴影。
.ele {
text-shadow: 1px 1px 0px white,2px 2px 0px firebrick;
}
drop-shadow
drop-shadow
是一个css函数,而不是属性。用于给图片中的内容添加阴影的,对的你没有看错的确是图片里的内容。实现过程实际上是分析图片中的内容,然后在图片原有的位置上添加一个模糊的偏移的图片,达到阴影的效果。与filter属性配合使用。
.ele {
filter: drop-shadow(0px 0px 10px rgba(0 0 0 / 30%))
}
drop-shadow
参数与box-shadow
一样,但是不能设置扩散半径和inset
关键字,你也可以为图片添加多个阴影。
.ele {
filter: drop-shadow(0px 0px 10px hotpink) drop-shadow(10px 10px 20px rgba(0 0 0 / 30%))
}
(完)