【web】页面缩放和滑动功能实现的方法总结

缩放功能:


方法一:

通过meta元素实现缩放功能:

手机页面禁止缩放:
示例1:

<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">

示例2:(常用)

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>

手机页面可以缩放:

示例1:

<meta name="viewport" content="width=device-width, initial-scale=2.5, minimun-scale=1.0, maximum-scale=5.0, user-scalable=yes"/>


属性解释:

width = device-width —— 指示视区宽度为设备的屏幕宽度
height = device-hight —— 指示视区高度为设备的屏幕高度
width = pixel_value —— 宽度(以像素为单位)
height = pixel_value —— 高度(以像素为单位)
initial-scale = float_value —— 初始的缩放比例
minimum-scale = float_value —— 允许用户缩放到的最小比例 (值的范围为0.25至10.0之间)
maximum-scale = float_value —— 允许用户缩放到的最大比例 (值的范围为0.25至10.0之间)
user-scalable = [yes | no] —— 用户是否可以手动缩放 (值为yes时允许用户进行缩放,值为no时不允许缩放)




方法二:

缩放功能也可以使用一些js插件——zoom.js

http://www.oschina.net/p/zoomjs?fromerr=iWPTPisF

插件功能:

在页面上点击,目标处的内容会放大,再次点击或者按 ESC 键即可恢复原始大小

备注:

如果是子元素比父元素的宽高要大的话,使用的意义不大!!!








滑动功能:

CSS属性:overflow

http://www.w3school.com.cn/cssref/pr_pos_overflow.asp

使用示例:

通过动态插入某段html 到div元素中

$('.indented').append(html);

当插入的这段html 比父元素的宽高要大的话,就会超出屏幕显示!!

此时可以使用CSS的属性:overflow:auto;

但是这样还未能完事

父级div怎能么自适应子元素的宽高?

不要设置父元素的height和width属性,或者设置为width:100%; height:100%; 

 <div class="indented" style="width:100%; height:100%; overflow:auto;">

但是这样的写法只能在android端上适用,ios端是滚动不到的,还需要添加一句CSS代码

-webkit-overflow-scrolling : touch;  

原因是ios内置的是safari浏览器,与android内置的浏览器内核不同,因此出现了不兼容。

完全写法:
<div class="indented" style="width:100%; height:100%; overflow:auto; -webkit-overflow-scrolling: touch;" >	

这样当子元素的内容超过父元素的宽高时,会自动撑开

备注:

使用overflow:scroll;会出现滚动条,按需要使用







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用一个叫做pdf.js的开源库来实现PDF预览功能。它是Mozilla开发的一款基于Web的PDF阅读器,可以在浏览器中直接呈现PDF文件。 以下是使用Vue实现PDF预览功能的步骤: 1. 安装pdf.js库 通过npm或yarn安装pdf.js库: ```bash npm install pdfjs-dist ``` 2. 创建一个Vue组件 在Vue项目中创建一个组件,例如PdfViewer.vue。在这个组件中,你需要引入pdf.js库: ```javascript import pdfjsLib from 'pdfjs-dist' ``` 3. 加载PDF文件 在组件的created生命周期钩子中,使用pdf.js加载PDF文件: ```javascript pdfjsLib.getDocument(pdfUrl).promise.then(pdf => { this.pdf = pdf this.totalPages = pdf.numPages }) ``` 其中,pdfUrl是PDF文件的URL,这里使用promise方法获取PDF文件对象。获取PDF文件对象后,我们可以获取到PDF文件的总页数。 4. 渲染PDF页面 在组件的mounted生命周期钩子中,使用pdf.js渲染PDF页面: ```javascript this.pdf.getPage(this.currentPage).then(page => { const canvas = this.$refs.canvas const context = canvas.getContext('2d') const viewport = page.getViewport({ scale: this.scale }) canvas.height = viewport.height canvas.width = viewport.width page.render({ canvasContext: context, viewport }) }) ``` 这里我们使用了HTML5中的Canvas元素来绘制PDF页面。getPage方法获取到当前页码的PDF页面,然后根据页面的大小和缩放比例来设置Canvas元素的大小,最后使用render方法将PDF页面渲染到Canvas上。 5. 切换PDF页面 你可以在组件中添加一个按钮或输入框来切换PDF页面。在这个按钮或输入框的事件处理函数中,你需要更新currentPage属性,然后重新渲染PDF页面: ```javascript this.pdf.getPage(this.currentPage).then(page => { // ... }) ``` 6. 控制PDF页面缩放 你可以通过添加一个滑动条或按钮来控制PDF页面缩放比例。在事件处理函数中,你需要更新scale属性,然后重新渲染PDF页面: ```javascript this.pdf.getPage(this.currentPage).then(page => { const canvas = this.$refs.canvas const context = canvas.getContext('2d') const viewport = page.getViewport({ scale: this.scale }) canvas.height = viewport.height canvas.width = viewport.width page.render({ canvasContext: context, viewport }) }) ``` 以上就是使用Vue实现PDF预览功能的基本步骤。你可以根据自己的需求来调整和优化代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值