我有以下代码:
<html>
<head>
<style type="text/css">
DIV#left
{
z-index: 100;
position:absolute;
left:0px;
top:0px;
width: 100px;
height: 100px;
background-color: #e7e7e7;
}
DIV#right
{
z-index: 100;
position:absolute;
left:100px;
top:0px;
width: 100px;
height: 100px;
background-color: #e20074;
}
</style>
</head>
<body>
<div id="left">
1
</div>
<div id="right">
2
</div>
</body>
</html>
但我需要将正确的div部分扩展到页面的末尾(宽度= 100%) 所以这就是我改变DIV#right的宽度的方法:
width: expression(parseInt(document.body.offsetWidth)-100);
不幸的是,这不再适用于IE了! IE8和firefox忽略表达式。我怎样才能克服这个问题?
非常感谢提前!
答案 0 :(得分:1)
你不应该使用那样的CSS表达式 - 它们是慢的,旧的,最重要的是专有的,这意味着它不适用于除IE以外的任何东西。
这是一个适用于Firefox,IE8和IE7的简单解决方案[但不适用于IE6]:给出正确div
一个right: 0
以迫使div
一直扩展到页面末尾:
#right {
position: absolute;
left: 100px;
top: 0;
right: 0;
height: 100px;
}
请参阅:http://jsfiddle.net/hEeVY/
如果您使用任何的表达式,最好使用Javascript来达到相同的效果。
答案 1 :(得分:0)
是的,CSS表达式很慢,它们会影响性能。与他们一起,他们也妥协安全。易江指定的解决方案必须有效。
现在所有浏览器都会使用相同的条款。要了解更多关于表达式被删除的原因,请查看http://techbookshelf.blogspot.in/2012/11/css-expressions-in-ie8-and-higher.html