我想基于CSS表达式设置div的高度。
基本上,应将其设置为 我尝试过以下操作的视口 宽度的 某些百分比(例如90%),但不起作用;
height:expression(document.documentElement.clientWidth ? document.documentElement.clientWidth : window.innerWidth );
我正在寻找一种跨浏览器的方式(IE7 +,FF4 +,Safari)
除IE之外,CSS表达式均不受支持(即使在那里也被认为是一个坏主意)。
但是,实际上并没有其他方法可以完成您要问的事情,至少不仅仅使用CSS。
唯一的选择是使用Javascript,这是我认为您必须要做的。
实际上,IE的CSS表达式本身就是Javascript,它可以使用功能强大的表达式,但也具有消除布局和脚本抽象的负面影响。这就是为什么它们不被接受的原因,但是在像您这样的用例中,纯布局需要某种形式的表达。
就像我说的那样,CSS现在真的没有任何答案。
未来可能会有希望,因为Google目前正在尝试对CSS进行一些增强,其中包括变量。但是,我不确定这是否还会允许您使用所需的表达式。
因此,将来可能需要继续使用Javascript。无论哪种方式,它现在肯定都可以。