当前位置: 首页 > ai >正文

css:倒影倾斜效果

这是需要实现的效果,平时用的比较多的是添加阴影,是box-shadow,而添加倒影是box-reflect,需要注意的是box-reflect需要添加浏览器前缀,比如我用的谷歌浏览器,要加-webkit-才能生效。

-webkit-box-reflect: below 3px linear-gradient(to bottom,transparent 90%,rgba(0, 0, 0, 0.3) 100%);/* 参数说明:below - 倒影方向(下方)0px   - 倒影与图片的间距linear-gradient - 渐变遮罩(使倒影渐隐)*/

倒影需要注意的是渐变设置,由于倒影是倒过来的,所以上面是bottom,下面是top,如下图所示。0-90%都是透明色,然后90%-100%从透明色渐变成半透明色,遮罩在图片倒影上。 

如果不设置渐变,那么就是整个倒影全部显示出来的。

 3d倾斜样式,要现在图片容器上增加透视效果,perspective: 1000px; 

然后图片设置transform: translate3d(0px, 0px, -10px) rotateX(0deg) rotateY(30deg) scale(1);

再添加一点动效,比如鼠标hover的时候,图片回正,transform: none;

想要动效更流畅,又加了transition: transform 1s linear;

但是加了transition后悲催的发现,图片旋转回正后会有视觉残留,360浏览器无此问题而谷歌浏览器有,查了一圈资料,加浏览器前缀-webkit-,加

backface-visibility: hidden;
backface-visibility: hidden;
transform-style: preserve-3d;
will-change: transform;

一概不管用。

完整代码如下,如果有网友解决了谷歌浏览器视觉残留问题,麻烦给我留个言,非常感谢了。

<template><!-- 倒影案例 --><div class="container"><img src="../assets/1.png" /><img src="../assets/2.png" /></div>
</template><script>
</script><style scoped>.container {padding: 50px;display: flex;justify-content: space-around;		/* 图片左右分布 */perspective: 1000px; 		/* 增加3D透视效果 */}.container img {width: 40%;height: 300px;border-radius: 10px;-webkit-box-reflect: below 3px linear-gradient(to bottom,transparent 90%,rgba(0, 0, 0, 0.3) 100%);/* 参数说明:below - 倒影方向(下方)0px   - 倒影与图片的间距linear-gradient - 渐变遮罩(使倒影渐隐)*/transition: transform 1s linear; /*加transition在谷歌浏览器上会有视觉残留问题*/}/* 图片容器里要设置perspective,子元素的translate3d才能生效*//* 第一张图片往右倾斜 */.container img:nth-child(1) {transform: translate3d(0px, 0px, -10px) rotateX(0deg) rotateY(30deg) scale(1);}/* 第二张图片往左倾斜 */.container img:nth-child(2) {transform: translate3d(0px, 0px, -10px) rotateX(0deg) rotateY(-30deg) scale(1);}.container img:nth-child(1):hover {transform: none;}.container img:nth-child(2):hover {transform: none;}</style>

 

http://www.xdnf.cn/news/6661.html

相关文章:

  • Jenkins 最佳实践
  • 从数据包到可靠性:UDP/TCP协议的工作原理分析
  • 【localstorage、sessionStorage和cookie】
  • python报错:typeerror:type object is not subcriptable问题原因及解决方案
  • socket通信中的accept函数
  • 【vue】封装接口,全局字典,表格表头及使用
  • 子查询对多层join优化记录
  • 汉诺塔超算堆栈结构编码和流程详细设计(附源代码)
  • 什么是有向图 无向图 求图的邻接矩阵 软考
  • 搭建游戏云服务器的配置要求包括哪些条件?
  • S32DS使用JLINK编译调试问题点记录
  • Nginx常用命令
  • 在24GB显存大小的GPU上运行27GB的Pytorch模型
  • 基于 Java Socket 的多线程网络聊天程序
  • 依赖倒转原则:Java 架构设计的核心准则
  • 【数据机构】2. 线性表之“链表”
  • 如何使用 Solana Yellowstone gRPC 重新连接和重放插槽
  • Leetcode76覆盖最小子串
  • 软件架构风格系列(4):事件驱动架构
  • 【八股战神篇】Java高频基础面试题
  • C++ 中,using namespace std
  • 一款利用ADB (安卓调试桥)来控制手机的玩机工具
  • Java基础(反射)
  • MySQL——3、数据类型
  • AI:初识NLP
  • Java基础学习
  • NAR项目文章 | 真菌染色质重塑因子通过调控tRNA转录来调节蛋白翻译
  • 《Cryptical Path》开发诀窍:像玩游戏一样开发一款类Rogue游戏
  • shiro 反序列化攻防
  • 【C语言字符函数和字符串函数(一)】--字符分类函数,字符转换函数,strlen,strcpy,strcat函数的使用和模拟实现