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

电子合同网页预览盖章效果实现

电子合同在现在应用越来越广,需求也就随之产生。

本篇文章主要记录两种网页盖章效果实现方式,自己记录一下,

也给需要的人提供一点思路和帮助。

 

效果

目录

Jquery+CSS实现

原理

1.设置印章图片并隐藏

2.标记盖章位置元素

3.获取目标元素位置

4.设置悬浮

纯css实现

原理

1.设置父元素为相对定位

2.设置图片为子元素并悬浮

3.调整图片悬浮位置

总结


Jquery+CSS实现

原理

通过定位盖章位置,之后操作图片悬浮到盖章位置

1.设置印章图片并隐藏

首先得有印章的图片,最好是透明背景的png图片

图片位置可以随便,不影响之后操作;因为印章图片较大,所以设定了高度。

<img id="zhang1" src="./images/contract1.png" style="display: none" height="180px" alt="">
<img id="zhang2" src="./images/contract1.png" style="display: none" height="180px" alt="">

2.标记盖章位置元素

实际操作中,印章应悬浮在盖章和甲乙方之上。

所以设定盖章二字所包元素上加一个id标记;当然也可以设置到甲乙方元素上。

3.获取目标元素位置

通过jquery offset方法获取目标元素的top/left属性

// 获取目标1的top left位置
let qian1 = $('#qian1').offset();
let top1 = qian1.top;
let left1 = qian1.left;

4.设置悬浮

因为印张图片高度是确定的,上面设置过。

就可以通过css方法设置印张图片元素悬浮和悬浮位置并显示元素。

// 获取目标1的top left位置
let qian1 = $('#qian1').offset();
let top1 = qian1.top;
let left1 = qian1.left;// 设置章1位置
$("#zhang1").css({position:'absolute',top:top1-50,left:left1
}).show();// 获取目标2的top left位置
let qian2 = $('#qian2').offset();
let top2 = qian2.top;
let left2 = qian2.left;// 设置章2位置
$("#zhang2").css({position:'absolute',top:top2-50,left:left2
}).show();

纯css实现

原理

通过行内样式,设定目标元素为相对定位,把章图片放入目标元素中,并设置悬浮为绝对定位,原理还是利用悬浮来实现,只是不需要jquery/js。

1.设置父元素为相对定位

<span style="position:relative">盖章:

2.设置图片为子元素并悬浮

<span>
<span style="position:relative">盖章:
<img src="./images/contract1.png" style="position:absolute;top:-90px;left:0;" height="180px" alt="">
</span><span style="position:relative">盖章:
<img src="./images/contract1.png" style="position:absolute;top:-90px;left:0;" height="180px" alt="">
</span>
</span>

3.调整图片悬浮位置

调整时可设置一个初始数值,之后打开浏览器工具查看效果进行调试,

直至最终效果确定后修改悬浮数值。

 

总结

这样就实现了印章悬浮于目标文字之上达到逼真的盖章效果,在这里记录一下。 

http://www.lryc.cn/news/89964.html

相关文章:

  • 棋盘覆盖问题
  • [CISCN2023]unzip
  • 基于Html5的在线资料库的设计与实现(asp.NET,SQLServer)
  • 【Vue】二:Vue核心处理---计算属性 监视属性
  • 【Web服务器集群】Nginx网站服务
  • 开始第一个vue项目,环境搭建+html项目运行
  • Redis 的数据类型和命令帮助
  • 【C++11】智能指针
  • 三、Go的常用命令以及Go的执行原理
  • ESP32 CAM 模块和 OpenCV 的二维码扫描器
  • 多链路传输技术在火山引擎 RTC 的探索和实践
  • 在Flask中构建API接口
  • Postgres vs MySQL
  • 02.IP地址以及静态路由配置
  • GD32(STM32)因为中断问题,导致不能进行程序 正常运行
  • 华为OD机试真题B卷 Java 实现【统计字符】,附详细解题思路
  • 深入理解设计原则之开闭原则(OCP)
  • 【学习随笔】
  • 【多路IO复用】select
  • cuda编程学习——基础知识介绍!干货向(三)
  • 30 VueComponent 事件的绑定
  • 作用域及作用域链
  • 深入解析Linux C/C++ 编程中的内存泄漏问题
  • 【爬虫第三章】 Python基础
  • 电力系统的虚假数据注入攻击和MTD系统研究(Matlab代码实现)
  • 【阿里云】阿里云OSS对象存储— 开通OSS服务、搭建OSS环境、快速入门
  • 代理对象Proxy是什么
  • 会话跟踪cookie和session
  • ACS Cent. Sci 2018 | 数据驱动的分子连续表征的自动化学设计
  • 安卓Termux搭建web服务器【公网远程手机Android服务器】