看到题目是不是吓了一跳?css竟然还有这个操作?还真是第一次听说~
文章图片
原理嘛,其实很简单的,用到的就是 CSS3 滤镜filter中的drop-shadow,该滤镜可以给图片非透明区域添加投影。你可以理解为下图
文章图片
它实现的效果看上去就像使原来的对象离开页面,然后在页面上显示出该对象的投影。是有一点类似box-shadow,但是二者还是有显著差别的,我后面会写一篇专门的文章来比较二者的差别。
先来看一下语法:
filter:drop-shadow(水平阴影偏移距离 垂直阴影偏移距离 投射的阴影颜色 );
我们准备一张背景色是透明的图片(图片尺寸40px X 40px),
文章图片
用一个div将该图片包裹住,给图片添加
filter: drop-shadow(40px 40px yellow)
这段代码,代表投射出一个和该图片一样的形状,
三个参数分别代表:
水平向右移动40px,
垂直向下移动40px,
投射出的形状颜色为黄色。
【教你如何用CSS修改图片颜色】
.box{
width: 40px;
height: 40px;
border: 1px solid red;
margin: 200px auto;
}
.pic{
filter: drop-shadow(40px 40px yellow);
}
文章图片
效果为
文章图片
接下来我们稍微更改一下原代码,将原图设置在div外部并隐藏,变色后的投影放置在div中
.box{
width: 40px;
height: 40px;
border: 1px solid red;
margin: 200px auto;
text-indent: -40px;
overflow: hidden;
}
.pic{
filter: drop-shadow(40px 0px yellow);
}
文章图片
文章图片
如果想换成其他颜色,直接更改第三个参数就Ok了~是不是很简单
文章图片
推荐阅读
- elementUI|element-ui的el-table属性修改,如内边框,斑马纹,列宽度...
- 笔记|原生HTML,CSS,JS实现tab栏切换效果
- css|CSS右箭头的写法
- avue|element-ui的el-upload组件上传单张图,不显示图片列表。
- 前端|前端面试(浏览器输入网址后发生了什么())
- vue.js|element组件 解决DateTimePicker + vue 弹出框只显示小时和“至”字处理
- 前端|css基础总结(css简介、css语法框架、css样式表格式、css选择器)
- 【夯实基础--CSS】|??详解Flex布局,从理论到案例实践(一)
- 布局样式|flex布局个人学习总结及入门案例