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