对于div里面内容过大根据长度或者宽度进行适配,然后可以滚轮缩放的功能
在做3000的项目中,因为页面的svg很大,但是做的只是适配电脑,打开肯定是看不全的,要看全就必须进行滚动,可是客户提出了将页面放在电视机上面,用电视输入网址直接访问,这样问题就来了,电视上怎么进行滚动呢
所以新增需求
1、页面根据不同尺寸的设置进行适配
2、确保页面内容可以全部查看完整
3、可以进行滚轮滚动缩放
实例
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<style type="text/css">
html,body{
width:100%;
height:100%;
overflow:hidden;
padding:0;
margin:0;
}
#big{
overflow:auto;
width:100%;
height:100%
}
#content{
width:3000px;
height:2000px;
background-color:pink;
display:flex;
justify-content:center;
align-items:center;
transform-origin:0 0;
}
#content>span{
display:flex;
justify-content:center;
align-items:center;
width:500px;
height:500px;
color:white;
background: rgba(0,0,0,0.5);
}
</style>
</head>
<body>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
window.onload=function(){
initEvent()
//计算是宽度优先的还是高度优先的
initScale()
}
function initScale(){
var initScale = 1;
if($(window).width()/$("#content").width()<$(window).height()/$("#content").height()){
initScale=$(window).width()/$("#content").width();
}else{
initScale=$(window).height()/$("#content").height();
}
console.log(initScale)
$("#content").css("transform","scale("+initScale+")")
}
function initEvent(){
//滚轮效果
var params={}
$('body').on('mousewheel',function(e){
params.zoomVal+=event.wheelDelta/1200;
var o=e.target;
if (params.zoomVal >= 0.2) {
$("#content").css("transform","scale("+params.zoomVal+")")
} else {
params.zoomVal=0.2;//不让其一直无限缩小
$("#content").css("transform","scale("+params.zoomVal+")")
return false;
}
})
$(window).on("resize",function(){
initScale()
})
}
</script>
<div id="big">
<div id="content" class="big-image">
<span>测试根据屏幕尺寸进行缩放div</span>
</div>
</div>
</body>
</html>
效果图

对于div里面内容过大根据长度或者宽度进行适配,然后可以滚轮缩放的功能的更多相关文章
- css如何让<a>标签,根据输入的内容长度调整宽度,宽度自适应,那位大仙帮帮忙
css如何让<a>标签,根据输入的内容长度调整宽度,宽度自适应,那位大仙帮帮忙 5 样式 .ceshi{float:left; margin-left:13px; width:180px; ...
- 浏览器对DIV+CSS兼容性问题大总结
浏览器对DIV+CSS兼容性问题大总结 接触DIV+CSS架构已经快两年了,个人觉得css入门不难,但要学精并非一朝一夕的,现在大部分网络公司都比较主张用div+css来布局,这就面临着一个比较难的问 ...
- 为什么当多个inline-block的div中,如果有的div没有内容而有的div有内容,有内容的会下沉?
为什么当多个inline-block的div中,如果有的div没有内容而有的div有内容,有内容的会下沉? 就像这样 两个div高度相同,第二个我写了一个1当作 有内容吧,它就下沉了... 奇怪... ...
- 如何让2个并列的div根据内容自动保持同等高度
最近在工作中碰到一个需求: 有左右2个并列的div,2个div都不能限定高度.左div为导航,右div为内容.如何能让左div块自动获得和右div块相等的高度? 同时,也有网友提问到"如果右 ...
- 让2个并列的div根据内容自动保持同等高度js
有左右2个并列的div,2个div都不能限定高度.左div为导航,右div为内容.如何能让左div块自动获得和右div块相等的高度? 同时,也有网友提问到“如果右块高度比左块低,会不会导致左块的内容被 ...
- div+css 怎么让一个小div在另一个大div里面 垂直居中
div+css 怎么让一个小div在另一个大div里面 垂直居中 方法1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 .parent { width:800 ...
- 表格不被内容撑大,且超出的内容变为省略号(css)
今天写代码,发现表格会被内容撑大,影响到了网页的整体布局. 百度了一解决方法,下面是代码和我的备注 table{table-layout: fixed;} //固定表格 table td ...
- POST内容太大的问题
背景: 最近项目进入尾声,需要做交付测试,发现CMS生成页面在反复修改保存多次后,由于页面存在动态加载js的缘故,使得页面的内容越来越大,最终出现页面没有办法保存(ajax post将页面的内容发送给 ...
- http响应报文,如果响应的内容比较大,客户端怎么样判断接收完了呢?
1. http协议有正文大小说明的content-length 2. 或者分块传输chunked的话 读到0\r\n\r\n 就是读完了 ---------------------------- ...
随机推荐
- Vue中可用的判断对象是否为空的方法
vue有两个方法可用 1. JSON.stringify(evtValue)=='{}' 2. Object.keys(xxx).length==0 js判断对象是否为空对象的几种方法 1.将json ...
- [转][C#].Net反编译利器
来自:https://www.cnblogs.com/zsuxiong/p/5117465.html 有以下8款非常不错的.Net反编译利器: 1.Reflector Reflector是最为流行的. ...
- Android:cmake开发指南
一.静态库与动态库构建 (.so)共享库,shared object:节省空间,在运行时去连接,如果执行机器上没有这些库文件就不能执行. (.a)静态库,archive:静态库和程序化为一体,不会分开 ...
- post请求导出Excel表格
axios.interceptors.response.use((response) =>{ if(response.config && response.config.resp ...
- 给数据库授权,否则程序、navicat无法连接数据库的,每创建一个数据库都要给数据库授权
给数据库授权,否则程序.navicat无法连接test1数据库的 mysql> grant all privileges on test1.* TO 'root'@'%' identified ...
- js匿名函数确实是个好东西
<body onload="alert('http://www.baidu.com/');"> <script type="text/javascrip ...
- iOS-ShareSDK的使用(转)
官方下载ShareSDK iOS:http://sharesdk.cn/ ShareSDK社会化分享 包含“社会化分享组件”“社会化登录组件”“第三方评论和赞”三大模块,并有详尽的数据统计后台,助力移 ...
- python-Web-flask-视图内容和模板
2 视图内容和模板: 基本使用 #设置cookie值 @app.route('/set_cookie') def set_cookie(): response = make_response(&quo ...
- LeetCode刷题1——只出现一次的数字
一.题目要求 二.题目背景 位运算:或,异或,与,移位 三.解题思路 (1)要求算法时间复杂度是线性的,O(n),想到的是先将列表排序,排序后相同的数值两两之间前后相邻,进行偶数次循环,判断两两数值是 ...
- Fabric1.4 背书策略 .yam文件
{ identities: [ // 以下几项自动编号为[0,1,2] { role: { name: "member", mspId: "peerOrg1" ...