您现在的位置是:网站首页> 编程资料编程资料
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用css3 filter属性的使用简介CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码css中filter属性和backdrop-filter的应用与区别详解使用css的filter写鼠标滑过效果的实现示例CSS filter 有什么神奇用途
2021-09-03
1098人已围观
简介 这篇文章主要介绍了详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
要使用标准的CSS3实现某元素的投影效果,有两个套路,第一个就是使用常见的box-shadow, 第二个就是使用CSS3的filter阴影滤镜drop-shadow,那这两个阴影实现有什么具体的差异呢?
一、兼容性不一
CSS3 box-shadow从IE9浏览器开始就支持了,兼容性如下截图:

而filter中的drop-shadowIE13才开始支持,移动端Android4.4才开始支持。兼容性如下图:

二、同样的参数值,表现效果有差异
filter中的drop-shadow语法如下:
filter: drop-shadow(x偏移, y偏移, 模糊大小, 色值); filter:drop-shadow(5px 5px 10px black)
表示右下5像素偏移,10像素模糊的黑色阴影。眼见为实,看下面的图片示意。

但是,如果使用同样参数值的box-shadow,例如:
box-shadow: 5px 5px 10px black;
会发现,box-shadow的阴影距离更小,色值要更深:

三、drop-shadow没有内阴影效果
box-shadow支持inset内阴影,如:
box-shadow: inset 5px 5px 10px black;
但是,drop-shadow却没有。
四、阴影 vs 盒阴影
drop-shadow有一个很厉害的特性,也就这一个特性,让其以后有足够的机会大放异彩!那就是,drop-shadow才是真正意义上的投影,而box-shadow只是盒阴影而已。
什么意思呢?
下面我们用CSS border写一个虚线框,例如:
border: 10px dashed #fa608d; height: 50px; width: 50px;

然后,我们分别应用box-shadow和drop-shadow滤镜:
box-shadow: 5px 5px 10px black; filter: drop-shadow(5px 5px 10px black);
box-shadow:

filter:drop-shadow:

box-shadow顾名思意“盒阴影”,只是盒子的阴影;你想啊,这盒子中间明明是透明的,结果,阴影的时候,居然光线没有穿透;但是drop-shadow就符合真实世界的投影,非透明的颜色,我就有投影;透明部分,光线穿过,没投影,而什么盒子不盒子的,跟我没有任何关系。
drop-shadow不仅可以穿透代码构建的元素的透明部分,PNG图片的透明部分也是可以穿透的,如下图:

六、drop-shadow的实际应用
我们实现带有箭头指向的浮层面板的时候,考虑到兼容性,三角基本上都是使用border绘制的,没法box-shadow,但是,矩形部分设计师希望是有阴影的,
箭头没有阴影,蒙混过关。现在,有了drop-shadow,阴影就真的变成了阴影了。
CSS代码: .box { margin: 40px; padding: 50px; background-color: #fff; position: relative; font-size: 24px; } .cor { position: absolute; left: -40px; widtd: 0; height: 0; overflow: hidden; border: 20px solid transparent; border-right-color: #fff; } .box-shadow { box-shadow: 5px 5px 10px black; } .drop-shadow { filter: drop-shadow(5px 5px 10px black); } HTML代码: box-shadow filter: drop-shadow 
到此这篇关于详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用的文章就介绍到这了,更多相关CSS3 filter:drop-shadow与box-shadow内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
相关内容
- css3实现动画的三种方式如何使用css3实现一个类在线直播的队列动画的示例代码html5新特性与用法大全使用html5新特性轻松监听任何App自带返回键的示例HTML5新特性之type=file文件上传功能HTML5新特性之语义化标签前端面试必备之html5的新特性CSS3动画和HTML5新特性详解
- 详解CSS清除图片下几像素空白间隙的方法 快速解决css使用@keyframes加载图片首次循环时出现白色间隙问题(闪屏)详解CSS 去掉inline-block元素间隙的几种方法 CSS图片下面有间隙的6种解决方案css几种解决inline-block间隙的方案(整理)css解决display:inline-block;产生的缝隙(间隙)的方法
- CSS中三角形的绘制与巧妙应用实例详解纯CSS3+DIV实现小三角形边框效果的示例代码通过CSS边框实现三角形和箭头的实例代码CSS3 SVG实现三角形场景图中的日落月出,飞鸟归林动画效果源码用CSS画一个带阴影的三角形的示例代码老生常谈 使用 CSS 实现三角形的技巧(多种方法)
- 详解css3中dispaly的Grid布局与Flex布局css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- css等比例分割父级容器(完美三等分)的实现CSS 容器背景 10 种颜色渐变Demo(linear-gradient())CSS将img图片填满父容器div自适应容器大小的实现方法CSS实现宽高等比自适应容器的方法css轻松实现固定比例的块级容器css实现图片自适应容器的示例代码css让容器水平垂直居中的7种方式用纯CSS实现容器内图片上下左右居中CSS 数字和字母将容器撑大问题解决
- 详解如何使用CSS选择所有子元素CSS 选择所有子元素添加样式的方法CSS子元素选择父元素的实现举例讲解CSS的子元素选择器用法使用css属性:nth-child(n)匹配选择第n个子元素css匹配选择属于其父元素的第N个子元素的方法CSS子元素选择器使用介绍
- css选中父元素下的第一个子元素(:first-child)纯CSS让子元素突破父元素的宽度限制css子元素相对父元素进行定位的实现CSS子元素跟父元素的高度一致的实现方法CSS子元素选择父元素的实现CSS让子容器超出父元素(子容器悬浮在父容器效果)css匹配选择属于其父元素的第N个子元素的方法
- 浅谈css动画是否会被js阻塞浅谈CSS到底会不会阻塞页面渲染css加载会造成阻塞吗详解css加载会造成阻塞吗
- HTML+CSS+JS实现堆叠轮播效果的示例代码CSS3简易切割轮播图的实现代码CSS3全屏图文幻灯片自动轮播特效代码CSS3 transition 实现通知消息轮播条纯css实现轮播图banner自动轮换效果纯CSS实现的图片轮播(幻灯片)效果代码原生CSS实现文字无限轮播的通用方法
- 浅谈css当中:focus-within的好玩之处CSS :focus-within的具体使用
