CSS3中有一个box-reflect属性,也就是图片反射,主要的效果是将一张图片反射到对应面并且可以设置想要的一些效果(如:渐变)等
语法
box-reflect:包括三个值
-
direction 定义方向
- above 反射到对象的上面
- below 反射到对象的下面
- left 反射到对象的左面
- right 反射到对象的又面
-
offset定义反射偏移的距离
- 默认为0 也可以为负
-
mask-box-image定义遮罩图像
原图:
示列一
below反射到对象的下方,这是方向一类代码;不管上面左右原理是一致的,大家根据语法修改即可
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img {
width: 50px;
height: 50px;
-webkit-box-reflect: below;
}
</style>
</head>
<body>
<img src="./img/1.png">
</body>
</html>
效果:
示列二
此代码及效果是设置偏移量;大家也可以理解为反射对象的间隔距离
此处设置的是20像素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img {
width: 30px;
height: 30px;
-webkit-box-reflect: below 20px;
}
</style>
</head>
<body>
<img src="./img/1.png">
</body>
</html>
效果:
示列三
此代码及效果是将反射对象的图片做了一个渐变效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img {
width:30px;
height:30px;
-webkit-box-reflect: below 0px linear-gradient(to bottom, transparent, rgba(0, 0, 0, 1));
}
</style>
</head>
<body>
<img src="./img/1.png">
</body>
</html>
效果: