CSS 仿 -webkit-box-reflect 属性实现 图片 镜面 倒影 效果

news2024/11/16 12:01:16

背景

最近在支付宝小程序上面要实现图片的镜面倒影效果,于是乎,马上找到了-webkit-box-reflect属性,用上之后真的绝绝子,模拟器上也很完美,可是到真机上一看,iOS 不支持,只有安卓手机支持,这下只能另辟蹊径了,自己画一个呗。

实现方式

方式一:-webkit-box-reflect 属性

布局

<view class="card">
  <image class="card-image" mode="widthFix" src="https://tinypng.com/images/panda-chewing.png" />
  <view class="reflect-box">
    <image class="card-image reflect-image" mode="widthFix" src="https://tinypng.com/images/panda-chewing.png" />
    <view class="reflect-cover"></view>
  </view>
</view>

样式

.card {
  position: relative;
  margin-top: 60rpx;
  width: 540rpx;
  height: 340rpx;
  border-radius: 25rpx;
}

.card .card-image {
  width: 540rpx;
  height: 540rpx;
  border-radius: 25rpx;
  filter: drop-shadow(0 6rpx 14rpx rgba(0, 0, 0, 0.12));
  -webkit-box-reflect: below 5rpx -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.3));
}

效果

在这里插入图片描述

方式二:将图片翻转后,用蒙层罩起来

布局

<view class="card">
  <image class="card-image" mode="widthFix" src="https://tinypng.com/images/panda-chewing.png" />
</view>

样式

.card {
  position: relative;
  margin-top: 60rpx;
  width: 540rpx;
  height: 340rpx;
  border-radius: 25rpx;
}

.card .card-image {
  width: 540rpx;
  height: 540rpx;
  border-radius: 25rpx;
  filter: drop-shadow(0 6rpx 14rpx rgba(0, 0, 0, 0.12));
}

.card .reflect-box {
  position: relative;
  top: -5rpx;
  width: 540rpx;
  height: 540rpx;
  overflow: hidden;
}

.card .reflect-box .reflect-image {
  width: 540rpx;
  height: 540rpx;
  filter: none;
  transform: rotateX(180deg);
}

.card .reflect-box .reflect-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 540rpx;
  height: 540rpx;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.53) 0, #FFF 99.00%);
  border-radius: 25rpx 25rpx 0 0;
}

效果

在这里插入图片描述

部分镜面倒影

方式一:-webkit-box-reflect 属性

.card {
  position: relative;
  margin-top: 60rpx;
  width: 540rpx;
  height: 340rpx;
  border-radius: 25rpx;
}

.card .card-image {
  width: 540rpx;
  height: 540rpx;
  border-radius: 25rpx;
  filter: drop-shadow(0 6rpx 14rpx rgba(0, 0, 0, 0.12));
  -webkit-box-reflect: below 5rpx -webkit-linear-gradient(transparent 50%, rgba(0, 0, 0, 0.3));
}

在这里插入图片描述

方式二:图片外层盒子设置镜面倒影的高度即可

.card {
  position: relative;
  margin-top: 60rpx;
  width: 540rpx;
  height: 340rpx;
  border-radius: 25rpx;
}

.card .card-image {
  width: 540rpx;
  height: 540rpx;
  border-radius: 25rpx;
  filter: drop-shadow(0 6rpx 14rpx rgba(0, 0, 0, 0.12));
}

.card .reflect-box {
  position: relative;
  top: -5rpx;
  width: 540rpx;
  height: 270rpx;
  overflow: hidden;
}

.card .reflect-box .reflect-image {
  width: 540rpx;
  height: 540rpx;
  filter: none;
  transform: rotateX(180deg);
}

.card .reflect-box .reflect-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 540rpx;
  height: 270rpx;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.53) 0, #FFF 99.00%);
  border-radius: 25rpx 25rpx 0 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/696610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于web的家校联系平台的设计与实现(源码+文档+PPT+数据库)

以 web为基础、以 Java SSM (springmvc mybatis mysql)为框架、以spring, springmvc, mybatis, bootstrap, JSP, jquery为主要技术来完成一个家庭与学校之间的联系。在框架下进行开发&#xff0c;管理员可以在后台输入信息、管理信息&#xff0c;设置网站信息&#xff0c;管理和…

【FFmpeg实战】H264 NALU分析

视频序列 宏块结构 NALU分层 H264的主要目标是为了有高的视频压缩比和良好的网络亲和性&#xff0c;为了达成这两个目标&#xff0c;H264的解决方案是将系统框架分为两个层面&#xff0c; VCL(视频编码层)和 NAL(网络提取层). VCL&#xff1a;包括核心压缩引擎和块&#xff…

[数据分析与可视化] 基于matplotlib-scalebar库绘制比例尺

matplotlib-scalebar是一个Python库&#xff0c;用于在matplotlib图形中添加比例尺。它允许用户指定比例尺的大小、位置、字体和颜色&#xff0c;以及比例尺的单位。该库支持不同的比例尺单位&#xff0c;例如米、英尺、英寸等。matplotlib-scalebar安装命令如下&#xff1a; p…

王道考研计算机网络第三章知识点汇总

3.1数据链路层功能概述&#xff1a; 3.2封装成帧和透明传输 重点理解透明传输的概率&#xff1a;可以形象地理解为小秘没有权限打开这5份文件 字符计数法如果其中一个计数字段出差错那么后续字段全部都错误&#xff0c;将会导致灾难性的错误。 字符填充法相当于编程时在/前面再…

JsFu0k批量探测JS存在的敏感关键字

