使用svg让页面自适应浏览器大小,整体等比缩放
网页代码:
<!DOCTYPE html>
<html>
<head>
<style>
body
{
margin:0;
padding:0;
width:100%;
height:100%;
background-color: #282828;
} /*自定义悬浮菜单中滚动条*/ ::-webkit-scrollbar-button {
display: none;
} ::-webkit-scrollbar-track {
background-color: #eaeaea;
border-left: 1px solid #cecece;
border-radius: 5px;
box-shadow: none;
border: 0;
} ::-webkit-scrollbar {
width: 5px;
height: 5px;
} ::-webkit-scrollbar-thumb {
background-color: #cecece;
border-radius: 5px;
box-shadow: none;
border: 0;
} ::-webkit-scrollbar-thumb:hover {
background-color: #aaa;
} </style>
</head>
<body>
<svg id="main" style="margin: 0px; overflow: hidden;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-version="v6.5.36" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1452 860" width="1452" height="860"><image xlink:href="./jxsbback.png" x="0px" y="0px" width="1452px" height="860px"></image><foreignObject x="383px" y="165px" width="682px" height="384px"><video width="100%" height="100%" controls="controls" autoplay="autoplay"><source src="./video/aaa.mp4" type="video/mp4" /></video></foreignObject></svg>
<script type="text/javascript">
//调整浏览器窗口大小事件
window.onresize = function(){
_autoZoom();
}
_autoZoom();
function _autoZoom(){
var svg = document.getElementById("main");
if (svg) {
svg.setAttribute("preserveAspectRatio", "xMinYMin meet");
svg.setAttribute("viewBox", "0 0 1452 860");
svg.style.overflow = "hidden";
var viewBoxVal = svg.getAttribute("viewBox");
if (viewBoxVal) {
var viewBoxWidth = viewBoxVal.split(" ")[2];
var viewBoxHeight = viewBoxVal.split(" ")[3];
svg.removeAttribute("width");
svg.removeAttribute("height"); var setWidth = document.body.clientWidth;
var setHeight = setWidth * viewBoxHeight / viewBoxWidth;
svg.setAttribute("width", setWidth);
svg.setAttribute("height", setHeight);
}
}
}
</script>
</body>
</html>
使用svg让页面自适应浏览器大小,整体等比缩放的更多相关文章
- css自适应浏览器大小
css自适应浏览器大小 1.屏幕 > 900px :显示3列 2.450px < 屏幕 < 900px :显示2列 3.屏幕 < 450px :显示1列 <!DOCTYP ...
- jQuery easyui layout布局自适应浏览器大小(转)
首先解释一下标题的含义,当我们用jQuery easyui layout 进行布局的时候,可能会遇到这样一个问题,那就是当手工调整浏览器大小,或者最大化.还原窗口的时候,layout的某个区域不能填充 ...
- HTML中使背景图片自适应浏览器大小
由于<body>标签的图片不能够拉伸, 解决办法: 1.图片不够大,又background属性不能拉伸图片: 2.只能用个div,把其z-index值设为负,并使这个div大小为整个bod ...
- Echarts自适应浏览器大小
var myChart = echarts.init(document.getElementById('sitesChar')); var option = { title : { text: 'No ...
- Python+Selenium自动化-设置浏览器大小、刷新页面、前进和后退
Python+Selenium自动化-设置浏览器大小.刷新页面.前进和后退 1.设置浏览器大小 maximize_window():设置浏览器大小为全屏 set_window_size(500,5 ...
- echarts图表自适应浏览器窗口的大小
echarts问题描述 当浏览器窗口发生变化时,echarts图表未能自适应浏览器的变化,产生如下的效果 解决方案 在$(function(){}中添加 window.onresize = funct ...
- HTML5 移动页面自适应手机屏幕四类方法
1.使用meta标签:viewport H5移动端页面自适应普遍使用的方法,理论上讲使用这个标签是可以适应所有尺寸的屏幕的,但是各设备对该标签的解释方式及支持程度不同造成了不能兼容所有浏览器或系统. ...
- 》》HTML5 移动页面自适应手机屏幕四类方法
1.使用meta标签:viewport H5移动端页面自适应普遍使用的方法,理论上讲使用这个标签是可以适应所有尺寸的屏幕的,但是各设备对该标签的解释方式及支持程度不同造成了不能兼容所有浏览器或系统. ...
- Web前端页面的浏览器兼容性测试心得(三)总结一些IE8兼容问题的解决方案
由于IE8不支持HTML5,而它又是Win7的默认浏览器,我们即使讨厌它,在这几年却也拿它没办法. 最近做了个需要兼容IE8的项目,不可避免地用了HTML5+CSS3,甚至canvas和svg,做兼容 ...
- 手机端页面自适应解决方案—rem布局(该方案目前已过时)
转自:https://segmentfault.com/a/1190000004705207 相信很多刚开始写移动端页面的同学都要面对页面自适应的问题,当然解决方案很多,比如:百分比布局,弹性布局fl ...
随机推荐
- 为测试管理正名,华为云CodeArts TestPlan的守护之道
摘要:华为云CodeArts TestPlan既有公有云版本,也有下沉到私有云的版本. 本文分享自华为云社区<为测试管理正名,华为云CodeArts TestPlan的守护之道>,作者:云 ...
- doc指令
## 打开doc指令方法 1. 开始菜单 --所有应用--Windows系统--命令提示符 2. win+r 输入cmd 3. 桌面文件夹下面按住shift+右键选择在此处打开窗口 4. 文件导航栏路 ...
- angular 输入框获取焦点失效的问题
重点说明: 假如先设定了 输入框disabled又打开,然后执行获取焦点,可能会失效,这个时候可以把getFocus函数放在定时器里,1秒钟后执行,就可以了哦~ 具体代码如下 html ...
- 通过this引用成员方法-类的构造器
通过this引用成员方法 this代表当前对象,如果需要引用的方法就是当前类中的成员方法,那么可以使用"this成员方法"的格式来使用方法引用.首先是简单的函数式接口︰ 下面是一个 ...
- 同类型芯片资源对比-CH32x芯片快速应用说明
CH32Fx 系列芯片是基于 Cortex-M3 内核设计的微控制器,所以与大部分 ARM 工具和软件兼容. 此外,其外设和硬件设计兼容市场上一些主流微控制器,并在性能和功能上有所增强, 方便用户快速 ...
- 聊一聊js中元素定位的方法
在做selenium web自动化的时候,有时通过selenium定位不到,或无法操作元素,这个时候就需要通过js来 定位/操作元素,然后通过selenium自带的execute_script()方法 ...
- JSP第十一次作业
1.第十二周上机作业(邮件功能)的控制层代码改用为servlet实现.2.学习通发布了考试,截止到本周六. com.gd.dao BaseDao 1 package com.gd.dao; 2 3 ...
- Vue17 手机表单数据
1)v-model.trim trim修饰符是去掉前后空格 2)type="number" v-model.number type="number":只能输入数 ...
- ECharts 饼图切换数据源bug 开始没数据显示 切换或刷新后显示
1.出现问题原因 一个饼图,右上方两个按钮分别为今天和本月,分别调用不同接口控制,点击则调用不同接口同时饼图绑定数据源刷新:出现此问题原因点击今日按钮有一个饼图区域形没有数据不显示,对应数据值比例都没 ...
- TypeScript 学习笔记 — 类的基本用法(五)
目录 TS 中定义类 类中实例属性.方法 + 修饰符 public protected private readonly 实例方法 类中原型属性.方法 + 访问器 原型属性 + 访问器 原型方法 类中 ...