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

Oracle APEX 利用卡片实现翻转(方法二)

目录

0. 以 Oracle 的标准示例表 EMP 为例,实现卡片翻转

1. 创建卡片区域 (Cards Region)

2. 定义卡片的 HTML 结构

3. 添加 CSS 实现样式和翻转动画

4. 创建动态操作触发翻转

5. 运行效果


0. 以 Oracle 的标准示例表 EMP 为例,实现卡片翻转

目标如下:
正面: 显示员工姓名 (ENAME) 和职位 (JOB)。 
背面: 显示员工编号 (EMPNO)、薪水 (SAL) 和佣金 (COMM)。

1. 创建卡片区域 (Cards Region)

1-1. 在您的 APEX 页面上,添加一个新的区域 (Region),将类型设置为 卡片 (Cards)。
1-2. 为该区域设置一个标题,例如 "员工卡片 (Employee Cards)"。
1-3. 在 源 (Source) 部分,使用与之前相同的 SQL 查询:

SELECTEMPNO,ENAME,JOB,SAL,NVL(COMM, 0) AS COMM
FROMEMP

2. 定义卡片的 HTML 结构

2-1. 转到卡片区域的 属性 (Attributes) 选项卡。
2-2. 找到 卡片 (Card) -> HTML 表达式 (HTML Expression) 属性。
2-3. 将以下 HTML 代码粘贴到 HTML 表达式 框中。这段代码利用了 SQL 查询中的列(用 #COLUMN_NAME# 的形式引用),并构建了卡片的正反面。

<div class="emp-card-container"><div class="emp-card-inner"><div class="emp-card-front"><div class="emp-card-content"><h2 class="emp-name">&ENAME.</h2><p class="emp-job">&JOB.</p><span class="emp-card-flipper">点击翻转</span></div></div><div class="emp-card-back"><div class="emp-card-content"><h3>员工详情</h3><p><strong>编号:</strong> &EMPNO.</p><p><strong>薪水:</strong> &SAL.</p><p><strong>佣金:</strong> &COMM.</p></div></div></div>
</div>

3. 添加 CSS 实现样式和翻转动画

3-1. 在页面的属性编辑器中(在最顶层的页面节点上),找到 CSS -> 内联 (Inline)。
3-2. 将以下 CSS 代码粘贴进去。

/*APEX 的 .a-Card 元素是实际的卡片容器。我们让它透明,以便我们的自定义内容可以完全控制外观。
*/
.t-Cards-region .a-Card {background: transparent;box-shadow: none;border: none;
}/* 卡片容器,为3D效果提供透视 */
.emp-card-container {background-color: transparent;width: 100%; /* 宽度占满 APEX 卡片单元格 */height: 200px; /* 定义一个固定的高度 */perspective: 1000px; /* 3D 效果的关键 */cursor: pointer;
}/* 内部容器,将执行翻转动画 */
.emp-card-inner {position: relative;width: 100%;height: 100%;text-align: center;transition: transform 0.8s;transform-style: preserve-3d;box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
}/* 当容器被点击(添加 is-flipped 类)时,翻转内部容器 */
.emp-card-container.is-flipped .emp-card-inner {transform: rotateY(180deg);
}/* 定义卡片的正面和背面 */
.emp-card-front, .emp-card-back {position: absolute;width: 100%;height: 100%;-webkit-backface-visibility: hidden; /* Safari */backface-visibility: hidden; /* 隐藏翻转到背面的元素 */border-radius: 8px;display: flex;align-items: center;justify-content: center;
}/* 正面样式 */
.emp-card-front {background-color: #f8f9fa;color: #333;
}/* 背面样式,初始时是翻转过去的 */
.emp-card-back {background-color: #007bff;color: white;transform: rotateY(180deg);
}.emp-card-content {padding: 20px;
}.emp-name {font-size: 1.5em;margin: 0;
}
.emp-job {font-size: 1em;color: #6c757d;font-style: italic;
}
.emp-card-flipper {font-size: 0.8em;color: #999;position: absolute;bottom: 10px;left: 0;right: 0;
}

4. 创建动态操作触发翻转

4-1. 选中卡片后右键创建动态操作(Dynamic Action)

4-2. 在时间标签中作如下选择

  • 事件:单击
  • 选择类型:jQuery Selector
  • jQuery 选择器:.emp-card-container

4-3. 在“真”下执行如下JavaScript代码:

$(this.triggeringElement).toggleClass('is-flipped');

5. 运行效果


文章转载自:

http://elfIM1x7.qdbcd.cn
http://PCHJEFLj.qdbcd.cn
http://KQQvqmOL.qdbcd.cn
http://TNi1XDdZ.qdbcd.cn
http://a6lTUDUn.qdbcd.cn
http://lJNywhoH.qdbcd.cn
http://L6Jgvd2Q.qdbcd.cn
http://yeKWCFd2.qdbcd.cn
http://QCw6clWI.qdbcd.cn
http://Tj5eRT1G.qdbcd.cn
http://PrKCskUN.qdbcd.cn
http://bNKHoJE7.qdbcd.cn
http://XlmvC9jt.qdbcd.cn
http://1J0uOcpF.qdbcd.cn
http://2Nrj8nBb.qdbcd.cn
http://unUONan4.qdbcd.cn
http://2TW9EW2N.qdbcd.cn
http://dcRcxlzc.qdbcd.cn
http://xvDddtUY.qdbcd.cn
http://OUVpPKSQ.qdbcd.cn
http://FAAyryUu.qdbcd.cn
http://ccML0o1m.qdbcd.cn
http://ZLsTyfdZ.qdbcd.cn
http://vpyPOgEb.qdbcd.cn
http://OYRSSy56.qdbcd.cn
http://AhxoOZE2.qdbcd.cn
http://KaHDVcK7.qdbcd.cn
http://Of4R7v1y.qdbcd.cn
http://M5EqYGfi.qdbcd.cn
http://7hMooSSZ.qdbcd.cn
http://www.dtcms.com/a/375290.html

相关文章:

  • 记一次 electron 添加 检测 终端编码,解决终端打印中文乱码问题
  • 从生活照料到精神关怀,七彩喜打造全场景养老服务体系
  • 2025-09-08升级问题记录: 升级SDK从Android11到Android12
  • BizDevOps 是什么?如何建设企业 BizDevOps 体系
  • 一、ARM异常等级及切换
  • 【项目复现】MOOSE-Chem 用于重新发现未见化学科学假说的大型语言模型
  • mybatis plus 使用wrapper输出SQL
  • PgSQL中优化术语HOT详解
  • Python 绘制 2025年 9~11月 P/1999 RO28 (LONEOS) 彗星路径
  • Spring Cloud Stream深度实战:发布订阅模式解决微服务通信难题
  • 【菜狗每日记录】深度轨迹聚类算法、GRU门控神经网络—20250909
  • OpenCV 实战:多角度模板匹配实现图像目标精准定位
  • C#/.NET/.NET Core技术前沿周刊 | 第 53 期(2025年9.1-9.7)
  • 基于Java+Vue开发的家政服务系统源码适配H5小程序APP
  • 使用Flask实现接口回调地址
  • Java线程中的sleep、wait和block:区别与联系详解
  • 生信软件管理, 容器-Singularity学习笔记
  • go webrtc - 2 webrtc重要概念
  • 智能驱动,全程可控——D-QS工程造价数字化平台核心功能深度解析
  • [硬件电路-170]:50Hz工频干扰:本质、产生机制与影响
  • tab切换动画,背景图向内收缩效果,主图片缓慢展开效果(含自适应)
  • 【内存管理】设置内存页表项 set_pte_at
  • Python中内置装饰器
  • 鸿蒙NEXT UI高性能开发实战:从原理到优化
  • 影视APP源码 SK影视 安卓+苹果双端APP 反编译详细视频教程+源码
  • Anthropic 支持加州 AI 安全法案
  • 【杂类】应对 MySQL 处理短时间高并发的请求:缓存预热
  • ubuntu 20.04 安装spark
  • 【企业微信】接口报错:javax.net.ssl.SSLHandshakeException
  • uniapp原生插件 TCP Socket 使用文档