这是一个演示 GitHub地址&#xff1a;https://github.com/jumppppp/go/tree/master/htools/jsfu0k 输出窗口 输出的详细文件 以上演示的是全字匹配 这个自动化工具模仿人工在一个网页内进行寻找js中敏感信息 流程&#xff1a; 填写配置&#xff08;输入批量域名&#xff0…

【每天40分钟,我们一起用50天刷完 (剑指Offer)】第九天 9/50

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…

Eclipse中的实用工具之Debug

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Debug的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.什么是Debug 二.为什么要使用Debug 三…

springboot+element-ui多文件一次上传

前端&#xff1a; <el-uploaddrag:multiple"true":limit"10":auto-upload"false":file-list"fileList"ref"fileUpload"><i class"el-icon-upload"></i><div class"el-upload__text&quo…

【云原生】Pause 容器介绍

Pause 容器 Pause 容器&#xff0c;又叫 Infra 容器 我们知道在 kubelet 的配置中有这样一个参数&#xff1a; KUBELET_POD_INFRA_CONTAINER--pod-infra-container-imageregistry.access.redhat.com/rhel7/pod-infrastructure:latest上面是 openshift 中的配置参数&#xff…

关于Java类加问题我竟让面试官哑口无言

学习类加载之前我们先看看从面试官的角度会问哪些问题&#xff1f;毕竟带着问题学习会比较高效。 直击面试 看你简历写得熟悉 JVM&#xff0c;那你说说类的加载过程吧&#xff1f; 我们可以自定义一个 String 类来使用吗&#xff1f; 什么是类加载器&#xff0c;类加载器有哪些…

雨水情自动监测报警系统解决方案

随着夏季雨季的到来&#xff0c;对全国各地的防汛工作形成挑战&#xff0c;为了实现有效的雨水管理和应对极端天气情况&#xff0c;建立一套科学高效的雨水情监测系统有着重要作用。雨水情监测系统能够提供及时准确的雨水信息&#xff0c;帮助决策者进行全面的天气分析和预警&a…

数字化转型排头兵,金融行业如何利用科技赋能业务 | TVP金融交流会

引言 金融行业&#xff0c;是数字化转型浪潮中的排头兵。这个上千年来&#xff0c;不断创新的行业&#xff0c;从以物易物到纸币发行再到数字资产&#xff0c;承袭至今的是保障客户资产安全&#xff0c;提升资产流通效率的本心。进入产业互联网时代以后&#xff0c;金融科技的发…

第5讲:使用ajax技术实现局部刷新功能(xml数据)

使用ajax技术实现局部刷新功能&#xff0c;每2秒刷新一次数据&#xff0c;本案例使用原生态xmlhttprequest对象&#xff0c;GET方法通讯&#xff0c;使用responseXML属性返回xml格式数据&#xff0c;同时刷新界面数据。 ajax封装库(ajax.js) var xmlhttpnull; //创建XMLHttpRe…

adb-学会查看日志文件

目录 一、获取日志文件 二、日志级别 三、日志缓冲区 四、缓冲区的类型 &#x1f381;更多干货 完整版文档下载方式&#xff1a; 一、获取日志文件 一般情况下&#xff0c;我们在做app测试时&#xff0c;其实并不需要经常使用adb去抓取我们的日志&#xff0c;通常情况下…

使用GPIO来模拟UART

前言 最近在看一些秋招的笔试和面试题&#xff0c;刚好看到一个老哥的经验贴&#xff0c;他面试的时候被问到了如果芯片串口资源不够了该怎么办&#xff1f;其实可以用IO口来模拟串口&#xff0c;但我之前也没有具体用代码实现过&#xff0c;借此机会用32开发板上的两个IO口来…

力扣 404. 左叶子之和

题目来源&#xff1a;https://leetcode.cn/problems/sum-of-left-leaves/description/ C题解1&#xff1a;递归法&#xff0c;前序遍历。 1. 确定输入参数&#xff1a;当前节点&#xff0c;左叶子的和&#xff1b; 2. 确定终止条件&#xff1a;空节点时返回&#xff1b; 3. …

【每日一短语】在必要情况下

1、短语及释义 in a pinch 释义&#xff1a; 在紧要关头&#xff1b;在必要情况下 2、示例及出处 美剧&#xff1a;《生活大爆炸》第七季第21集 The Big Bang Theory, Season 7 Episode 21 Sheldon Cooper: Penny, there’s only one cookie with something in the middle tha…

基于STM32设计的城市绿化云端监控系统(华为云IOT)

一、设计需求 1.1 项目背景 随着科技的蓬勃发展改变了很多传统行业的作业方式,当我们用移动支付代替现金交易时,当我们足不出户就能满足饥饿的身体时,我们的生活方式因为科技而发生了改变;同样科技也在改变着我们周围的点点滴滴,城市绿化养护亦是如此。 通过智慧控制系统…

在Docker中使用MindSpore GPU版本

文章目录 在Docker中使用MindSpore GPU版本获取安装命令安装安装nvidia-container-toolkit获取MindSpore镜像测试运行MindSpore镜像运行代码 使用VSCode开发 在Docker中使用MindSpore GPU版本 参考官方文档&#xff1a;安装指南 获取安装命令 如图所示 命令为 docker pull…

MFC将二维数组写入文件中并进行读取

MFC将二维数组写入文件中并进行读取 当前项目需要将二维数组写入到本地文件中&#xff0c;并在另一个对话框中进行读取。网上查了很多资料&#xff0c;基本都是写字符串到文件中的&#xff0c;想依葫芦画瓢仿照字符串的写法来写二维数组&#xff0c;发现在写文件状态下&#x…