Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用calc缩放比例页面元素?_Jquery_Css_Google Chrome - Fatal编程技术网

Jquery 如何使用calc缩放比例页面元素?

Jquery 如何使用calc缩放比例页面元素?,jquery,css,google-chrome,Jquery,Css,Google Chrome,(这只需在Chrome中工作。) 我有一些代码: <div id="mainFrame"> ... <div id="content"> ... 但不幸的是,这并不算什么。我在Chrome中获得“无效属性值”。问题是,我不知道为什么。我知道我可以用某种jQuery来解决这个问题。。但我宁愿用纯CSS来做 如果我做错了什么,我怎么做才是对的?(同样,我的问题只针对Chrome) 如果由于某种原因不可能:为什么和在整个页面视图中,jQuery是如何保持#内容相对

(这只需在Chrome中工作。)

我有一些代码:

<div id="mainFrame">
...
   <div id="content">
   ...
但不幸的是,这并不算什么。我在Chrome中获得“无效属性值”。问题是,我不知道为什么。我知道我可以用某种jQuery来解决这个问题。。但我宁愿用纯CSS来做

  • 如果我做错了什么,我怎么做才是对的?(同样,我的问题只针对Chrome)
  • 如果由于某种原因不可能:为什么在整个页面视图中,jQuery是如何保持
    #内容
    相对于视口的大小的
  • 编辑:我不再需要#2的jQuery,我找到了它:

    $(document).ready(resizeContent);
    $(window).resize(resizeContent);
    
    function resizeContent() {
      var res = $(window).width()/(859 * 1.2);
      $("#content").css({'zoom': res});
    }
    
    出于某种原因,使用
    859*(1/0.9)
    并不像我想象的那样有效。。。但这就足够了


    所以只要解释一下就可以了。

    正确的方法是:变换:缩放(XX),缩放适用于较旧的IE。calc()在此环境中不可用case@GCyrillus-我不知道你说的“正确的方式”是什么意思。我没有使用IE,我想你的意思是IE有自己的做事方式。然而,我查找了
    转换
    ,发现chrome的正确格式是
    -webkit-transform
    类似
    -webkit-transform:scale(calc(90vw/859px)),但这不起作用。我的意思是缩放是IE规则,即现在的变换:scale();。(您可以使用javascript作为规则的前缀)转换只能是一个数值。这将工作宽度:90%;变换:比例(0.859);但这不是你的解决方案吗?你是对的,这不是我的解决方案。首先,我根本不使用IE,对为这个项目更改浏览器没有兴趣。第二,正如您所注意到的,
    transform:scale
    似乎在任何方面都不支持
    calc
    。calc()将返回一个带有单位的值,scale只接收数字,与calc()返回的结果不兼容。你的CSS使用了zoom,这不是VLIDCSS规则,它是一个旧的CSS值。我相信某些版本的IE既懂缩放也懂缩放(8或9)。。。无论如何,javascript是这类东西的搭档:)
    $(document).ready(resizeContent);
    $(window).resize(resizeContent);
    
    function resizeContent() {
      var res = $(window).width()/(859 * 1.2);
      $("#content").css({'zoom': res});
    }