网站首页 > 知识剖析 正文
看到题目是不是吓了一跳?css竟然还有这个操作?还真是第一次听说~
原理嘛,其实很简单的,用到的就是 CSS3 滤镜filter中的drop-shadow,该滤镜可以给图片非透明区域添加投影。你可以理解为下图
它实现的效果看上去就像使原来的对象离开页面,然后在页面上显示出该对象的投影。是有一点类似box-shadow,但是二者还是有显著差别的,我后面会写一篇专门的文章来比较二者的差别。
先来看一下语法:
filter:drop-shadow(水平阴影偏移距离 垂直阴影偏移距离 投射的阴影颜色 );
我们准备一张背景色是透明的图片(图片尺寸40px X 40px),
用一个div将该图片包裹住,给图片添加
filter: drop-shadow(40px 40px yellow)
这段代码,代表投射出一个和该图片一样的形状,
三个参数分别代表:
水平向右移动40px,
垂直向下移动40px,
投射出的形状颜色为黄色。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
.box{
width: 40px;
height: 40px;
border: 1px solid red;
margin: 200px auto;
}
.pic{
filter: drop-shadow(40px 40px yellow);
}
</style>
</head>
<body>
<div class="box">
<img src="img/delete.png" class="pic"/>
</div>
</body>
</html>
效果为
接下来我们稍微更改一下原代码,将原图设置在div外部并隐藏,变色后的投影放置在div中
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
.box{
width: 40px;
height: 40px;
border: 1px solid red;
margin: 200px auto;
text-indent: -40px;
overflow: hidden;
}
.pic{
filter: drop-shadow(40px 0px yellow);
}
</style>
</head>
<body>
<div class="box">
<img src="img/delete.png" class="pic"/>
</div>
</body>
</html>
如果想换成其他颜色,直接更改第三个参数就Ok了~是不是很简单
- 上一篇: 如何在 CSS 中使用配色方案
- 下一篇: css背景色:控制页面设计新技巧
猜你喜欢
- 2024-11-20 CSS简写指南
- 2024-11-20 利用CSS filter的属性给img修改颜色
- 2024-11-20 CSS奇思妙想-使用background创造美妙背景(上篇)
- 2024-11-20 HTML5(七)——SVG基础入门
- 2024-11-20 CSS 四个不同大小和颜色的圆环加载动画 #前端开发工程师
- 2024-11-20 花了一整晚三个小时给大家整合的配色网站合集
- 2024-11-20 如何在设计软件中正确填充颜色的详细指南
- 2024-11-20 css 实现各种多边形图案
- 2024-11-20 渐变色不会调?这10个网站帮你快速搞定
- 2024-11-20 css3实现背景颜色渐变的方法
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)