大家可能都习惯了使用box-shadow来设置盒阴影,但顾名思义,盒阴影一般阴影的投影是一个方形,如果我们遇到其他姓张,想要做阴影效果应该怎么实现呢,比如下面这种?
那就要用到drop-shadow啦~drop-shadow
滤镜可以给元素或图片非透明区域添加投影。
box-shadow: h-shadow v-shadow blur spread color inset;
h-shadow:水平偏移量
v-shadow:垂直偏移量
blur:模糊值
spread:偏移量
color:阴影颜色
inset:是否内阴影(外阴影不写)
上面这种效果怎么实现呢,直接上代码:
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8">
<title>An example</title>
<meta name="viewport" content="width=device-width">
<style>
.tri-right {
width: 0; //设置宽度为0
height: 0; //设置高度为0
border-top: 3.125rem solid transparent;
border-left: 6.25rem solid dodgerblue;
border-bottom: 3.125rem solid transparent;
margin-bottom: 5rem;
/*box-shadow: 8px 8px 6px #333;*/
-webkit-filter: drop-shadow(8px 8px 6px #333);
filter: drop-shadow(8px 8px 6px #333);
}
</style>
</head>
<body>
<div class="tri-right"></div>
</body>
</html>
box-shadow和drop-shadow的区别:
box-shadow
顾名思意“盒阴影”,只是盒子的阴影;它投影的容器,比如说你的图标中间有透明部分,但实际上透明部分依然会有投影;
但是drop-shadow
就符合真实世界的投影,非透明的颜色,我就有投影;透明部分,没投影,所以可以用来复制小图标啥的也是非常方便,可参考:https://blog.csdn.net/weixin_41871290/article/details/81184618
关于兼容性
IE13+ 支持,Chrome 和 FireFox 浏览器支持,移动端 ios 支持,Android 4.4+ 支持。也就是,基本上,移动端现在可以使用这种技术了。
既节约了流量,也让我们的开发更简单,维护更方便了。
另外,使用box-shadow和drop-shadow还可以做很多牛逼的效果,可以参考下面这篇: