使用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>

原文地址:https://www.cnblogs.com/xiaojitui/p/12084251.html

时间: 2024-10-04 10:06:23

使用svg让页面自适应浏览器大小,整体等比缩放的相关文章

表格自动适应浏览器大小及DIV浮动设计(页面自适应浏览器大小)

一.表格自适应浏览器大小 之前写了个页面,将width和height值给定死了,这样导致浏览器缩小时,表格不会跟着自动适应浏览器大小. 解决方法: 1.一般是给表格整体使用样式:table-layout:fixed: 2.将表格中的各个单元格的width和height属性值设为比例,而不是给定值. <table style="width:100%"> <tr> <td style="width:20%">skinny cell&l

使用JQuery使浏览器内的控件自适应浏览器大小

首先在<head>中加入对jQuery的引用 <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script> 在JS中添加方法window.onresize和window.onload该方法为系统函数,在有触发时自动调用 <script type="text/javascri

背景图片自适应浏览器大小

解决办法: 1.使用div,设置z-index为负数,并使此div大小为整个body的大小: 2.div里放个<img>标签,显示图片: 3.body标签的background属性去掉 具体见代码: <div style="position:absolute; width:100%; height:100%; z-index:-1;">     <img src="img/bg_home.png" height="100%&q

HTML中使背景图片自适应浏览器大小

1.图片不够大,又background属性不能拉伸图片: 2.只能用个div,把其z-index值设为负,并使这个div大小为整个body大小,在div里用<img> 3.body的background属性去掉,要不然会被遮住 例子: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> &l

找到一款可以自适应浏览器大小的js,对于iframe特别好用

使用代码如下 <html> <head> <script> function SetCwinHeight(obj) { var cwin=obj; if (document.getElementById) { if (cwin && !window.opera) { if (cwin.contentDocument && cwin.contentDocument.body.offsetHeight) cwin.height = cwin.

页游中常见的游戏元素位置自适应浏览器大小变化之解决方案

在玩页游中,很常见的一个功能是,当你改变浏览器的大小时,页游中一些元素位置比如聊天框等会自动随着浏览器变化而变化,该功能如何实现了? 哈,解决方式是:监听舞台变化,获取变化后的舞台宽高(stage.stageWidth,stage,stageHeight),然后根据新的舞台宽高,再改变舞台上各个元素的位置. 上代码测试: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=&

Echarts自适应浏览器大小

var myChart = echarts.init(document.getElementById('sitesChar')); var option = { title : { text: 'Nodejs站点服务器分布', subtext: '平台组', x:'center' }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: { orient : 'vert

JavaScript---手机端--页面自适应

在公司新学了一种页面自适应的方式: //等比缩放 !(function(doc, win) { var timer, docEle = doc.documentElement,//获取body evt = "onorientationchange" in window ? "orientationchange" : "resize",//获取手机旋转事件 setFontSize = function() { var width = docEle.

背景图片自适应分辨率浏览器大小自动拉伸全屏代码

<div id="web_bg" style="position:absolute; width:100%; height:100%; z-index:-1"> <img style="position:fixed;" src="http://a.lanyes.org/bg1.jpg" height="100%" width="100%" /> </div&